首页 » ORACLE » Troubleshooting 因存储断电导致数据库ora-600 [2131], [33], [32] & ORA-600 [kffbAddBlk04] ORA-15081

Troubleshooting 因存储断电导致数据库ora-600 [2131], [33], [32] & ORA-600 [kffbAddBlk04] ORA-15081

简单记录一起存储突然断电导致的11.2.0.4 2-Nodes RAC恢复案例。

存储恢复后第一次尝试启动数据库

Starting up:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options.
ORACLE_HOME = /s01/oracle/app/oracle/product/11.2.0/dbhome_1
System name:Linux
Node name:anbob01
Release:2.6.32-358.el6.x86_64
Version:#1 SMP Tue Jan 29 11:47:41 EST 2013
Machine:x86_64
VM name:VMWare Version: 6
Using parameter settings in server-side pfile /s01/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/initanbob1.ora
System parameters with non-default values:
  processes                = 1000
  sessions                 = 1536
  memory_target            = 19200M
  control_files            = "+DATADG/anbob/controlfile/current.260.897563029"
  db_block_size            = 8192
  compatible               = "11.2.0.4.0"
  log_archive_dest_1       = "location=+DATADG/arch"
  log_archive_format       = "%t_%s_%r.arc"
  cluster_database         = FALSE
  db_create_file_dest      = "+DATADG"
  thread                   = 1
  undo_tablespace          = "UNDOTBS1"
  instance_number          = 1
  remote_login_passwordfile= "EXCLUSIVE"
  db_domain                = ""
  dispatchers              = "(PROTOCOL=TCP) (SERVICE=anbobXDB)"
  remote_listener          = "anbob-cluster-scan:1521"
  audit_file_dest          = "/s01/oracle/app/oracle/admin/anbob/adump"
  audit_trail              = "DB"
  db_name                  = "anbob"
  open_cursors             = 300
  diagnostic_dest          = "/s01/oracle/app/oracle"
Cluster communication is configured to use the following interface(s) for this instance
  169.254.15.56
cluster interconnect IPC version:Oracle UDP/IP (generic)
IPC Vendor 1 proto 2
PMON started with pid=2, OS id=6300
2019-09-10 15:11:39.825000 +08:00
PSP0 started with pid=3, OS id=6302
2019-09-10 15:11:40.866000 +08:00
VKTM started with pid=4, OS id=6305 at elevated priority
VKTM running at (1)millisec precision with DBRM quantum (100)ms
GEN0 started with pid=5, OS id=6309
DIAG started with pid=6, OS id=6311
DBRM started with pid=7, OS id=6313
PING started with pid=8, OS id=6315
ACMS started with pid=9, OS id=6317
DIA0 started with pid=10, OS id=6319
LMON started with pid=11, OS id=6321
LMD0 started with pid=12, OS id=6323
* Load Monitor used for high load check
* New Low - High Load Threshold Range = [15360 - 20480]
RMS0 started with pid=13, OS id=6325
LMHB started with pid=14, OS id=6327
MMAN started with pid=15, OS id=6329
DBW0 started with pid=16, OS id=6331
DBW1 started with pid=17, OS id=6333
LGWR started with pid=18, OS id=6335
CKPT started with pid=19, OS id=6337
SMON started with pid=20, OS id=6339
RECO started with pid=21, OS id=6341
RBAL started with pid=22, OS id=6343
ASMB started with pid=23, OS id=6345
MMON started with pid=24, OS id=6347
MMNL started with pid=25, OS id=6351
starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
NOTE: initiating MARK startup
starting up 1 shared server(s) ...
Starting background process MARK
MARK started with pid=27, OS id=6355
NOTE: MARK has subscribed
lmon registered with NM - instance number 1 (internal mem no 0)
2019-09-10 15:11:42.035000 +08:00
Reconfiguration started (old inc 0, new inc 2)
List of instances:
 1 (myinst: 1)
 Global Resource Directory frozen
* allocate domain 0, invalid = TRUE
 Communication channels reestablished
 Master broadcasted resource hash value bitmaps
 Non-local Process blocks cleaned out
 Set master node info
 Submitted all remote-enqueue requests
 Dwn-cvts replayed, VALBLKs dubious
 All grantable enqueues granted
 Post SMON to start 1st pass IR
 Submitted all GCS remote-cache requests
 Post SMON to start 1st pass IR
Reconfiguration complete
ORACLE_BASE from environment = /s01/oracle/app/oracle
ALTER SYSTEM SET local_listener=' (ADDRESS=(PROTOCOL=TCP)(HOST=10.129.252.206)(PORT=1521))' SCOPE=MEMORY SID='anbob1';
2019-09-10 15:12:07.811000 +08:00
alter database mount
NOTE: Loaded library: System
SUCCESS: diskgroup DATADG was mounted
2019-09-10 15:12:16.746000 +08:00
NOTE: dependency between database anbob and diskgroup resource ora.DATADG.dg is established
2019-09-10 15:12:21.022000 +08:00
Errors in file /s01/oracle/app/oracle/diag/rdbms/anbob/anbob1/trace/anbob1_ora_6376.trc  (incident=304298):
ORA-00600: internal error code, arguments: [2131], [33], [32], [], [], [], [], [], [], [], [], []
Incident details in: /s01/oracle/app/oracle/diag/rdbms/anbob/anbob1/incident/incdir_304298/anbob1_ora_6376_i304298.trc
Dumping diagnostic data in directory=[cdmp_20190910151221], requested by (instance=1, osid=6376), summary=[incident=304298].
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
ORA-600 signalled during: alter database mount...
2019-09-10 15:12:41.193000 +08:00
Shutting down instance (immediate)
Shutting down instance: further logons disabled
Stopping background process MMNL
Stopping background process MMON
2019-09-10 15:12:43.200000 +08:00
License high water mark = 3
All dispatchers and shared servers shutdown
ALTER DATABASE CLOSE NORMAL
ORA-1507 signalled during: ALTER DATABASE CLOSE NORMAL...
2019-09-10 15:12:48.269000 +08:00
ARCH: Archival disabled due to shutdown: 1089
Shutting down archive processes
Archiving is disabled
Stopping background process VKTM
ARCH: Archival disabled due to shutdown: 1089
Shutting down archive processes
Archiving is disabled
NOTE: Shutting down MARK background process
2019-09-10 15:12:50.979000 +08:00
freeing rdom 0
2019-09-10 15:12:54.642000 +08:00
Instance shutdown complete

Note:
提示因ORA-600 [2131] 致命错误实例再次crash, 因为存储IO问题导致控制文件损坏,尝试重建控制文件从自动备份的文件。

SQL> startup nomount
ORACLE instance started.

Total System Global Area 2.0043E+10 bytes
Fixed Size                  2261848 bytes
Variable Size            1.1744E+10 bytes
Database Buffers         8254390272 bytes
Redo Buffers               42065920 bytes
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
[oracle@anbob01 dbs]$ rman target /
Recovery Manager: Release 11.2.0.4.0 - Production on Tue Sep 10 15:16:06 2019
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
connected to target database: anbob (not mounted)

RMAN> restore controlfile from '/s01/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/snapcf_anbob1.f';

RMAN> alter database mount;

RMAN> recover database;

RMAN> alter database open resetlogs;
database opened

Note:
到这里数据库已打开, 但是没过多久数据库再次crash.

2019-09-10 15:18:59.733000 +08:00
alter database open resetlogs
RESETLOGS after complete recovery through change 3673444129
Archived Log entry 31169 added for thread 1 sequence 19643 ID 0x5e3f8411 dest 1:
2019-09-10 15:19:01.544000 +08:00
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
NOTE: ASM instance returned error dumped to trace file /s01/oracle/app/oracle/diag/rdbms/anbob/ANBOB1/trace/ANBOB1_ora_7530.trc
Errors in file /s01/oracle/app/oracle/diag/rdbms/anbob/ANBOB1/trace/ANBOB1_ora_7530.trc:
ORA-00600: internal error code, arguments: [ORA_NPI_ERROR], [600], [ORA-00600: internal error code, arguments: [kffbAddBlk04], [], [], [], [], [], [], [], [], [], [], []
], [], [], [], [], [], [], [], [], []
Unable to create archive log file '+DATADG/arch/1_19645_897563030.arc'
ARCH: Error 19504 Creating archive log file to '+DATADG/arch/1_19645_897563030.arc'
2019-09-10 15:22:42.274000 +08:00
Completed: alter database open resetlogs
Starting background process CJQ0
CJQ0 started with pid=45, OS id=8726
2019-09-10 15:26:29.596000 +08:00
WARNING: Read Failed. group:1 disk:0 AU:14724 offset:458752 size:16384
WARNING: failed to read mirror side 1 of virtual extent 5801 logical extent 0 of file 269 in group [1.2114156029] from disk DATADG_0000  allocation unit 14724 reason error; if possible, will try another mirror side
WARNING: Write Failed. group:1 disk:0 AU:1430 offset:863744 size:55808
Errors in file /s01/oracle/app/oracle/diag/rdbms/anbob/anbob1/trace/anbob1_lgwr_6915.trc:
ORA-15080: synchronous I/O operation to a disk failed
ORA-27061: waiting for async I/Os failed
Linux-x86_64 Error: 5: Input/output error
Additional information: -1
Additional information: 55808
WARNING: failed to write mirror side 1 of virtual extent 58 logical extent 0 of file 261 in group 1 on disk 0 allocation unit 1430
Errors in file /s01/oracle/app/oracle/diag/rdbms/anbob/anbob1/trace/anbob1_lgwr_6915.trc:
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
ORA-15081: failed to submit an I/O operation to a disk
Errors in file /s01/oracle/app/oracle/diag/rdbms/anbob/anbob1/trace/anbob1_lgwr_6915.trc:
ORA-00340: IO error processing online log 1 of thread 1
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
ORA-15081: failed to submit an I/O operation to a disk
Errors in file /s01/oracle/app/oracle/diag/rdbms/anbob/anbob1/trace/anbob1_j001_8771.trc:
ORA-00449: 后台进程 'LGWR' 因错误 340 而异常终止
ORA-01115: 从文件  读取块时出现 IO 错误 (块 # )
ORA-01110: 数据文件 7: '+DATADG/anbob/datafile/prd_soainfra.269.897845057'
ORA-15081: 无法将 I/O 操作提交到磁盘
LGWR (ospid: 6915): terminating the instance due to error 340

Note:
在ASM存储读写时再次发生错误,有出现ORA-600 [kffbAddBlk04]和LGWR写进程失败导致实例再次crash, 这是因为存储异常断电导致ASM Metadata数据损坏,剩下的工作重构ASM DISKGROUP即可,启动后记的先禁用那个自动任务防止期间再次CRASH,最终数据库里的数据已全部恢复可以正常读写,较为幸运, 但同存储上另外的库就没那么幸运了。

如果您解决不了,可以联系www.anbob.com 首页上的联系方式。

打赏

, ,

对不起,这篇文章暂时关闭评论。