Oracle導出表提示表不存在解決方法


通過exp導出表數據,遇到提示表不存在,但是該表是實際存在的。

查資料發現這是Oracle11g版本以后系統新增一個參數【deferred_segment_creation】,該參數控制是不分配segment給新建的空表或者導入的空表,默認是true

如果創建了空表或通過imp命令導入了空表,用exp導出空表就會提示表不存在。

最直接的解決辦法是,修改參數set deferred_segment_creation=false,但是通過修改該參數並不能給以存在的空表分配segment。

alter system set deferred_segment_creation=false;  

如果表中已存在空表,則需要手動分配segment

alter    table   表名   allocate   extent;

如果空表很多的情況下,查詢存在的空表,並批量執行修改語句

select ' alter table  '|| table_name || ' allocate extent;'  
from user_tables where segment_created='NO';

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM