在oracle導出表的命令exp時候發現一個問題,就是部分表完全的導不出來,經檢查發現只要是表為空的都會導不出來。
在如下表中發現segment_created都為NO的是導不出來的,經查詢後,將語句提取出來執行即可。
select 'alter table '|| table_name ||' allocate extent;'
from user_tables where segment_created='NO';
alter table table allocate extent;
備注:在11g中有一個特性就是參數deferred_segment_creation,默認是true的,表示段延遲創建。當創建一個新的表,並且該表還沒有數據的情況
下,該表是不會分配extent的,所以說該表不占數據空間,此時沒有分配segment,導致exp導不出來。因此,根據上述方法,查詢user_tables表,如果segment_created為NO的,說明該表沒有分配segment,查詢出來執行下即可。