2015-04-26 81 views
2

我已經導出了一個Oracle 11g數據庫(完整)的實例而不關閉它,只發現有400多個表丟失(未導出)。 此數據庫由應用程序使用,可能有用戶。Oracle數據庫導出缺少表

我使用的命令是

exp [email protected] FULL=y FILE="C:\backup.dmp" GRANTS=y ROWS=y log="C:\backup.log" 

會不會將其關閉出口,使其跳過所有這些表之前?

+0

什麼是您用來導出數據庫的** exact **命令? –

+0

@a_horse_with_no_name 我使用的命令是: exp SYSTEM @ db1 FULL = y FILE =「C:\ backup.dmp」GRANTS = y ROWS = y log =「C:\ backup.log」 – AuthenticReplica

+0

無法導出當數據庫關閉時,你如何分析表(400+)缺失? – anudeepks

回答

1

exp不理解deferred segment creation,可能並不包括這些表:

select owner, table_name from dba_tables where segment_created = 'NO' order by 1, 2; 

您是否嘗試過expdp呢? exp已在10g中棄用,但新工具存在錯誤,解決方法通常是使用exp。如果你確實需要使用exp,那麼你可能需要在表上運行此命令:

alter table unexported_table allocate extent; 
0

我有同樣的問題。在我的情況下,問題是表空間沒有更多的可用空間(並且沒有自動擴展)。

的解決方案是使用下面的命令,以增加表空間大小

ALTER DATABASE DATAFILE '../stuff01.dbf' RESIZE 100M;

查看此link瞭解更多詳情。

RECOMENDATIONS

  • 使用AUTOEXTEND ON的表空間。
  • 將來使用expdp和impdp命令以便在日誌中獲得更多詳細信息。