簡體   English   中英

Oracle導出:表不存在

[英]Oracle export: table doesn't exist

我想在oracle 11g中導出數據

exp user/password file=dump.dmp tables = (table1)

通過sqlplus。

我收到以下錯誤:

即將通過常規路徑導出指定的表格...
EXP-00011:USER.TABLE1不存在
導出已成功終止並顯示警告。

但是,當我檢查誰是這個表的所有者時:

SELECT owner, table_name from dba_tables where table_name = 'TABLE1';

我得到TABLE1的所有者是USER

我該怎么做才能導出這張桌子?

UPDATE

實際上,我找到了解決方案。 我希望它會幫助別人。 從版本11g開始,Oracle引入了一種稱為延遲段創建的新功能。 因此,如果現在有行,oracle不會創建表段。 所以我重新創建了我的表,選項'segment creation immediate'

實際上,我找到了解決方案。 我希望它會幫助別人。 從版本11g開始,Oracle引入了一種稱為延遲段創建的新功能。 因此,如果沒有行,oracle不會創建表段。 而我的表格中沒有任何數據。 所以我重新創建了我的表,選項'segment creation immediate'

解決方案在這里找到。 有更多的選擇如何解決問題,並解釋為什么這件事恰好在oracle 11g中。 :)

除了Olivia發布的答案,我想添加一些代碼:

SELECT 'alter table ' ||  table_name || ' allocate extent;'
from dba_tables where SEGMENT_CREATED = 'NO';

再次執行輸出和exp。 將導出您的架構,包括空表。

編輯: 這里有類似的問題,也許你會在那里找到你的解決方案。

改變這個:

exp user/password file=dump.dmp tables = (table1);

對此:

exp user/password tables = (table1) file=dump.dmp;

您可以使用以下查詢從特定用戶獲取表級別導出。

exp user/password file=dump.dmp tables = user.table1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM