前天在業務庫中匯出完整庫時,再匯入到新庫時發現部分表丟失。
看日誌後分析是部分空表沒有匯出。查google知,11g中新特性,當表無資料時,不分配segment,以節省空間。而使用exp命令時,無segment的表不會被匯出。
那麼處理方案是為空表分配segment
如何分配segment:
先執行如下語句得出空表,同時生成如何分配segment的sql:
select查詢到的結果如下:'alter table
'||table_name||
'allocate extent;
'from user_tables where num_rows=
0
然後將執行結果複製到另乙個sql視窗,並執行,分配segment.然後可以執行imp
altertable
qrtz_cron_triggers allocate extent;
alter
table
qrtz_job_listeners allocate extent;
alter
table
qrtz_paused_trigger_grps allocate extent;
alter
table
qrtz_trigger_listeners allocate extent;
alter
table
unit_common_department allocate extent;
alter
table
unit_common_user allocate extent;
alter
table
unit_department_user allocate extent;
alter
table
mt_notice allocate extent;
alter
table
mt_tenant_gz_user allocate extent;
alter
table
msg_short_message allocate extent;
alter
table
msg_mas_config allocate extent;
alter
table
cd_read_marker allocate extent;
alter
table
exchange_log allocate extent;
alter
table
qrtz_blob_triggers allocate extent;
alter
table
qrtz_calendars allocate extent;
alter
table
mt_notice_content_info allocate extent;
alter
table
wf_gz_data_sync allocate extent;
alter
table wf_gz_data_sync_his allocate extent;
Oracle空表無法匯出的解決方法
由於oracle 11g的新特性,表資料如果為空,則延遲分配表空間,所以匯出的資料不全 1 設定立刻分配表空間 設定後,後續新增的表即使沒有資料會自動建立表空間,不再延遲建立 alter system set deferred segment creation false 2 查詢當前使用者下的所有...
oracle11g無法匯出空表問題
產生原因 oracle11g為了節約空間,對空表不分配segment 解決方法 方法1.用如下語句設定空表可匯出 alter system set deferred segment creation false注意 該值設定後需重新啟動資料庫,讓引數生效。並且該值只對後面新增的表產生作用,對之前建立...
oracle 匯出空表
資料庫備份 空表不能匯出的問題處理 設定deferred segment creation 引數 設定deferred segment creation 引數為false來禁用 段推遲建立 也就是直接建立segment 無論是空表還是非空表,都分配segment。在sqlplus中,執行如下命令 s...