标签云
asm恢复 bbed bootstrap$ dul In Memory kcbzib_kcrsds_1 kccpb_sanity_check_2 MySQL恢复 ORA-00312 ORA-00607 ORA-00704 ORA-00742 ORA-01110 ORA-01555 ORA-01578 ORA-08103 ORA-600 2131 ORA-600 2662 ORA-600 2663 ORA-600 3020 ORA-600 4000 ORA-600 4137 ORA-600 4193 ORA-600 4194 ORA-600 16703 ORA-600 kcbzib_kcrsds_1 ORA-600 KCLCHKBLK_4 ORA-15042 ORA-15196 ORACLE 12C oracle dul ORACLE PATCH Oracle Recovery Tools oracle加密恢复 oracle勒索 oracle勒索恢复 oracle异常恢复 Oracle 恢复 ORACLE恢复 ORACLE数据库恢复 oracle 比特币 OSD-04016 YOUR FILES ARE ENCRYPTED 勒索恢复 比特币加密文章分类
- Others (2)
- 中间件 (2)
- WebLogic (2)
- 操作系统 (103)
- 数据库 (1,716)
- DB2 (22)
- MySQL (74)
- Oracle (1,576)
- Data Guard (52)
- EXADATA (8)
- GoldenGate (24)
- ORA-xxxxx (160)
- ORACLE 12C (72)
- ORACLE 18C (6)
- ORACLE 19C (15)
- ORACLE 21C (3)
- Oracle 23ai (8)
- Oracle ASM (68)
- Oracle Bug (8)
- Oracle RAC (54)
- Oracle 安全 (6)
- Oracle 开发 (28)
- Oracle 监听 (28)
- Oracle备份恢复 (575)
- Oracle安装升级 (94)
- Oracle性能优化 (62)
- 专题索引 (5)
- 勒索恢复 (81)
- PostgreSQL (18)
- PostgreSQL恢复 (6)
- SQL Server (28)
- SQL Server恢复 (9)
- TimesTen (7)
- 达梦数据库 (2)
- 生活娱乐 (2)
- 至理名言 (11)
- 虚拟化 (2)
- VMware (2)
- 软件开发 (37)
- Asp.Net (9)
- JavaScript (12)
- PHP (2)
- 小工具 (20)
-
最近发表
- 不当使用_allow_resetlogs_corruption参数引起ORA-600 2662错误
- CSSD signal 11 in thread clssnmRcfgMgrThread故障处理
- 使用sid方式直接访问pdb(USE_SID_AS_SERVICE_LISTENER)
- ORA-00069: cannot acquire lock — table locks disabled for xxxx
- ORA-600 [4000] [a]相关bug
- sql server数据库“正在恢复”故障处理
- 如何判断数据文件是否处于begin backup状态
- CDM备份缺少归档打开数据库报ORA-600 kcbzib_kcrsds_1故障处理
- ORA-07445: exception encountered: core dump [expgod()+43] [IN_PAGE_ERROR]
- 2025年第一起ORA-600 16703故障恢复
- _gc_undo_affinity=FALSE触发ORA-01558
- public授权语句
- 中文环境显示AR8MSWIN1256(阿拉伯语字符集)
- 处理 Oracle 块损坏
- Oracle各种类型坏块说明和处理
- fio测试io,导致磁盘文件系统损坏故障恢复
- ORA-742 写丢失常见bug记录
- Oracle 19c 202501补丁(RUs+OJVM)-19.26
- 避免 19c 数据库性能问题需要考虑的事项 (Doc ID 3050476.1)
- Bug 21915719 Database hang or may fail to OPEN in 12c IBM AIX or HPUX Itanium – ORA-742, DEADLOCK or ORA-600 [kcrfrgv_nextlwn_scn] ORA-600 [krr_process_read_error_2]
标签归档:ORA-600 16703
ORA-00600: internal error code, arguments: [16703], [1403], [4] 故障处理
有一个客户数据库遭遇ORA-600 16703错误,故障原因见:警告:互联网中有oracle介质被注入恶意程序导致—ORA-600 16703,这种故障已经恢复比较多,在这次的恢复中遇到一个新错误,进行记录
接手给客户报错情况ORA-00600: internal error code, arguments: [16703], [1403], [20]
Thu May 13 22:36:11 2021 SMON: enabling cache recovery Thu May 13 22:36:11 2021 NSA2 started with pid=61, OS id=6261 Archived Log entry 90224 added for thread 1 sequence 50454 ID 0x19ae1c6c dest 1: Errors in file /oracle/diag/rdbms/xff/xff/trace/xff_ora_5931.trc (incident=741052): ORA-00600: internal error code, arguments: [16703], [1403], [20], [], [], [], [], [], [], [], [], [] Incident details in: /oracle/diag/rdbms/xff/xff/incident/incdir_741052/xff_ora_5931_i741052.trc 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 /oracle/diag/rdbms/xff/xff/trace/xff_ora_5931.trc: ORA-00704: bootstrap process failure ORA-00704: bootstrap process failure ORA-00600: internal error code, arguments: [16703], [1403], [20], [], [], [], [], [], [], [], [], [] Errors in file /oracle/diag/rdbms/xff/xff/trace/xff_ora_5931.trc: ORA-00704: bootstrap process failure ORA-00704: bootstrap process failure ORA-00600: internal error code, arguments: [16703], [1403], [20], [], [], [], [], [], [], [], [], [] Error 704 happened during db open, shutting down database USER (ospid: 5931): terminating the instance due to error 704 Instance terminated by USER, pid = 5931 ORA-1092 signalled during: alter database open... opiodr aborting process unknown ospid (5931) as a result of ORA-1092 Thu May 13 22:36:13 2021 ORA-1092 : opitsk aborting process
这种故障,由于是恶意脚本在数据库启动的时候清空tab$所致,使用bbed对tab$进行反向删除操作,实现数据库打开.
在这次的恢复过程中遇到ORA-600 16703 1403 4的错误
SQL> startup mount pfile='/tmp/pfile'; ORACLE instance started. Total System Global Area 7.0818E+10 bytes Fixed Size 2260448 bytes Variable Size 1.3422E+10 bytes Database Buffers 5.7177E+10 bytes Redo Buffers 217030656 bytes Database mounted. SQL> alter database open ; alter database open * ERROR at line 1: ORA-01092: ORACLE instance terminated. Disconnection forced ORA-00704: bootstrap process failure ORA-00704: bootstrap process failure ORA-00600: internal error code, arguments: [16703], [1403], [4], [], [], [], [], [], [], [], [], [] Process ID: 51886 Session ID: 3497 Serial number: 3
根据ora-600 16703 1403 4基本上可以判断是由于tab$这个表中缺少obj#=4的对象导致,通过查询正常库,确认是该对象为tab$,也就是说由于tab$对象中少了tab$记录.通过bbed分析确认
SQL> SELECT a.OBJ# 2 ,TAB# 3 ,a.DATAOBJ# 4 ,BOBJ# 5 ,NAME 6 ,DBMS_ROWID.ROWID_RELATIVE_FNO (a.ROWID) FILE_ID 7 ,DBMS_ROWID.ROWID_BLOCK_NUMBER (a.ROWID) BLOCK_ID 8 FROM TAB$ a, obj$ b 9 WHERE a.obj# = b.obj# 10 AND A.OBJ# IN (4); OBJ# TAB# DATAOBJ# BOBJ# NAME ---------- ---------- ---------- ---------- ------------------------------ FILE_ID BLOCK_ID ---------- ---------- 4 1 2 2 TAB$ 1 147 BBED> set dba 1,147 DBA 0x00400093 (4194451 1,147) BBED> x /rnnnnnnnnnnnnncnnnnnnnntnnnnnnnnnncct *kdbr[14] rowdata[6848] @7349 ------------- flag@7349: 0x20 (KDRHFH) lock@7350: 0x02 cols@7351: 0 nrid@7352:0x00407b09.1 BBED> set dba 0x00407b09 DBA 0x00407b09 (4225801 1,31497) BBED> p kdbt[1] struct kdbt[1], 4 bytes @110 sb2 kdbtoffs @110 10 sb2 kdbtnrow @112 2 BBED> x /rnnnnnnnnnnnnncnnnnnnnntnnnnnnnnnncct *kdbr[11] rowdata[815] @4436 ------------ flag@4436: 0x5c (KDRHFL, KDRHFF, KDRHFD, KDRHFC) lock@4437: 0x02 cols@4438: 0 ckix@4439: 8 BBED> x /rn *kdbr[8] rowdata[950] @4571 ------------ flag@4571: 0xac (KDRHFL, KDRHFF, KDRHFH, KDRHFK) lock@4572: 0x00 cols@4573: 1 kref@4574: 1 hrid@4576:0x00400093.8 nrid@4582:0x00400094.0 col 0[2] @4590: 4
确认该记录发生了行迁移导致该问题,对其对应的block进行修复,数据库正常打开.
发表在 非常规恢复
标签为 arguments: [16703], ORA-00600: internal error code, ORA-600 16703, oracle tab$恢复, tab$恢复, [1403], [4]
评论关闭
ORA-600 16703直接把orachk备份表插入到tab$恢复
有一个朋友和我说,他们数据库出现了以下错误ORA-600 16703 错误
他们是在虚拟化环境中,可以恢复到上一个快照点,但是主机启动之后,数据库依旧异常,让我们进行处理
C:\Users\Administrator>sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Wed Mar 24 17:04:01 2021 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> select open_mode from v$database; OPEN_MODE -------------------- READ WRITE SQL> select count(1) from tab$; COUNT(1) ---------- 0
很明显tab$已经被清空,数据库无法正常使用.因为库没有crash,尝试把备份的orachk表插入进来
SQL> insert into tab$ select * from ORACHKB514061BDCB10EBA9CF58F3; 6318 rows created. SQL> commit; Commit complete. SQL> select 'DROP TRIGGER '||owner||'."'||TRIGGER_NAME||'";' from dba_triggers w here TRIGGER_NAME like 'DBMS_%_INTERNAL% ' 2 union all 3 select 'DROP PROCEDURE '||owner||'."'||a.object_name||'";' from dba_procedu res a where a.object_name like 'DBMS_%_INTERNAL% ' 4 union all 5 select 'drop '||object_type||' '||owner||'.'||object_name||';' from dba_obj ects where object_name in('DBMS_SUPPORT_DBMONITOR','DBMS_SUPPORT_DBMONITORP'); 'DROPTRIGGER'||OWNER||'."'||TRIGGER_NAME||'";' -------------------------------------------------------------------------------- drop PROCEDURE SYS.DBMS_SUPPORT_DBMONITORP; drop TRIGGER SYS.DBMS_SUPPORT_DBMONITOR; SQL> drop PROCEDURE SYS.DBMS_SUPPORT_DBMONITORP; Procedure dropped. SQL> drop TRIGGER SYS.DBMS_SUPPORT_DBMONITOR; Trigger dropped. SQL> commit; Commit complete. SQL>
重启数据库,该故障恢复完成,数据完美恢复0丢失.
aix平台tab$被删除可能出现ORA-600 [16703], [1403], [28]错误
以前在恢复过程中遇到过ORA-00600: internal error code, arguments: [16703], [1403], [28]错误(10g数据库遭遇ORA-600 16703)以为是因为10g版本的tab$记录被删除的原因导致报错和最常见的ORA-00600: internal error code, arguments: [16703], [1403], [20]不完全一致(警告:互联网中有oracle介质被注入恶意程序导致—ORA-600 16703),最近又遇到一个ORA-600 16703 1403 28错误的case,而且数据库版本是11.2.0.4 for aix平台,进一步说明该问题不是由于10g和11g的tab$被删除的区别导致,更多可能是由于操作系统不一样,数据库启动基表访问顺序不一致导致,特此进行说明.
数据库启动成功后报错
Wed Apr 01 22:36:19 2020 Completed: ALTER DATABASE OPEN /* db agent *//* {2:54387:2} */ Wed Apr 01 22:36:19 2020 Starting background process CJQ0 Wed Apr 01 22:36:19 2020 CJQ0 started with pid=53, OS id=7078224 Wed Apr 01 22:36:21 2020 Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl2/trace/orcl2_ora_7668220.trc (incident=40337): ORA-00600: internal error code, arguments: [kzrini:!uprofile], [], [], [], [], [], [], [], [], [], [], [] Incident details in: /u01/app/oracle/diag/rdbms/orcl/orcl2/incident/incdir_40337/orcl2_ora_7668220_i40337.trc Wed Apr 01 22:36:21 2020 Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl2/trace/orcl2_ora_6881718.trc (incident=40369): ORA-00600: internal error code, arguments: [kzrini:!uprofile], [], [], [], [], [], [], [], [], [], [], [] Incident details in: /u01/app/oracle/diag/rdbms/orcl/orcl2/incident/incdir_40369/orcl2_ora_6881718_i40369.trc Setting Resource Manager plan SCHEDULER[0x32DB]:DEFAULT_MAINTENANCE_PLAN via scheduler window Setting Resource Manager plan DEFAULT_MAINTENANCE_PLAN via parameter Wed Apr 01 22:51:16 2020 Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl2/trace/orcl2_smon_7078802.trc: ORA-00604: error occurred at recursive SQL level 1 ORA-00957: duplicate column name Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl2/trace/orcl2_smon_7078802.trc: ORA-00604: error occurred at recursive SQL level 1 ORA-00957: duplicate column name Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl2/trace/orcl2_smon_7078802.trc: ORA-00604: error occurred at recursive SQL level 1 ORA-00957: duplicate column name Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl2/trace/orcl2_m000_4850312.trc (incident=48045): ORA-00600: internal error code, arguments: [kdfReserveSingle_1], [0], [65280], [], [], [], [], [], [], [], [], [] Incident details in: /u01/app/oracle/diag/rdbms/orcl/orcl2/incident/incdir_48045/orcl2_m000_4850312_i48045.trc Thu Apr 02 00:59:35 2020 Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl2/trace/orcl2_smon_7078802.trc: ORA-00604: error occurred at recursive SQL level 1 ORA-00957: duplicate column name Thu Apr 02 00:59:36 2020 DDE: Problem Key 'ORA 600 [kzrini:!uprofile]' was completely flood controlled (0x6) Further messages for this problem key will be suppressed for up to 10 minutes Thu Apr 02 00:59:37 2020 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 /u01/app/oracle/diag/rdbms/orcl/orcl2/trace/orcl2_m000_4850312.trc (incident=48046): ORA-00600: internal error code, arguments: [kewrose_1], [600], [ORA-00600: internal error code, arguments: [kdfReserveSingle_1], [0], [65280], [], [], [], []
数据库再次重启报错
Completed: ALTER DATABASE MOUNT /* db agent *//* {1:25340:2} */ ALTER DATABASE OPEN /* db agent *//* {1:25340:2} */ This instance was first to open Picked broadcast on commit scheme to generate SCNs Thu Apr 02 02:17:59 2020 Thread 2 opened at log sequence 13485 Current log# 3 seq# 13485 mem# 0: +DATA/orcl/onlinelog/group_3.265.1003137665 Current log# 3 seq# 13485 mem# 1: +FLASH/orcl/onlinelog/group_3.259.1003137677 Successful open of redo thread 2 MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set Thu Apr 02 02:17:59 2020 SMON: enabling cache recovery Instance recovery: looking for dead threads Instance recovery: lock domain invalid but no dead threads Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl2/trace/orcl2_ora_7799020.trc (incident=48395): ORA-00600: internal error code, arguments: [16703], [1403], [28], [], [], [], [], [], [], [], [], [] Incident details in: /u01/app/oracle/diag/rdbms/orcl/orcl2/incident/incdir_48395/orcl2_ora_7799020_i48395.trc Thu Apr 02 02:18:01 2020 Thu Apr 02 02:18:01 2020 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 /u01/app/oracle/diag/rdbms/orcl/orcl2/trace/orcl2_ora_7799020.trc: ORA-00704: bootstrap process failure ORA-00704: bootstrap process failure ORA-00600: internal error code, arguments: [16703], [1403], [28], [], [], [], [], [], [], [], [], [] Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl2/trace/orcl2_ora_7799020.trc: ORA-00704: bootstrap process failure ORA-00704: bootstrap process failure ORA-00600: internal error code, arguments: [16703], [1403], [28], [], [], [], [], [], [], [], [], [] Error 704 happened during db open, shutting down database USER (ospid: 7799020): terminating the instance due to error 704 Instance terminated by USER, pid = 7799020 ORA-1092 signalled during: ALTER DATABASE OPEN /* db agent *//* {1:25340:2} */...
对于此类问题,通过分析,确定也是由于DBMS_SUPPORT_DBMONITORP恶意脚本导致tab$记录被删除,导致数据库启动异常,处理方法基本上就是对tab$进行恢复,然后open数据库.