oracle服务器意外宕机数据库启动失败故障处理记录
客户反馈由于服务器意外宕机,导致数据库业务不能正常运行,经过一番努力后通过redo日志恢复成功!
故障描述:ORA-00600: 内部错误代码, 参数: [krctcr_4], [1179922061], [1179942042], [], [], [], [], [], [], [], [], []
现将主要处理过程记录如下,供有需要的小伙伴参考。
在此也提醒我们,重要业务不要单机跑,实在避免不了单机跑,请做好安全配置,归档日志、rodo日志、控制文件该用的用起来,该多路配置的多路配置。
C:\Users\Administrator>set oracle_sid=orange
C:\Users\Administrator>sqlplus "/ as sysdba"
SQL*Plus: Release 11.2.0.3.0 Production on 星期五 11月 08 08:43:25 2024
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select status from v$instance;
STATUS
------------------------
MOUNTED
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
F:\DATABASE\ORANGE\SYSTEM\SYSORANGE.ORA
F:\DATABASE\ORANGE\SYSTEM\SYSAUX01.ORA
F:\DATABASE\ORANGE\DATAFILE\UNDOTBS1.ORA
F:\DATABASE\ORANGE\DATAFILE\INDEXES_2.ORA
F:\DATABASE\ORANGE\DATAFILE\TABLES_2.ORA
F:\DATABASE\ORANGE\DATAFILE\INDEXES_3.ORA
F:\DATABASE\ORANGE\DATAFILE\USERS.ORA
F:\DATABASE\ORANGE\DATAFILE\TABLES_3.ORA
F:\DATABASE\ORANGE\DATAFILE\UNDOTBS2.ORA
F:\DATABASE\ORANGE\DATAFILE\TABLES.ORA
F:\DATABASE\ORANGE\DATAFILE\INDEXES.ORA
NAME
--------------------------------------------------------------------------------
F:\DATABASE\ORANGE\DATAFILE\TABLES2.ORA
F:\DATABASE\ORANGE\DATAFILE\INDEXES2.ORA
F:\DATABASE\ORANGE\DATAFILE\INDEXES_4.ORA
F:\DATABASE\ORANGE\DATAFILE\TABLES_4.ORA
15 rows selected.
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
F:\DATABASE\ORANGE\LOGFILES\LOG5X1ORANGE.ORA
F:\DATABASE\ORANGE\LOGFILES\LOG5Y1ORANGE.ORA
F:\DATABASE\ORANGE\LOGFILES\LOG6X2ORANGE.ORA
F:\DATABASE\ORANGE\LOGFILES\LOG6Y2ORANGE.ORA
F:\DATABASE\ORANGE\LOGFILES\LOG7X3ORANGE.ORA
F:\DATABASE\ORANGE\LOGFILES\LOG7Y3ORANGE.ORA
F:\DATABASE\ORANGE\LOGFILES\LOG8X4ORANGE.ORA
F:\DATABASE\ORANGE\LOGFILES\LOG8Y4ORANGE.ORA
8 rows selected.
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-00600: 内部错误代码, 参数: [krctcr_4], [1179922061], [1179942042], [], [],
[], [], [], [], [], [], []
SQL> shoutdown immediate;
SP2-0734: unknown command beginning "shoutdown ..." - rest of line ignored.
SQL> shutdown immediate;
ORA-01109: 数据库未打开
Database dismounted.
ORACLE instance shut down.
SQL> select member from v$logfile;
select member from v$logfile
*
ERROR at line 1:
ORA-01034: ORACLE not available
进程 ID: 1740
会话 ID: 193 序列号: 7
SQL> startup
ORACLE instance started.
Total System Global Area 1.1992E+10 bytes
Fixed Size 2266176 bytes
Variable Size 7583304640 bytes
Database Buffers 4395630592 bytes
Redo Buffers 11051008 bytes
Database mounted.
ORA-00600: 内部错误代码, 参数: [krctcr_4], [1179922061], [1179942042], [], [],
[], [], [], [], [], [], []
SQL> recover database using backup controlfile;
ORA-00279: 更改 1179942042 (在 10/02/2024 02:14:57 生成) 对于线程 1 是必需的
ORA-00289: 建议: F:\DATABASE\ORANGE\ARCHIVEORANGE_T0001_S11981_R779149394.ARC
ORA-00280: 更改 1179942042 (用于线程 1) 在序列 #11981 中
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
F:\DATABASE\ORANGE\LOGFILES\LOG8Y4ORANGE.ORA;
ORA-00308: cannot open archived log 'F:\DATABASE\ORANGE\LOGFILES\LOG8Y4ORANGE.ORA;'
ORA-27041: unable to open file
OSD-04002: unable to open file
O/S-Error: (OS 2) ????????????????
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
F:\DATABASE\ORANGE\LOGFILES\LOG8X4ORANGE.ORA;
ORA-00308: cannot open archived log 'F:\DATABASE\ORANGE\LOGFILES\LOG8X4ORANGE.ORA;'
ORA-27041: unable to open file
OSD-04002: unable to open file
O/S-Error: (OS 2) ????????????????
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
F:\DATABASE\ORANGE\LOGFILES\LOG8Y4ORANGE.ORA
ORA-00310: archived log contains sequence 11979; sequence 11981 required
ORA-00334: archived log: 'F:\DATABASE\ORANGE\LOGFILES\LOG8Y4ORANGE.ORA'
SQL> recover database using backup controlfile;
ORA-00279: 更改 1179942042 (在 10/02/2024 02:14:57 生成) 对于线程 1 是必需的
ORA-00289: 建议: F:\DATABASE\ORANGE\ARCHIVEORANGE_T0001_S11981_R779149394.ARC
ORA-00280: 更改 1179942042 (用于线程 1) 在序列 #11981 中
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
F:\DATABASE\ORANGE\LOGFILES\LOG8X4ORANGE.ORA
ORA-00310: archived log contains sequence 11979; sequence 11981 required
ORA-00334: archived log: 'F:\DATABASE\ORANGE\LOGFILES\LOG8X4ORANGE.ORA'
SQL> recover database using backup controlfile;
ORA-00279: 更改 1179942042 (在 10/02/2024 02:14:57 生成) 对于线程 1 是必需的
ORA-00289: 建议: F:\DATABASE\ORANGE\ARCHIVEORANGE_T0001_S11981_R779149394.ARC
ORA-00280: 更改 1179942042 (用于线程 1) 在序列 #11981 中
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
F:\DATABASE\ORANGE\LOGFILES\LOG7Y3ORANGE.ORA
ORA-00310: archived log contains sequence 11978; sequence 11981 required
ORA-00334: archived log: 'F:\DATABASE\ORANGE\LOGFILES\LOG7Y3ORANGE.ORA'
SQL> recover database using backup controlfile;
ORA-00279: 更改 1179942042 (在 10/02/2024 02:14:57 生成) 对于线程 1 是必需的
ORA-00289: 建议: F:\DATABASE\ORANGE\ARCHIVEORANGE_T0001_S11981_R779149394.ARC
ORA-00280: 更改 1179942042 (用于线程 1) 在序列 #11981 中
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
F:\DATABASE\ORANGE\LOGFILES\LOG7X3ORANGE.ORA
ORA-00310: archived log contains sequence 11978; sequence 11981 required
ORA-00334: archived log: 'F:\DATABASE\ORANGE\LOGFILES\LOG7X3ORANGE.ORA'
SQL> recover database using backup controlfile;
ORA-00279: 更改 1179942042 (在 10/02/2024 02:14:57 生成) 对于线程 1 是必需的
ORA-00289: 建议: F:\DATABASE\ORANGE\ARCHIVEORANGE_T0001_S11981_R779149394.ARC
ORA-00280: 更改 1179942042 (用于线程 1) 在序列 #11981 中
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
F:\DATABASE\ORANGE\LOGFILES\LOG6Y2ORANGE.ORA
Log applied.
Media recovery complete.
SQL> altert database open;
SP2-0734: unknown command beginning "altert dat..." - rest of line ignored.
SQL> alert database open;
SP2-0734: unknown command beginning "alert data..." - rest of line ignored.
SQL> alter database open resetlogs;
Database altered.
SQL> select status from v$instance;
STATUS
------------------------
OPEN
SQL> select name from usera a where a.nick_name='orange';
NAME
--------------------------------------------------------------------------------
USER
SQL>