联系:手机/微信(+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
通过对其进行处理,恢复该记录之外的所有记录,客户创建新库导入数据,数据库恢复基本完成

