联系:手机/微信(+86 17813235971) QQ(107644445)
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
由于系统故障,导致操作系统进入,客户通过其他方式进入系统拷贝出来数据文件,redo,ctl等文件,安装版本相同的数据库,修改相关路径,启动数据库,但是启动报错,让我们给予技术支持.数据库open报ORA-600 2662错误
SQL> alter database open resetlogs; alter database open resetlogs * ERROR at line 1: ORA-00603: ORACLE server session terminated by fatal error ORA-00600: internal error code, arguments: [2662], [2], [2313731576], [2], [2313735660], [12583040], [], [], [], [], [], [] ORA-00600: internal error code, arguments: [2662], [2], [2313731575], [2], [2313735660], [12583040], [], [], [], [], [], [] ORA-01092: ORACLE instance terminated. Disconnection forced ORA-00600: internal error code, arguments: [2662], [2], [2313731573], [2], [2313735660], [12583040], [], [], [], [], [], [] Process ID: 22446 Session ID: 577 Serial number: 1
alert日志报错
Use ADRCI or Support Workbench to package the incident. See Note 411.1 at My Oracle Support for error and packaging details. Errors in file /home/oracle/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_22446.trc: ORA-00600: internal error code, arguments:[2662],[2],[2313731573],[2],[2313735660],[12583040],[],[],[],[],[],[] Errors in file /home/oracle/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_22446.trc: ORA-00600: internal error code, arguments:[2662],[2],[2313731573],[2],[2313735660],[12583040],[],[],[],[],[],[] Error 600 happened during db open, shutting down database USER (ospid: 22446): terminating the instance due to error 600
这个错误比较常见,特别是使用了_allow_resetlogs_corruption屏蔽一致性强制拉库的时候.解决该问题比较简单,修改数据库scn,然后open数据库成功,参考部分案例_allow_resetlogs_corruption
[oracle@localhost ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.3.0 Production on Sat Jun 20 08:31:55 2020 Copyright (c) 1982, 2011, Oracle. All rights reserved. Connected to an idle instance. SQL> startup mount pfile='/tmp/pfile'; ORACLE instance started. Total System Global Area 4275781632 bytes Fixed Size 2235208 bytes Variable Size 2902459576 bytes Database Buffers 1325400064 bytes Redo Buffers 45686784 bytes Database mounted. SQL> alter database open; Database altered.
尝试导出数据
[oracle@localhost ~]$ tail -f nohup.out . exporting foreign function library names for user XIFENFEI . exporting PUBLIC type synonyms . exporting private type synonyms . exporting object type definitions for user XIFENFEI About to export LIOVBJ2017's objects ... . exporting database links . exporting sequence numbers . exporting cluster definitions . about to export LIOVBJ2017's tables via Conventional Path ... . . exporting table ABCD 1 rows exported . . exporting table TB_D_RECORD EXP-00008: ORACLE error 1578 encountered ORA-01578: ORACLE data block corrupted (file # 1, block # 290344) ORA-01110: data file 1: '/home/oracle/app/oracle/oradata/orcl/system01.dbf' . . exporting table TB_DRIVER EXP-00008: ORACLE error 1578 encountered ORA-01578: ORACLE data block corrupted (file # 1, block # 290344) ORA-01110: data file 1: '/home/oracle/app/oracle/oradata/orcl/system01.dbf' . . exporting table TB_XFF EXP-00008: ORACLE error 1578 encountered ORA-01578: ORACLE data block corrupted (file # 1, block # 290344) ORA-01110: data file 1: '/home/oracle/app/oracle/oradata/orcl/system01.dbf' . . exporting table TB_XFF_TM_REL EXP-00008: ORACLE error 1578 encountered ORA-01578: ORACLE data block corrupted (file # 1, block # 290344) ORA-01110: data file 1: '/home/oracle/app/oracle/oradata/orcl/system01.dbf' . . exporting table TB_LOCATION
由于file # 1, block # 290344坏块导致数据无法导出,通过dbv检查数据文件
[oracle@localhost trace]$ dbv file=/home/oracle/app/oracle/oradata/orcl/system01.dbf DBVERIFY: Release 11.2.0.3.0 - Production on Sat Jun 20 08:43:49 2020 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. DBVERIFY - Verification starting : FILE = /home/oracle/app/oracle/oradata/orcl/system01.dbf Page 290344 is influx - most likely media corrupt Corrupt block relative dba: 0x00446e28 (file 1, block 290344) Fractured block found during dbv: Data in bad block: type: 6 format: 2 rdba: 0x00446e28 last change scn: 0x0002.89e2b718 seq: 0x1 flg: 0x06 spare1: 0x0 spare2: 0x0 spare3: 0x0 consistency value in tail: 0x61980601 check value in block header: 0xe118 computed block checksum: 0xd680 DBVERIFY - Verification complete Total Pages Examined : 298240 Total Pages Processed (Data) : 257035 Total Pages Failing (Data) : 0 Total Pages Processed (Index): 13457 Total Pages Failing (Index): 0 Total Pages Processed (Other): 3598 Total Pages Processed (Seg) : 1 Total Pages Failing (Seg) : 0 Total Pages Empty : 24149 Total Pages Marked Corrupt : 1 Total Pages Influx : 1 Total Pages Encrypted : 0 Highest block SCN : 3221247831 (2.3221247831)
确认只有一个坏块,尝试通过bbed进行坏块修复
BBED> set blocksize 8192 BLOCKSIZE 8192 BBED> set block 290344 BLOCK# 290344 BBED> map File: /home/oracle/app/oracle/oradata/orcl/system01.dbf (0) Block: 290344 Dba:0x00000000 ------------------------------------------------------------ KTB Data Block (Index Leaf) struct kcbh, 20 bytes @0 struct ktbbh, 72 bytes @20 struct kdxle, 32 bytes @92 sb2 kd_off[231] @124 ub1 freespace[3026] @586 ub1 rowdata[4508] @3612 ub4 tailchk @8188 BBED> verify DBVERIFY - Verification starting FILE = /home/oracle/app/oracle/oradata/orcl/system01.dbf BLOCK = 290344 Block 290344 is corrupt Corrupt block relative dba: 0x00446e28 (file 0, block 290344) Fractured block found during verification Data in bad block: type: 6 format: 2 rdba: 0x00446e28 last change scn: 0x0002.89e2b718 seq: 0x1 flg: 0x06 spare1: 0x0 spare2: 0x0 spare3: 0x0 consistency value in tail: 0x61980601 check value in block header: 0xe118 computed block checksum: 0xd680 DBVERIFY - Verification complete Total Blocks Examined : 1 Total Blocks Processed (Data) : 0 Total Blocks Failing (Data) : 0 Total Blocks Processed (Index): 0 Total Blocks Failing (Index): 0 Total Blocks Empty : 0 Total Blocks Marked Corrupt : 1 Total Blocks Influx : 2 Message 531 not found; product=RDBMS; facility=BBED BBED> set mode edit MODE Edit BBED> p kcbh struct kcbh, 20 bytes @0 ub1 type_kcbh @0 0x06 ub1 frmt_kcbh @1 0xa2 ub1 spare1_kcbh @2 0x00 ub1 spare2_kcbh @3 0x00 ub4 rdba_kcbh @4 0x00446e28 ub4 bas_kcbh @8 0x89e2b718 ub2 wrp_kcbh @12 0x0002 ub1 seq_kcbh @14 0x01 ub1 flg_kcbh @15 0x06 (KCBHFDLC, KCBHFCKV) ub2 chkval_kcbh @16 0xe118 ub2 spare3_kcbh @18 0x0000 BBED> p tailchk ub4 tailchk @8188 0x61980601 BBED> d /v File: /home/oracle/app/oracle/oradata/orcl/system01.dbf (0) Block: 290344 Offsets: 8188 to 8191 Dba:0x00000000 ------------------------------------------------------- 01069861 l ...a <16 bytes per line> BBED> m /x 010618b7 File: /home/oracle/app/oracle/oradata/orcl/system01.dbf (0) Block: 290344 Offsets: 8188 to 8191 Dba:0x00000000 ------------------------------------------------------------------------ 010618b7 <32 bytes per line> BBED> sum apply Check value for File 0, Block 290344: current = 0xe118, required = 0xe118 BBED> verify DBVERIFY - Verification starting FILE = /home/oracle/app/oracle/oradata/orcl/system01.dbf BLOCK = 290344 DBVERIFY - Verification complete Total Blocks Examined : 1 Total Blocks Processed (Data) : 0 Total Blocks Failing (Data) : 0 Total Blocks Processed (Index): 1 Total Blocks Failing (Index): 0 Total Blocks Empty : 0 Total Blocks Marked Corrupt : 0 Total Blocks Influx : 0 Message 531 not found; product=RDBMS; facility=BBED
继续尝试导出数据,遭遇ORA-08103,参考相关文章:
模拟普通ORA-08103并解决
模拟极端ORA-08103并解决
数据库启动ORA-08103故障恢复
EXP-00056: ORACLE error 8103 encountered ORA-08103: object no longer exists
通过对其进行处理,恢复该记录之外的所有记录,客户创建新库导入数据,数据库恢复基本完成