有网友咨询数据库启动报ORA-00600: internal error code, arguments: [16703], [1403], [32]错误,这个错误和以往遇到的不太一样,以前恢复的一些案例
tab$恢复错误汇总
10g数据库遭遇ORA-600 16703
12C数据库遭遇ORA-600 16703
tab$被恶意删除sys用户之外记录
ORA-600 16703故障解析—tab$表被清空
警告:互联网中有oracle介质被注入恶意程序导致—ORA-600 16703
SQL> startup ORACLE 例程已经启动。 Total System Global Area 1.3892E+10 bytes Fixed Size 5420776 bytes Variable Size 2281703704 bytes Database Buffers 1.1576E+10 bytes Redo Buffers 28131328 bytes 数据库装载完毕。 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], [32], [], [], [],[], [], [], [], [], [] 进程 ID: 9512 会话 ID: 272 序列号: 22801
查看alert日志
Sun Jun 30 14:47:55 2019 SMON: enabling cache recovery Errors in file D:\APP\SHORCL\diag\rdbms\orcl\orcl\trace\orcl_ora_7824.trc (incident=177881) (PDBNAME=CDB$ROOT): ORA-00600: 内部错误代码, 参数: [16703], [1403], [32], [], [], [], [], [], [], [], [], [] Incident details in: D:\APP\SHORCL\diag\rdbms\orcl\orcl\incident\incdir_177881\orcl_ora_7824_i177881.trc Use ADRCI or Support Workbench to package the incident. See Note 411.1 at My Oracle Support for error and packaging details. Sun Jun 30 14:47:57 2019 Errors in file D:\APP\SHORCL\diag\rdbms\orcl\orcl\trace\orcl_ora_7824.trc: ORA-00704: 引导程序进程失败 ORA-00600: 内部错误代码, 参数: [16703], [1403], [32], [], [], [], [], [], [], [], [], [] Sun Jun 30 14:47:57 2019 Errors in file D:\APP\SHORCL\diag\rdbms\orcl\orcl\trace\orcl_ora_7824.trc: ORA-00704: 引导程序进程失败 ORA-00704: 引导程序进程失败 ORA-00600: 内部错误代码, 参数: [16703], [1403], [32], [], [], [], [], [], [], [], [], [] Sun Jun 30 14:47:57 2019 Errors in file D:\APP\SHORCL\diag\rdbms\orcl\orcl\trace\orcl_ora_7824.trc: ORA-00704: 引导程序进程失败 ORA-00704: 引导程序进程失败 ORA-00600: 内部错误代码, 参数: [16703], [1403], [32], [], [], [], [], [], [], [], [], [] Sun Jun 30 14:47:57 2019 Error 704 happened during db open, shutting down database USER (ospid: 7824): terminating the instance due to error 704 Sun Jun 30 14:48:02 2019 Instance terminated by USER, pid = 7824 ORA-1092 signalled during: ALTER DATABASE OPEN...
根据以往经验,这个很可能也是tab$数据被删除导致。经过分析,该库的区别是由于该库是12C的pdb
通过分析确认,确实是tab$数据被删除,通过bbed反向删除处理,实现时间完美恢复,open之后删除恶意脚本,数据库直接使用,实现完美恢复
SQL> startup mount ORACLE 例程已经启动。 Total System Global Area 1.3892E+10 bytes Fixed Size 5420776 bytes Variable Size 2281703704 bytes Database Buffers 1.1576E+10 bytes Redo Buffers 28131328 bytes 数据库装载完毕。 SQL> alter database open; 数据库已更改。 SQL> select 'drop '||object_type||' '||owner||'.'||object_name||';' from dba_obj ects where object_name in('DBMS_SUPPORT_DBMONITOR','DBMS_SUPPORT_DBMONITORP'); 'DROP'||OBJECT_TYPE||''||OWNER||'.'||OBJECT_NAME||';' -------------------------------------------------------------------------------- drop TRIGGER SYS.DBMS_SUPPORT_DBMONITOR; drop PROCEDURE SYS.DBMS_SUPPORT_DBMONITORP; SQL> SQL> drop TRIGGER SYS.DBMS_SUPPORT_DBMONITOR; 触发器已删除。 SQL> drop PROCEDURE SYS.DBMS_SUPPORT_DBMONITORP; 过程已删除。 SQL> shutdown immediate; 数据库已经关闭。 已经卸载数据库。 ORACLE 例程已经关闭。 SQL> startup ORACLE 例程已经启动。 Total System Global Area 1.3892E+10 bytes Fixed Size 5420776 bytes Variable Size 2281703704 bytes Database Buffers 1.1576E+10 bytes Redo Buffers 28131328 bytes 数据库装载完毕。 数据库已经打开。 SQL> show pdbs; CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDBORCL MOUNTED SQL> alter session set container=pdborcl; 会话已更改。 SQL> alter database open; 数据库已更改。