goldengate extract abended unable to queue I/O, I/O beyond file size
Applies to:
Oracle GoldenGate - Version: 10.4.0.99 and later [Release: 10.4.0 and later ]Information in this document applies to any platform.
Symptoms
extract that reads archived logs on ASM hits following error:Problem now occuring with a 1 Extract configuration. Extract abends with:
11864334 records processed as of 2010-07-21 02:56:02 (rate 102,delta 303)
2010-07-21 02:58:34.374 Redo thread 2: Online log +INDEX01/actppr/onlinelog/group_4.264.669999177 on sequence# 48708 has missing trailing blocks.
2010-07-21 02:58:52.752 Redo thread 2: Online log +INDEX01/actppr/onlinelog/group_4.264.669999177 on sequence# 48710 has missing trailing blocks.
2010-07-21 02:58:53.132 Redo thread 2: Corrupted data (non-ALO) in archived log +FLASH01/actppr/archivelog/2010_07_21/thread_2_seq_48710.1609.724906723 on sequence# 48710
2010-07-21 02:59:05.717 Redo thread 2: Failed to read in more data from log +FLASH01/actppr/archivelog/2010_07_21/thread_2_seq_48710.1609.724906723 on sequence# 48710
2010-07-21 02:59:18.654 Redo thread 2: Failed to read in more data from log +FLASH01/actppr/archivelog/2010_07_21/thread_2_seq_48710.1609.724906723 on sequence# 48710
212146455571218590 Redo Thread 2: thread abend: REDO_read_transaction( 1, (nil), Reading ASM file +FLASH01/actppr/archivelog/2010_07_21/thread_2_seq_48710.1609.724906723, SQL
212146455571218590 Redo Thread 2: ORA-17510: Attempt to do i/o beyond file size
212146455571218590 Redo Thread 2: ORA-06512: at "SYS.X$DBMS_DISKGROUP", line 124
212146455571218590 Redo Thread 2: ORA-06512: at line 1 )-> 500
2010-07-21 02:59:31 GGS ERROR 190 Reading ASM file +FLASH01/actppr/archivelog/2010_07_21/thread_2_seq_48710.1609.724906723, SQL
ORA-17510: Attempt to do i/o beyond file size
ORA-06512: at "SYS.X$DBMS_DISKGROUP", line 124
ORA-06512: at line 1.
Cause
There can be 2 causes for this error:1. ASM diskgroup is frequently mounted and dismounted, which makes the ASM diskgroup temporarily unavailable.
2. When extract is processing archived log, extract waits for the log to be completely written out before starting to processing them. However if extract could not validate this via check on the block header from very last block and file size is not increasing, then extract abends after a wait of about 10 seconds.
Solution
Based on the cause, following solution/workaround may be used:1. Check database alert.logs. If there are many mounted and dismounted messages for the ASM diskgroup, this is likely a known issue particularly in an environment where multiple database are being supported where when an archive log is written then we dismount the diskgroup. If another environment tries to access the diskgroup while it is being dismounted we get errors. A small dummy tablespace in the related diskgroup may be created. This will then prevent the diskgroup from constantly being mounted and dismounted. This will then eliminate the possibility for this to be the cause.
e.g, CREATE TABLESPACE dummy DATAFILE '+FLASH01' SIZE 10M;
In this way there is always a file open in the diskgroup and therefore it will not be repeatedly mounted and dismounted.
2. If the above is not the cause of the problem, following parameter may be used:
"TRANLOGOPTIONS COMPLETEARCHIVEDLOGTIMEOUT 600 "
When extract is processing archived log, extract would wait for the log to be completely written out before it start processing them. However if extract could not validate this via check on the block header from very last block and file size is not increasing, then extract would abend after a wait of about 10 seconds. The parameter "COMPLETEARCHIVEDLOGTIMEOUT" is to be followed by integer number to indicate the number of seconds to wait.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7199859/viewspace-708922/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [Oracle Script] check File I/OOracle
- 等待事件:Disk file operations I/O事件
- Veritas Quick I/O and Cached Quick I/OUI
- ORA-27069: skgfdisp: attempt to do I/O beyond the range of the file問題解決
- 計算機I/O與I/O模型計算機模型
- I/O埠和I/O記憶體記憶體
- Java I/OJava
- Java(8)I/OJava
- 【java】I/O流Java
- Java I/O流Java
- 檔案I/O
- I/O基礎
- java的I/OJava
- c++ I/OC++
- db file async I/O submit 等待事件優化MIT事件優化
- db file async I/O submit 等待事件說明MIT事件
- Python教程:精簡概述I/O模型與I/O操作Python模型
- Direct I/O (DIO) and Concurrent I/O (CIO) on AIX 5LAI
- WARNING:Could not increase the asynch I/O limit to 164 for SQL direct I/OMITSQL
- 【面試】I/O 複用面試
- Java 非同步 I/OJava非同步
- 網路I/O模型模型
- 系統級 I/O
- JAVA I/O系統Java
- GDAL並行I/O並行
- 優化磁碟I/O優化
- 02. I/O 操作
- 安裝GRID時跑root.sh指令碼報錯(ORA-27091: unable to queue I/O)指令碼
- WARNING:Could not lower the asynch I/O limit to 160 for SQL direct I/O.MITSQL
- expdp匯出時卡死 Could not increase the asynch I/O limit to for SQL direct I/OMITSQL
- 從資料庫層面理解:隨機 I/O & 順序 I/O資料庫隨機
- WARNING:Could not increase the asynch I/O limit to 224 for SQL direct I/O.MITSQL
- Java I/O系統學習系列一:File和RandomAccessFileJavarandomMac
- db file async I/O submit等待事件的故障診斷MIT事件
- Linux下的5種I/O模型與3組I/O複用Linux模型
- not set asynch I/O limit to nnnn for SQL directo I/O.It is set to 200_848859.1MITSQL
- 流?I/O 操作?阻塞?epoll?
- python 非同步 I/OPython非同步