Oracle11g新特性導致空表不能匯出
Oracle 11G在用EXP 匯出時,空表不能匯出解決
11G中有個新特性,當表無資料時,不分配segment,以節省空間
解決方法:
1、insert一行,再rollback就產生segment了。
該方法是在在空表中插入資料,再刪除,則產生segment。匯出時則可匯出空表。
2、設定deferred_segment_creation 引數
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
該引數值預設是TRUE,當改為FALSE時,無論是空表還是非空表,都分配segment。
需注意的是:該值設定後對以前匯入的空表不產生作用,仍不能匯出,只能對後面新增的表產生作用。如需匯出之前的空表,只能用第一種方法。
搞了我好久,最後查到這個方法。
先查詢一下當前使用者下的所有空表
select table_name from user_tables where NUM_ROWS=0;
用以下這句查詢空表
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0
把查詢結果匯出,執行匯出的語句
'ALTERTABLE'||TABLE_NAME||'ALLOCATEEXTENT;'
-----------------------------------------------------------
alter table AQ$_AQ$_MEM_MC_H allocate extent;
alter table AQ$_AQ$_MEM_MC_G allocate extent;
alter table AQ$_AQ$_MEM_MC_I allocate extent;
alter table AQ$_AQ_PROP_TABLE_T allocate extent;
alter table AQ$_AQ_PROP_TABLE_H allocate extent;
alter table AQ$_AQ_PROP_TABLE_G allocate extent;
alter table AQ$_AQ_PROP_TABLE_I allocate extent;
alter table AQ$_KUPC$DATAPUMP_QUETAB_T allocate extent;
alter table AQ$_KUPC$DATAPUMP_QUETAB_H allocate extent;
alter table AQ$_KUPC$DATAPUMP_QUETAB_G allocate extent;
alter table AQ$_KUPC$DATAPUMP_QUETAB_I allocate extent;
'ALTERTABLE'||TABLE_NAME||'ALLOCATEEXTENT;'
-----------------------------------------------------------
alter table AQ$_SYS$SERVICE_METRICS_TAB_T allocate extent;
alter table AQ$_SYS$SERVICE_METRICS_TAB_H allocate extent;
alter table AQ$_SYS$SERVICE_METRICS_TAB_G allocate extent;
alter table AQ$_SYS$SERVICE_METRICS_TAB_I allocate extent;
然後再執行
exp 使用者名稱/密碼@資料庫名 file=/home/oracle/exp.dmp log=/home/oracle/exp_smsrun.log
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23071790/viewspace-702888/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle11g 空表不能exp匯出的問題Oracle
- oracle 11g 不能匯出空表Oracle
- Oracle11g使用exp匯出空表(轉載)Oracle
- Oracle 11g的exp不能匯出空表Oracle
- Oracle11g中用exp不能匯出空表,異構平臺遷移可以使用expdp、impdpOracle
- goldengate 觸發器導致oracle 表空間不能onlineGo觸發器Oracle
- Oracle11g用exp無法匯出空表的解決方法Oracle
- Oracle11g新特性之只讀表Oracle
- 解決Oracle 11g空表不能exp匯出的問題Oracle
- Oracle 11G用EXP時,空表不能匯出解決方法Oracle
- 資料庫表匯出不全導致tomcat無法釋出程式資料庫Tomcat
- 軟體版本不同導致配置資訊不能匯入
- Oracle11g新特性影響EXP匯出,ORA-01455的處理Oracle
- ORA-1652 臨時表空間滿了導致新會話資料不能入庫診斷案例會話
- Oracle 11g 預設不給空表分配空間,exp匯出備份不匯出空表!Oracle
- Oracle 11g匯出空表Oracle
- Oracle 18c新特性詳解 - 表和表空間相關的新特性Oracle
- Oracle - 匯入異常ORA-01659和11G在Exp時空表不能匯出Oracle
- 10G 新特性系列: SYSAUX 表空間UX
- OracleDatabase——資料庫表空間dmp匯出與匯入OracleDatabase資料庫
- Oracle建立使用者、表空間、匯入匯出、...命令Oracle
- 將oracle11g的表匯出並匯入到10g中Oracle
- imp 匯入 FK (Foreign Key) 導致資料不能正確匯入處理
- Oracle11g新特性之editionOracle
- AWR不自動刪除導致SYSAUX表空間滿UX
- MySQL 8.0表空間新特性簡單實驗MySql
- 10g新特性——表空間重新命名
- oracle10G新特性之資料泵匯出/匯入Oracle
- [oracle]undo表空間出錯,導致資料庫例項無法開啟Oracle資料庫
- Oracle匯出空表(從來都沒有用過的表)Oracle
- Oracle Database 10g新特性-高速的匯出/匯入Data PumpOracleDatabase
- undo表空間出現壞塊導致資料庫重啟問題解決資料庫
- MySQL 5.7新特性之線上收縮undo表空間MySql
- 【11g新特性】Oracle 加密表空間-可下載Oracle加密
- 10g ORACLE_HOME空間滿導致SYSAUX表空間離線OracleUX
- 物化檢視匯出匯入可能導致物化檢視日誌的失效
- Flash Recovery Area空間不足導致資料庫不能開啟或hang住資料庫
- UNDO表空間損壞導致資料庫無法OPEN資料庫