執行EXP導出時,部分表提示 EXP-00011:表不存在錯誤,但是查詢user_all_tables視圖,此表確實是存在的,并且執行select語句也能成功,不過表為空表,查看權限等也沒有問題。后來通過查詢資料,發現問題是由Deferred Segment Creation參數引起的。
Deferred Segment Creation,延遲段創建,Oracle11gR2新增參數, 具體用處是當新創建一個可能會有Segment的對象時,如果這個對象中還沒有任何記錄需要消耗一個Extent,那么將不會在創建對象時自動創建Segment,這樣做的好處是在創建對象時大大提高了速度。但是這么一來,因為對象沒有Segment,執行EXP導出時,就會報EXP-00011錯誤。
SQL> show parameter DEFERRED_SEGMENT_CREATION
NAME TYPE VALUE
------------------------------------ -------------------- --------------------
deferred_segment_creation boolean TRUE
SQL> select segment_name from user_segments where segment_name='CF_TEMPLATE';
no rows selected
3.對于已經創建但是還沒有Segment的表來說,可以執行alter table XXX allocate extent來使其創建出 Segment,當然也可以插入一條數據,使其創建Segment