Troubleshooting 因存储断电导致数据库ora-600 [2131], [33], [32] & ORA-600 [kffbAddBlk04] ORA-15081
简单记录一起存储突然断电导致的11.2.0.4 2-Nodes RAC恢复案例。
ORA-00600: internal error code, arguments: [2131], [33], [32], [], [], [], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [ORA_NPI_ERROR], [600], [ORA-00600: internal error code, arguments: [kffbAddBlk04], [], [], [], [], [], [], [], [], [], [], []
ORA-00345: redo log write error block 120471 count 109
ORA-00312: online log 1 thread 1: ‘+DATADG/anbob/onlinelog/group_1.261.897563031’
ORA-15081: failed to submit an I/O operation to a disk
Troubleshooing ORA-600 [2663] after DataGuard switchover
这是一个非常典型的dataguard 环境中存在的bug, 在oracle 11.1-12.1版本之间一直存在的BUG,当Physical Standby Dataguard 环境发现switchover或者failover后,在验证索引块上存在无效的scn时抛出的错误ORA-600 [2663],或者有时附带ORA-600 [ktbdchk1: bad dscn], 该BUG不会导致当前数据块上有数据丢失,也不会有数据勘误在索引块上。 这里简单记录.
Troubleshooting high db file sequential reads cause a insert do index split
1. Set 450502, level 1 -> to control block rejections for any index block.
2. Set underscores to reduce the limit from 10000 to something lower. If the limit is good enough, do not have to set these parameters.
3. If the limit must be reduced to below 1024 (using the underscore) additionally set event 450503 – it forces the code to accept whatever user sets.
4. Set 43822 – to control rejections for root/branch split.
What’s the ORA_TEMP_%_DS_% table, eg. SYS.ORA_TEMP_1_DS_%
This is expected behavior. ORA_TEMP_%_DS_% is only used when gathering histogram. SYS.ORA_TEMP_1_DS_% are global temporary tables created by dbms_stats to generate histograms for tables.
Troubleshooting ORA-6544 [pevm_peruws_callback-1] [4021] waiting to lock object SYS.TAB$
一个12C R2的2节点RAC, 节点1 8点左右数据库实例连接hang, 从数据库DB alert log中发现ORA-6544 [pevm_peruws_callback-1] [4021]错误, 可见前期出现大量的library cache 等待,影响了SQL解析和连接,因情况紧急kill 实例重启后恢复正常。