Oracle 11g中有個新特性:新增了一個參數: ‘‘deferred_segment_creation’’:意思是段延遲創建,預設是True。 參數為True的話,你新建張table1表,並且沒有插入數據,oracle不會向這個表分配extent,也就是不占用空間,也不分配segment,所以表 ...
Oracle 11g中有個新特性:新增了一個參數:
‘‘deferred_segment_creation’’:意思是段延遲創建,預設是True。
參數為True的話,你新建張table1表,並且沒有插入數據,oracle不會向這個表分配extent,也就是不占用空間,也不分配segment,所以表就沒有導出來。
在系統表all_tables中有個欄位segment_treated的欄位值是 YES 或 NO,來確定表是否分配了segment,說白了就是占用少量的空……
解決方法:
1.設置deferred_segment_creation參數:
在sqlplus中執行如下命令:
SQL>alter system deferred_segment_creation = false;
查看:SQL>Show parameter deferred_segment_creation ;
註意:該值設置後只對以後新增的表起作用,之前建立的空表(已經存在的空表)不起作用,仍不能導出。
2.使用allocate extent可以導出已經存在的空表
select 'alter table'||table_name| allocate extent;| from all_tables;
交流+qq:3532774632