Oracle11g用exp無法匯出空表的解決方法
解決辦法
解決該問題有2個辦法。
辦法1——設定deferred_segment_creation引數
SQL> show parameter deferred_segment_creation
NAME TYPE VALUE
-------------------------- ----------- ----------
deferred_segment_creation boolean TRUE
SQL> alter system set deferred_segment_creation=false;
系統已更改。
SQL> show parameter deferred_segment_creation
NAME TYPE VALUE
-------------------------- ----------- -----------
deferred_segment_creation boolean FALSE
注意:
(1)該引數預設值是TRUE,改為FALSE後,無論空表或非空表,都分配segment;
(2)該辦法只能對修改引數後新增的表起作用,對之前已經匯入的表不產生作用,只能透過下面一種辦法解決問題。
辦法2——Insert一行,再rollback使其產生segment
該辦法就是在空表中插入資料再刪除,使其產生segment,備份資料庫時就能匯出空表。
但是這個辦法有個缺點,當資料庫中存在多個、且不確定數目的空表時,處理的工作量大,不能確保所有的空表都能處理完全。
因此結合這個解決辦法以及資料的實際情況,建議採用下面的操作。
(1)首先,查詢當前使用者下的所有空表;
注意是當前使用者!就是說不同使用者/方案的空表需要在備份資料庫時一併匯出的話,需要逐個、分別執行這一操作。
查詢語句:
select table_name from user_tables where NUM_ROWS=0;
(2)執行以下語句,把查詢結果匯出,再執行匯出的語句
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;
查詢結果例如:
alter table JBNTBHPK_H_320502 allocate extent;
alter table JBNTBHTB_H_320502 allocate extent;
alter table JBNTBHPK_H_320202 allocate extent;
alter table JBNTBHTB_H_320202 allocate extent;
alter table JBNTBHPK_H_320402 allocate extent;
(3) 最後,再用exp匯出資料庫,此時空表可以一併匯出。
Author:NEAL
DATE:2015-06-03
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29812844/viewspace-1878484/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 11gR2 用exp無法匯出空表解決方法Oracle
- Oracle 11G用EXP時,空表不能匯出解決方法Oracle
- oracle11g 空表不能exp匯出的問題Oracle
- Oracle11g使用exp匯出空表(轉載)Oracle
- Oracle 11g無法匯出空表的解決方案Oracle
- oracle之EXP匯出表空間錯誤解決Oracle
- 解決Oracle 11g空表不能exp匯出的問題Oracle
- Oracle 11g的exp不能匯出空表Oracle
- expdp/impdp來解決exp/imp出現的錯誤並匯入指定表空間
- 在LINUX下用EXP匯出資料時出現EXP-00091錯誤的解決方法Linux
- Oracle 11g 預設不給空表分配空間,exp匯出備份不匯出空表!Oracle
- Oracle 11g 使用exp命令匯出表不全的解決方案Oracle
- 11g exp匯出時部分表導不出來的解決
- Exp匯出報錯EXP-00091分析解決
- Oracle11g中用exp不能匯出空表,異構平臺遷移可以使用expdp、impdpOracle
- Oracle11g新特性導致空表不能匯出Oracle
- 使用exp命令匯出報EXP-00008 和ORA-01455的解決方法
- 解決:ORACLE 11G使用exp無法導空出表問題Oracle
- 表空間滿的解決方法
- 【EXP】使用EXP的QUERY選項匯出表中部分資料
- Oracle跨版本匯出EXP-00003錯誤的解決()Oracle
- Oracle 11g 匯出空表解決辦法Oracle
- EXP--解決EXP-00091的方法
- EXP匯出ORA-01578(資料塊損壞)錯誤解決方法
- 資料庫升級後匯出報EXP-00056錯誤解決辦法資料庫
- EXP匯出資料檔名稱重複問題的解決
- UNDO表空間不足解決方法
- 解決0racle11G 匯出表的問題 EXP-00011: 不存在 .
- undo表空間不能回收的解決方法
- exp/imp匯出匯入工具的使用
- Oracle - 匯入異常ORA-01659和11G在Exp時空表不能匯出Oracle
- 解決EXP-00091的方法
- 解決split無法得到空字串問題字串
- EXP--解決EXP-00091的方法 (轉貼)
- EXP-00056: 遇到 ORACLE 錯誤 600 ORA-00600 EXP-00000: 匯出終止失敗 解決方法Oracle
- eclipse: workspace出錯導致無法啟用的解決Eclipse
- 資料泵無法匯出sys使用者下的表
- win10無法啟用Directplay如何解決_win10系統Directplay無法啟用的解決方法Win10