oracle11g的新特性,資料條數是0時不分配segment,所以就不能被匯出。
解決方法:
1插入一條資料(或者再刪除),浪費時間,有時幾百張表會累死的。
2建立資料庫之前
使用**:
sql**
alter system set deferred_segment_creation=false;
調整再建表
這兩種方都不好
下面是終極方法:
先查詢一下哪些表是空的:
sql**
select table_name from user_tables where num_rows=0;
下面我們通過select 來生成修改語句:
sql**
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0
然後就在結果視窗裡面生成了下面那些東西:
sql**
alter table e2user_state allocate extent;
alter table enterprise_e2user allocate extent;
alter table enterprise_info_type allocate extent;
alter table enterprise_mapmark allocate extent;
alter table enterprise_needtask allocate extent;
alter table enterprise_picture allocate extent;
alter table enterprise_report allocate extent;
alter table enterprise_report_type allocate extent;
alter table enterprise_team allocate extent;
alter table fromuser_adjunct_target allocate extent;
alter table fromuser_offer allocate extent;
alter table needtask_type allocate extent;
alter table sys_privilege allocate extent;
alter table sys_relevance_resource allocate extent;
alter table sys_relevance_target allocate extent;
alter table sys_resource_type allocate extent;
alter table task_feedback allocate extent;
alter table task_mytasktype allocate extent;
alter table touser_message allocate extent;
alter table aboutuser_point allocate extent;
alter table aboutuser_point_mark allocate extent;
alter table aboutuser_querykey allocate extent;
alter table aboutuser_report_history allocate extent;
alter table dict_comment_type allocate extent;
alter table dict_industry_type allocate extent;
alter table dict_post allocate extent;
alter table dict_region allocate extent;
alter table enterprise_comment allocate extent;
alter table enterprise_comment_c allocate extent;
alter table enterprise_info allocate extent;
alter table enterprise_info_c allocate extent;
alter table enterprise_info_state allocate extent;
alter table calendar_createtype allocate extent;
alter table calendar_my allocate extent;
alter table calendar_type allocate extent;
ok 執行上面那些sql,之後再exp吧,那就是見證奇蹟的深刻。
oracle11g匯出空表
該引數意思是當建立物件 如表 初始時沒有資料,是否立即建立segment。預設是true。這會導致在按使用者匯出時,沒有segment的物件不會匯出。首先執行下面的語句 select alter table table name allocate extent from user tables wh...
oracle 11g匯出空表
oracle 11g 用exp命令匯出庫檔案備份時,發現只能匯出來一部分表而且不提示錯誤,之前找不到解決方案只能把沒匯出來的表重新建建立。後來發現是所有的空表都沒有匯出來。於是想好好查查,因為在以前的10g版本中沒有這樣的問題。查資料發現oracle 11g中有個新特性 新增了乙個引數 deferr...
oracle11g匯出空表
這意味著,當你建立乙個物件引數 如表 起初沒有資料。是否立即建立segment。預設值是true。這會導致使用者在匯出時,否segment該物件不出口。首先執行以下的語句 select alter table table name allocate extent from user tables w...