Oracle 11g R2版本使用exp命令匯出表不全的解決方案
阿新 • • 發佈:2018-11-13
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!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]