1. 程式人生 > >Oracle 11g R2版本使用exp命令匯出表不全的解決方案

Oracle 11g R2版本使用exp命令匯出表不全的解決方案

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               

前天在業務庫中匯出完整庫時,再匯入到新庫時發現部分表丟失。

看日誌後分析是部分空表沒有匯出。查google知,11G中新特性,當表無資料時,不分配segment,以節省空間。而使用exp命令時,無Segment的表不會被匯出。

解決方案:

http://wenku.baidu.com/view/7beb56f57c1cfad6195fa702.html

採取第三種:

先執行如下語句得出空表:

select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;



然後將執行結果複製到另一個SQL視窗,並執行類似的語句:

ALTER TABLE COMJARREF ALLOCATE EXTENT;ALTER TABLE COMSTORE ALLOCATE EXTENT
;ALTER TABLE DATASERVER ALLOCATE EXTENT;ALTER TABLE EIMP_COLUMNS ALLOCATE EXTENT;ALTER TABLE EIMP_TABLES ALLOCATE EXTENT;--...................................................................


然後再匯出,OK!

值得注意的是:這樣強制分配後,增加了200多個空表,匯出檔案從原來的101M變為102M,略有增加。

邀月工作室

邀月工作室

 

邀月注:本文版權由邀月和CSDN共同所有,轉載請註明出處。


助人等於自助!   [email protected]



           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述