無法導出空表的解決辦法

最近在用ORACLE 11G 。對數據導出導入的時候發現一個問題:oracle 不會對無數據的空表進行導出。查資料發現,原來這種情況只出現在Oracle 11g 中,處理辦法如下:


  • sqlcommand:  alter system set deferred_segment_creation=false; 

    意思是禁止推遲創建表的段,也就是表創建後不管有沒有數據都要分配空間。該參數修改後對該時間點以前創建的表無用。所以還是要對以前的表分配空間。


  • sql:  Select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 or num_rows is null

    以上拼出來的SQL可以批量生成修改分配空間爲空的表。將查詢的結果執行以下即可。現在再進行EXP 或者  EXPDP 的導出命令就可以了


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章