儲存故障時的ORA-7445錯誤
今天由於儲存的磁碟故障,導致了一臺伺服器的DOWN機,沒想到Oracle在出現硬體錯誤的時候也會報ORA-7445錯誤。
在alert檔案中,可以找到下面的錯誤資訊:
Mon Jun 2 16:05:40 2008
Errors in file /u1/oracle/admin/repdb01/udump/repdb01_ora_8648.trc:
ORA-07445: exception encountered: core dump [00000001004530E8] [SIGBUS] [Object specific hardware error] [0x103319670] [] []
Mon Jun 2 16:05:40 2008
KCF: write/open error block=0x1557 nline=1
file=32 /data/oradata/repdb01/undo/UNDOTBS2_1.dbf
error=27063 txt: 'SVR4 Error: 5: I/O error
Additional information: -1
Additional information: 8192'
Mon Jun 2 16:05:40 2008
KCF: write/open error block=0x1558 nline=1
file=32 /data/oradata/repdb01/undo/UNDOTBS2_1.dbf
error=27063 txt: 'SVR4 Error: 5: I/O error
Additional information: -1
Additional information: 8192'
Mon Jun 2 16:05:41 2008
Errors in file /u1/oracle/admin/repdb01/bdump/repdb01_dbw2_540.trc:
ORA-07445: exception encountered: core dump [0000000101262540] [SIGBUS] [Object specific hardware error] [0x101262540] [] []
ORA-27063: Message 27063 not found; product=RDBMS; facility=ORA
SVR4 Error: 5: I/O error
Additional information: -1
Additional information: 8192
Mon Jun 2 16:05:42 2008
Errors in file /u1/oracle/admin/repdb01/bdump/repdb01_dbw0_536.trc:
ORA-07445: exception encountered: core dump [0000000101262540] [SIGBUS] [Object specific hardware error] [0x101262540] [] []
ORA-27063: Message 27063 not found; product=RDBMS; facility=ORA
SVR4 Error: 5: I/O error
Additional information: -1
Additional information: 8192
Mon Jun 2 16:05:42 2008
Errors in file /u1/oracle/admin/repdb01/bdump/repdb01_lgwr_544.trc:
ORA-00345: Message 345 not found; product=RDBMS; facility=ORA
; arguments: [840190] [2]
ORA-00312: Message 312 not found; product=RDBMS; facility=ORA
; arguments: [3] [1] [/data/oradata/repdb01/log/log3.ora]
ORA-27063: Message 27063 not found; product=RDBMS; facility=ORA
SVR4 Error: 5: I/O error
Additional information: -1
Additional information: 1024
Mon Jun 2 16:05:51 2008
Errors in file /u1/oracle/admin/repdb01/udump/repdb01_ora_8668.trc:
ORA-00449: Message 449 not found; product=RDBMS; facility=ORA
; arguments: [LGWR] [340]
ORA-00340: Message 340 not found; product=RDBMS; facility=ORA
Mon Jun 2 16:05:51 2008
Errors in file /u1/oracle/admin/repdb01/bdump/repdb01_lgwr_544.trc:
ORA-00340: Message 340 not found; product=RDBMS; facility=ORA
; arguments: [3] [1]
ORA-00345: Message 345 not found; product=RDBMS; facility=ORA
; arguments: [840190] [2]
ORA-00312: Message 312 not found; product=RDBMS; facility=ORA
; arguments: [3] [1] [/data/oradata/repdb01/log/log3.ora]
ORA-27063: Message 27063 not found; product=RDBMS; facility=ORA
SVR4 Error: 5: I/O error
Additional information: -1
Additional information: 1024
Mon Jun 2 16:05:51 2008
LGWR: terminating instance due to error 340
Instance terminated by LGWR, pid = 544
從錯誤資訊不難發現,問題出現在IO系統上,由於Oracle無法執行正常的IO操作,導致資料庫最終被LGWR程式中止。
先來看看集中錯誤資訊:
ORA-27063 skgfospo: number of bytes read/written is incorrect
Cause: The number of bytes read/written as returned by AIOWAIT does not match the original number, additional information indicates both these numbers.
Action: Check errno.
ORA-00345 redo log write error block string count string
Cause: An I/O error occurred while writing the log.
Action: Correct the cause of the error, and then restart the system. If the log is lost, apply media/incomplete recovery.
ORA-00340 IO error processing online log string of thread string
Cause: An I/O error occurred on the named online log.
Action: Restore accessibility to the file or restore the file from backup.
ORA-00312 online log string thread string: 'string'
Cause: This message reports the file name for details of another message.
Action: Other messages will accompany this message. See the associated messages for the appropriate action to take.
ORA-00449 background process 'string' unexpectedly terminated with error string
Cause: A foreground process needing service from a background process has discovered the process died.
Action: Refer to the message code given in the message and the trace file for the foreground and the background processes.
可以看到,這些錯誤都是和IO錯誤相關,更具體一點,基本上都是由於LGWR程式無法正確的寫入資料造成的。
而上面的7445錯誤就比較奇怪了,檢查一下ORA-7445對應的TRACE檔案:
bash-2.03$ more /u1/oracle/admin/repdb01/udump/repdb01_ora_8648.trc
/u1/oracle/admin/repdb01/udump/repdb01_ora_8648.trc
Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
ORACLE_HOME = /data/oracle/product/920
System name: SunOS
Node name: newreport
Release: 5.8
Version: Generic_117350-26
Machine: sun4u
Instance name: repdb01
Redo thread mounted by this instance: 1
Oracle process number: 16
Unix process pid: 8648, image: oracle@newreport (TNS V1-V3)
*** 2008-06-02 16:05:40.569
*** SESSION ID:(19.5476) 2008-06-02 16:05:40.303
Exception signal: 10 (SIGBUS), code: 3 (Object specific hardware error), addr: 0x103319670, PC: [0x1004530e8, 00000001004530E8]
*** 2008-06-02 16:05:40.572
ksedmp: internal or fatal error
ORA-07445: exception encountered: core dump [00000001004530E8] [SIGBUS] [Object specific hardware error] [0x103319670] [] []
Current SQL statement for this session:
SELECT DECODE(null,'','Total System Global Area','') NAME_COL_PLUS_SHOW_SGA, SUM(VALUE), DECODE (null,'', 'bytes','') FROM V$SGA
UNION ALL SELECT NAME NAME_COL_PLUS_SHOW_SGA , VALUE, DECODE (null,'', 'bytes','') FROM V$SGA
----- Call Stack Trace -----
calling call entry argument values in hex
location type point (? means dubious value)
-------------------- -------- -------------------- ----------------------------
Cannot read symbol name in /data/oracle/product/920/bin/oracle.
Cannot read symbol name in /data/oracle/product/920/bin/oracle.
Cannot read symbol name in /data/oracle/product/920/bin/oracle.
Cannot read symbol name in /data/oracle/product/920/bin/oracle.
ksedmp()+328 CALL ksedst()+0 FFFFFFFF7FFF4B40 ?
000000000 ? 000000000 ?
00000003E ?
FFFFFFFF7FFF53D8 ?
1031D56C8 ?
ssexhd()+604 CALL ksedmp()+0 000000000 ? 000103400 ?
0001035D9 ? 000102C00 ?
1035D9000 ? 1035D9C28 ?
sigacthandler()+44 PTR_CALL 0000000000000000 1035E1000 ?
FFFFFFFF7FFF6370 ?
000000000 ? 000000001 ?
1035DEDD8 ? 00000000A ?
00000001004530E8 PTR_CALL 0000000000000000 00000000A ?
FFFFFFFF7FFF6370 ?
FFFFFFFF7FFF6090 ?
00000000A ? 000000000 ?
004000000 ?
0000000000102C00 FRM_LESS 0000000000000000 000000000 ? 103319670 ?
000000008 ? 000000000 ?
000000000 ? 004000000 ?
prsgnt()+36 CALL 0000000100452520 1035D9E88 ? 1035E4398 ?
000000001 ? 000000003 ?
692FFEF58 ? 692FF0100 ?
00000001009C2488 CALL prsgnt()+0 6A1BA0538 ? 103319670 ?
0010F8000 ? 1035E12A8 ?
000000000 ? 000000043 ?
kkmfcbfx()+136 CALL 00000001009C21C0 000001200 ? 000001000 ?
000000000 ? 1035E4398 ?
1035D9FC8 ?
FFFFFFFF7CF5EDE8 ?
kkmpfcbk()+236 CALL kkmfcbfx()+0 FFFFFFFF7FFF80F0 ?
FFFFFFFF7CF5EDE8 ?
000000056 ? 000001200 ?
000001000 ? 000001000 ?
qcsprfro()+544 PTR_CALL 0000000000000000 FFFFFFFF7FFF80F0 ?
FFFFFFFF7CF5EDE8 ?
000000006 ? 000000000 ?
6A1BA0568 ? 000000000 ?
qcspafq()+140 CALL qcsprfro()+0 000000000 ? 000000043 ?
000000006 ? 1009C1D40 ?
000000000 ? 000000000 ?
qcspqb()+252 CALL qcspafq()+0 000000000 ? 000000000 ?
000000000 ?
FFFFFFFF7CF5EA80 ?
FFFFFFFF7FFF80F0 ?
FFFFFFFF7CF5EDE8 ?
Cannot read symbol name in /data/oracle/product/920/bin/oracle.
Cannot read symbol name in /data/oracle/product/920/bin/oracle.
Cannot read symbol name in /data/oracle/product/920/bin/oracle.
Cannot read symbol name in /data/oracle/product/920/bin/oracle.
Cannot read symbol name in /data/oracle/product/920/bin/oracle.
Cannot read symbol name in /data/oracle/product/920/bin/oracle.
Cannot read symbol name in /data/oracle/product/920/bin/oracle.
Cannot read symbol name in /data/oracle/product/920/bin/oracle.
Cannot read symbol name in /data/oracle/product/920/bin/oracle.
Cannot read symbol name in /data/oracle/product/920/bin/oracle.
Cannot read symbol name in /data/oracle/product/920/bin/oracle.
Cannot read symbol name in /data/oracle/product/920/bin/oracle.
qcspqb()+180 CALL qcspqb()+0 102DB1000 ? 102DB18C8 ?
FFFFFFFF7CF5EA80 ?
FFFFFFFF7FFF80F0 ?
FFFFFFFF7FFFA400 ?
6A1BA01E0 ?
qcspqb()+1080 CALL qcspqb()+0 102DB1000 ? 102DB18C8 ?
FFFFFFFF7CF5F140 ?
FFFFFFFF7FFF80F0 ?
000040040 ? 000000003 ?
00000001009BF1F0 CALL qcspqb()+0 000040000 ? 000000040 ?
FFFFFFFF7CF5DA18 ?
FFFFFFFF7FFF80F0 ?
000040000 ? 000000000 ?
opiSem()+1024 CALL 00000001009BF1C0 FFFFFFFF7FFFA400 ?
FFFFFFFF7CF5DA18 ?
000000000 ? 000000000 ?
00000000C ? 102DB0000 ?
0000000100FD6D80 CALL opiSem()+0 1035D9C28 ? 000000000 ?
000000000 ? 000000000 ?
FFFFFFFF7FFF8650 ?
6A1BA01E0 ?
0000000100ACC9E4 CALL 0000000100FD6CC0 FFFFFFFF7CF60490 ?
000000000 ? 6A1BA01E0 ?
000000000 ? 000000000 ?
000000000 ?
0000000100221BE0 PTR_CALL 0000000000000000 102DB0E08 ?
FFFFFFFF7FFFB330 ?
1035D9FC8 ? 000000000 ?
FFFFFFFF7CF690F0 ?
FFFFFFFF7FFFB330 ?
0000000100ACB3E4 CALL 0000000100221A60 69127B1E8 ? 0001035D9 ?
1035D9E50 ? 1035D9E88 ?
000000000 ? 103195000 ?
0000000101BC04CC PTR_CALL 0000000000000000 6B5DCCDA4 ? 6B5DCCD30 ?
FFFFFFFF7CF690F0 ?
6A1BA01E0 ? 1035E1EB4 ?
1035D9E88 ?
0000000101BBFB2C CALL 0000000101BC0220 102BE6B38 ? 69DB480A0 ?
69DB48060 ? 1035D9FC8 ?
000000001 ? 6A59570E8 ?
kglpim()+236 CALL 0000000101BBF640 008E7F1F7 ? 6B53D22D8 ?
000000001 ? 000000001 ?
1036EFF70 ? 000001098 ?
kglpin()+752 CALL kglpim()+0 000410000 ? 1035D9FC8 ?
102BE69E0 ? 000000006 ?
010010000 ? 6B53D22D8 ?
上面的資訊是這個ORA-7445錯誤的完整資訊,可以看到,由於IO出現了問題,導致ORA-7445錯誤很多的內容沒有記錄完全,連出錯的函式資訊都沒有記錄下來。
不過這裡還可以出錯的SQL語句,這個SQL語句其實是由於我當時正在SQLPLUS中執行SHOW SGA,而這個正好發生了硬體的故障,從而導致了這個7445錯誤的產生。
而錯誤資訊中的隨後的兩個ORA-7445錯誤,是Oracle的DBWR程式嘗試寫UNDO表空間的資料檔案時,出現了IO錯誤所引發的,其錯誤資訊摘要如下:
*** 2008-06-02 16:05:40.687
*** SESSION ID:(2.1) 2008-06-02 16:05:40.411
KCF: write/open error block=0x1558 nline=1
file=32 /data/oradata/repdb01/undo/UNDOTBS2_1.dbf
error=27063 txt: 'SVR4 Error: 5: I/O error
Additional information: -1
Additional information: 8192'
Exception signal: 10 (SIGBUS), code: 3 (Object specific hardware error), addr: 0x101262540, PC: [0x101262540, 0000000101262540]
*** 2008-06-02 16:05:41.333
ksedmp: internal or fatal error
ORA-07445: exception encountered: core dump [0000000101262540] [SIGBUS] [Object specific hardware error] [0x101262540] [] []
ORA-27063: Message 27063 not found; product=RDBMS; facility=ORA
SVR4 Error: 5: I/O error
Additional information: -1
Additional information: 8192
----- Call Stack Trace -----
calling call entry argument values in hex
location type point (? means dubious value)
-------------------- -------- -------------------- ----------------------------
Cannot read symbol name in /data/oracle/product/920/bin/oracle.
Cannot read symbol name in /data/oracle/product/920/bin/oracle.
Cannot read symbol name in /data/oracle/product/920/bin/oracle.
Cannot read symbol name in /data/oracle/product/920/bin/oracle.
Cannot read symbol name in /data/oracle/product/920/bin/oracle.
Cannot read symbol name in /data/oracle/product/920/bin/oracle.
ksedmp()+328 CALL ksedst()+0 FFFFFFFF7FFFC970 ?
000000000 ? 000000000 ?
00000003E ?
FFFFFFFF7FFFD208 ?
1031D56C8 ?
ssexhd()+604 CALL ksedmp()+0 000000000 ? 000103400 ?
0001035D9 ? 000102C00 ?
1035D9000 ? 1035D9C28 ?
sigacthandler()+44 PTR_CALL 0000000000000000 1035E1000 ?
FFFFFFFF7FFFE1A0 ?
000000000 ? 000000001 ?
1035DEDD8 ? 00000000A ?
kcfrfn()+0 PTR_CALL 0000000000000000 00000000A ?
FFFFFFFF7FFFE1A0 ?
FFFFFFFF7FFFDEC0 ?
00000000A ? 000000020 ?
000000004 ?
000000010126B7F8 FRM_LESS kcfrfn()+0 000000020 ?
FFFFFFFF7FFFE4C8 ?
000000020 ? 000000000 ?
000000020 ? 000000004 ?
kcbbiop()+824 CALL 000000010126B6C0 102DB0E08 ? 1035D9E88 ?
000000000 ? 000001558 ?
000000140 ? 1035D9FC8 ?
由於錯誤本身的特殊性,這個ORA-7445並沒有什麼參考性,只是記錄一下錯誤情況。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-330848/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORA-7445(opipls)錯誤
- ORA-7445(_kkqtnloCbk)錯誤QT
- ORA-7445(kglLockIterator)錯誤
- ORA-7445(kkfipbr)錯誤
- 一次儲存故障引起的資料庫啟動錯誤資料庫
- ORA-7445(qerixGetKey)錯誤
- ORA-7445(opitca)錯誤
- ORA-7445(kqlSubheapPin)錯誤APP
- ORA-7445(ksxpsigosderr)錯誤Go
- 【儲存】flashcache 使用遇見的錯誤
- ORA-7445(_intel_fast_memcpy.A)錯誤IntelASTmemcpy
- linux故障集合:架構階段備份服務-儲存服務錯誤Linux架構
- ORA-7445(dbgrmqmqpk_query_pick_key)錯誤MQ
- Flash儲存器的故障特徵特徵
- 解決儲存過程擷取錯誤的問題儲存過程
- 儲存過程中DDL錯誤一例儲存過程
- MySQL儲存函式錯誤[Err] 1064的除錯記錄MySql儲存函式除錯
- 同一個SQL引發多個ORA-7445錯誤SQL
- 插入排序雜湊CLUSTER表出現ORA-7445錯誤排序
- ORA-600(kcblasm_1)和ORA-7445(kxhfNewBuffer)錯誤ASM
- JAVA儲存過程出現ORA-24345錯誤Java儲存過程
- 儲存過程ORA-04068之錯誤解析儲存過程
- vista alv儲存本地檔案錯誤
- [重慶思莊每日技術分享]-建立物化檢視時出現ORA-7445錯誤
- 解決儲存硬碟故障一則硬碟
- windows 下 asm儲存啟動故障WindowsASM
- ORA-600(1403)和ORA-7445($cold_kslgetsl)錯誤
- ORA-600(kcbshlc_1)和ORA-7445(kggchk)錯誤GC
- 到底哪種型別的錯誤資訊會阻止business transaction的儲存型別
- 群暉儲存池損毀,加上錯誤操作刪除
- 路由器引數錯誤造成的故障路由器
- sql出現結果集錯誤以及出現ora-600或者ora-7445錯誤的解決方法思路SQL
- ORA-7445(ACCESS_VIOLATION)(unable_to_trans_pc)(UNABLE_TO_WRITE)錯誤
- ORA-7445(jtc_active_clint_init_ncomp_slots)錯誤
- vcode 儲存修復vue檔案的eslint語法錯誤VueEsLint
- asm磁碟組建立錯誤,用中轉儲存,重建磁碟組ASM
- Windows環境下的ORA-7445(ACCESS_VIOLATION)和ORA-4030錯誤Windows
- plsqlDevloper 儲存過程的除錯SQLdev儲存過程除錯