1. 程式人生 > >Oracle匯出dmp檔案,Oracle11g匯出dmp有空表

Oracle匯出dmp檔案,Oracle11g匯出dmp有空表

Oracle11g匯出dmp有空表

今天在用plsql匯出dmp的時候命令列輸出有些表顯示沒有匯出成功,查了下這些表發現都是空表,也就是說plsql在匯出這些表的時候空表是不匯出的。經過查詢,以下為解決方案:

1 首先使用下面的sql語句查詢一下當前使用者下的所有空表(語句不用修改)

select table_name from user_tables where NUM_ROWS=0;

2 然後用以下SQL語句執行查詢(語句不用修改)

select 'alter table '||table_name||' allocate extent;' from user_tables where
num_rows=0

3 把上一步得到的查詢結果,如:
alter table T_CF_EX_TEMPLATE allocate extent;
這樣的sql執行一遍即可。

原因應該是Oracle在判斷出這些表是空表後為了節約空間,就不為他們做匯出了。這時候需要讓segment知道有新的表