前两天同事打电话来说在一个有catalog库的数据库中,做crosscheck时候报错:
ORA-19587: error occurred reading 512 bytes at block number 1
ORA-27091: skgfqio: unable to queue I/O
ORA-27072: skgfdisp: I/O error
SVR4 Error: 2: No such file or directory
Additional information: 1
开始怀疑是系统目录或者文件出问题了,经过检查没有发现异常,目录可读可写,归档文件也都在,后经查找metalink,说明如下:
RMAN CROSSCHECK ARCHIVELOG ALL fails: Ora-19587: Error Occurred Reading 1024 Bytes At Block Number 1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of crosscheck command on ORA_MAINT_DISK_1 channel at
06/29/2006 18:45:56
ORA-19587: error occurred reading 1024 bytes at block number 1
ORA-27091: unable to queue I/O
ORA-27069: attempt to do I/O beyond the range of the file
CauseOne of the archivelogs is not the expected size.
You can confirm this by checking by getting a debug trace:
rman target / trace rman.trc debug
RMAN>crosscheck archivelog all;
Trace file is generated in target udump directory and shows:
DBGPLSQL: channel ORA_MAINT_DISK_1: processing (file/handle=
/odsprd/archive2/log_2_25283_550106137.arc,recid=81233, old_status=A,
hdl_isdisk=0, devicetype=DISK) (change)
DBGPLSQL: channel ORA_MAINT_DISK_1: force: 0 (change)
DBGRPC: krmxrpc: xc=6917529027646298352 kpurpc2 rc=19587 db=target proc=
DBMS_BACKUP_RESTORE.VALIDATEARCHIVEDLOG
DBGRPC: krmxrpc: xc=6917529027646298352 chid=ORA_MAINT_DISK_1 increment rpc
count=21
DBGMISC: krmqexe: unhandled exception on channel ORA_MAINT_DISK_1
So the problem log is:
/odsprd/archive2/log_2_25283_550106137.arc and checking the physical file we find it is zeo bytes in length.
.SolutionDelete the log using an OS command and run the crosscheck again.
解决方法就是:打开rman trace找到一个异常大小的归档文件,删除该归档文件,然后try again即可。
ORA-19587: error occurred reading 512 bytes at block number 1
ORA-27091: skgfqio: unable to queue I/O
ORA-27072: skgfdisp: I/O error
SVR4 Error: 2: No such file or directory
Additional information: 1
开始怀疑是系统目录或者文件出问题了,经过检查没有发现异常,目录可读可写,归档文件也都在,后经查找metalink,说明如下:
RMAN CROSSCHECK ARCHIVELOG ALL fails: Ora-19587: Error Occurred Reading 1024 Bytes At Block Number 1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of crosscheck command on ORA_MAINT_DISK_1 channel at
06/29/2006 18:45:56
ORA-19587: error occurred reading 1024 bytes at block number 1
ORA-27091: unable to queue I/O
ORA-27069: attempt to do I/O beyond the range of the file
CauseOne of the archivelogs is not the expected size.
You can confirm this by checking by getting a debug trace:
rman target / trace rman.trc debug
RMAN>crosscheck archivelog all;
Trace file is generated in target udump directory and shows:
DBGPLSQL: channel ORA_MAINT_DISK_1: processing (file/handle=
/odsprd/archive2/log_2_25283_550106137.arc,recid=81233, old_status=A,
hdl_isdisk=0, devicetype=DISK) (change)
DBGPLSQL: channel ORA_MAINT_DISK_1: force: 0 (change)
DBGRPC: krmxrpc: xc=6917529027646298352 kpurpc2 rc=19587 db=target proc=
DBMS_BACKUP_RESTORE.VALIDATEARCHIVEDLOG
DBGRPC: krmxrpc: xc=6917529027646298352 chid=ORA_MAINT_DISK_1 increment rpc
count=21
DBGMISC: krmqexe: unhandled exception on channel ORA_MAINT_DISK_1
So the problem log is:
/odsprd/archive2/log_2_25283_550106137.arc and checking the physical file we find it is zeo bytes in length.
.SolutionDelete the log using an OS command and run the crosscheck again.
解决方法就是:打开rman trace找到一个异常大小的归档文件,删除该归档文件,然后try again即可。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/122290/viewspace-539693/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/122290/viewspace-539693/