使用expdp匯出資料,報ORA-01691表空間不足錯誤
客戶叫我們幫助他做一個資料庫的遷移,資料庫本身不大,檔案大小約200g,匯出來的資料庫也就60多個g,並且給了一個比較長的停機時間,所以我們選擇採用expdp、impdp的方式進行
[oracle@mytest myerp]$ nohup ./scmexpdp.sh > myerplog.log &
[oracle@mytest myerp]$ more myexplog.log
檢視日誌,還比較順利,很快到了開始匯出的時候了
Export: Release 10.2.0.5.0 - 64bit Production on Saturday, 22 March, 2014 19:50:47
Copyright (c) 2003, 2007, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining Scoring Engine
and Real Application Testing options
Starting "SYSTEM"."SYS_EXPORT_SCHEMA_01": system/****** DIRECTORY=myexpdp schemas=myerp1,myerp2 dumpfile=myerp_%U.dmp filesize=20480m logfile=myerp0318.log PARALLEL=4
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 62.24 GB
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
[oracle@mytest myerp]$ tail -f myexplog.log
在後臺,我也觀察一下檔案的變化。日誌沒有動靜,檔案大小也沒有動靜,大概過了10分鐘仍然沒有動靜,於是我又賴著性子等了一下,還是沒有動靜,感覺挺奇怪的,檢查語句確實沒有問題,為什麼會這樣,正在猶豫的時候,匯出日誌檔案突然出現了以下錯誤:
ORA-39171: Job is experiencing a resumable wait.
ORA-01691: unable to extend lob segment SYSTEM.SYS_LOB0000665077C00039$$ by 61446 in tablespace SYSTEM
這個時候報出了,有一個lob欄位因為擴充套件失敗,導致工作掛起,我用的system使用者來導數的,所以報的是system表空間不足。這時候,對問題進行檢查:
SQL> select tablespace_name,sum(bytes/1024/1024/1024) gbytes from dba_free_space where tablespace_name = 'SYSTEM' group by tablespace_name;
TABLESPACE_NAME GBYTES
------------------------------ ----------
SYSTEM 0.03298889
從這裡看,由於system可能存在一些碎片的情況,無法找到一個連續的空間也很正常。由於匯出的時候,會生成一個表SYS_EXPORT_SCHEMA_01,這個表主要是記錄一些匯出的任務資訊等內容,其本向大小也就100多m,但是透過查詢發現,本表有一個lob欄位,已經到了1.2g
SQL> select l.owner,
2 l.table_name,
3 l.segment_name,
4 s.bytes/1024/1024/1024 gbytes
5 from dba_lobs l,
6 dba_segments s
7 where l.table_name like 'SYS_EXPORT_SCHEMA%' and
8 l.table_name = s.segment_name;
OWNER TABLE_NAME SEGMENT_NAME GBYTES
------------------------------ ------------------------------ ------------------------------ ----------
SYSDB SYS_EXPORT_SCHEMA_01 SYS_LOB0000665077C00039$$ 1.2479325
可以看到lob欄位已經比較大了,並且還在擴張。
出現這種情況,也比較正常,比如說匯出的內容挺多,需要記錄到這個表中,導致這個lob段不斷的擴充套件!
解決辦法就是擴充套件system表空間
SQL> select file_name,bytes from dba_data_files where tablespace_name = 'SYSTEM';
FILE_NAME BYTES
---------------------------------------------------------------
/u01/app/oracle/oradata/myerp/system01.dbf 2147483648
SQL> alter database datafile '/u01/app/oracle/oradata/myerp/system01.dbf' resize 4096m;
將檔案擴充套件到4g後,expdp任務繼續進行。最後,我透過後臺檢視,這個lob段最終擴充套件到了1.6g!任務完成!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29371470/viewspace-1128142/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- expdp/impdp來解決exp/imp出現的錯誤並匯入指定表空間
- oracle之EXP匯出表空間錯誤解決Oracle
- ORA-01691 資料庫表空間佔滿資料庫
- expdp匯出表的部分資料
- dbca靜默silent建立資料庫_空間不足出錯資料庫
- OracleDatabase——資料庫表空間dmp匯出與匯入OracleDatabase資料庫
- 使用EXPDP/IMPDP匯入匯出表中資料/後設資料測試
- expdp 使用QUERY 匯出部分資料。
- 錯誤新增表空間的資料檔案
- 【傳輸表空間】使用 EXPDP/IMPDP工具的傳輸表空間完成資料遷移
- oracle expdp、impdp匯入從原表空間更換到其他表空間 ----匯入到另個表空間測試Oracle
- 【傳輸表空間】使用 EXPDP/IMPDP工具的傳輸表空間完成資料遷移[轉]
- 記一次 oracle expdp 匯出錯誤Oracle
- 使用資料泵工具expdp工具匯出資料
- 使用IMP將資料匯入指定的表空間
- Oracle建立使用者、表空間、匯入匯出、...命令Oracle
- expdp中使用include或者exclude匯出資料
- Oracle使用資料泵expdp,impdp進行資料匯出匯入Oracle
- 【資料庫資料恢復】磁碟空間不足導致sql server錯誤的資料恢復資料庫資料恢復SQLServer
- 使用expdp匯出分割槽表中的部分分割槽資料
- expdp遠端匯出資料
- Oracle expdp匯出多表或表中的部分資料Oracle
- 【資料泵】EXPDP匯出表結構(真實案例)
- 系統空間不足產生ORA-1錯誤
- expdp/impdp 遷移表空間
- Oracle資料泵匯出匯入(expdp/impdp)Oracle
- 使用中undo表空間資料檔案被誤刪
- Oracle使用資料泵在異機之間匯出匯入表Oracle
- 把資料匯入到不同的表空間
- 如何把資料匯入不同的表空間
- impdp匯入資料後,system 表空間整理
- 資料庫泵(expdp/impdp)匯入匯出流程資料庫
- Oracle 傳輸表空間-EXPDP/IMPDPOracle
- 【EXPDP/IMPDP】使用 EXPDP/IMPDP工具“模糊”匯出和匯入
- 系統表空間IO錯誤 資料損壞處理一則
- Oracle 11g 預設不給空表分配空間,exp匯出備份不匯出空表!Oracle
- Oracle使用資料泵匯出匯入表Oracle
- MySQL 執行 Online DDL 操作報錯空間不足?MySql