联系:手机/微信(+86 17813235971) QQ(107644445)
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
异常断电之后,客户连接数据库报ORA-01033: ORACLE initialization or shutdown in progress错误,该错误一般是由于数据库没有正常open成功导致.

尝试人工启动数据库报ORA-600 3005错误

Tue Oct 27 19:02:59 2026 ALTER DATABASE RECOVER database Media Recovery Start started logmerger process Parallel Media Recovery started with 16 slaves Tue Oct 27 19:03:00 2026 Recovery of Online Redo Log: Thread 1 Group 3 Seq 111990 Reading mem 0 Mem# 0: D:\orcl\REDO03.LOG Completed: ALTER DATABASE RECOVER database Tue Oct 27 19:03:22 2026 alter database open Beginning crash recovery of 1 threads parallel recovery started with 15 processes Started redo scan Errors in file d:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_ora_1908.trc (incident=917810): ORA-00600: 内部错误代码, 参数: [3005], [1], [111991], [39659], [0], [0], [], [], [], [], [], [] Incident details in: d:\app\administrator\diag\rdbms\orcl\orcl\incident\incdir_917810\orcl_ora_1908_i917810.trc Aborting crash recovery due to error 600 Errors in file d:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_ora_1908.trc: ORA-00600: 内部错误代码, 参数: [3005], [1], [111991], [39659], [0], [0], [], [], [], [], [], [] Errors in file d:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_ora_1908.trc: ORA-00600: 内部错误代码, 参数: [3005], [1], [111991], [39659], [0], [0], [], [], [], [], [], [] ORA-600 signalled during: alter database open...
这个错误是一个较为常见的错误,由于redo日志或者thread信息丢失导致.检查数据文件头状态一致而且干净
SQL> set pages 10000 SQL> set numw 16 SQL> SELECT status, 2 checkpoint_change#, 3 to_char(checkpoint_time,'yyyy-mm-dd hh24:mi:ss') checkpoint_time, 4 last_change#, 5 count(*) ROW_NUM 6 FROM v$datafile 7 GROUP BY status, checkpoint_change#, checkpoint_time,last_change# 8 ORDER BY status, checkpoint_change#, checkpoint_time; STATUS CHECKPOINT_CHANGE# CHECKPOINT_TIME LAST_CHANGE# ROW_NUM ------- ------------------ ------------------- ---------------- ---------------- RECOVER 27917313690 2026-10-27 14:51:31 14 SYSTEM 27917313690 2026-10-27 14:51:31 3 SQL> SQL> SQL> set numw 16 SQL> col CHECKPOINT_TIME for a40 SQL> set lines 150 SQL> set pages 1000 SQL> SELECT status, 2 to_char(checkpoint_time,'yyyy-mm-dd hh24:mi:ss') checkpoint_time,FUZZY,checkpoint_change#, 3 count(*) ROW_NUM 4 FROM v$datafile_header 5 GROUP BY status, checkpoint_change#, to_char(checkpoint_time,'yyyy-mm-dd hh24:mi:ss'),fuzzy 6 ORDER BY status, checkpoint_change#, checkpoint_time; STATUS CHECKPOINT_TIME FUZ CHECKPOINT_CHANGE# ROW_NUM ------- ---------------------------------------- --- ------------------ ---------------- ONLINE 2026-10-27 14:51:31 NO 27917313690 17
基于这种情况,直接可以打开数据库,检测字典一致,基本上可以实现0丢失
SQL> alter database open resetlogs;
数据库已更改。
SQL> @D:/HCHECK
HCheck Version 07MAY18 on 28-10月-2026 12:20:10
----------------------------------------------
Catalog Version 11.2.0.1.0 (1102000100)
db_name: ORCL
Catalog Fixed
Procedure Name Version Vs Release Timestamp
Result
------------------------------ ... ---------- -- ---------- --------------
------
.- LobNotInObj ... 1102000100 <= *All Rel* 10/28 12:20:11 PASS
.- MissingOIDOnObjCol ... 1102000100 <= *All Rel* 10/28 12:20:11 PASS
.- SourceNotInObj ... 1102000100 <= *All Rel* 10/28 12:20:11 PASS
.- IndIndparMismatch ... 1102000100 <= 1102000100 10/28 12:20:12 PASS
.- InvCorrAudit ... 1102000100 <= 1102000100 10/28 12:20:12 PASS
.- OversizedFiles ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- PoorDefaultStorage ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- PoorStorage ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- PartSubPartMismatch ... 1102000100 <= 1102000100 10/28 12:20:12 PASS
.- TabPartCountMismatch ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- OrphanedTabComPart ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- MissingSum$ ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- MissingDir$ ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- DuplicateDataobj ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- ObjSynMissing ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- ObjSeqMissing ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- OrphanedUndo ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- OrphanedIndex ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- OrphanedIndexPartition ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- OrphanedIndexSubPartition ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- OrphanedTable ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- OrphanedTablePartition ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- OrphanedTableSubPartition ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- MissingPartCol ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- OrphanedSeg$ ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- OrphanedIndPartObj# ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- DuplicateBlockUse ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- FetUet ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- Uet0Check ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- ExtentlessSeg ... 1102000100 <= 1102000100 10/28 12:20:12 PASS
.- SeglessUET ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- BadInd$ ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- BadTab$ ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- BadIcolDepCnt ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- ObjIndDobj ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- TrgAfterUpgrade ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- ObjType0 ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- BadOwner ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- StmtAuditOnCommit ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- BadPublicObjects ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- BadSegFreelist ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- BadDepends ... 1102000100 <= *All Rel* 10/28 12:20:12 PASS
.- CheckDual ... 1102000100 <= *All Rel* 10/28 12:20:13 PASS
.- ObjectNames ... 1102000100 <= *All Rel* 10/28 12:20:13 PASS
.- BadCboHiLo ... 1102000100 <= *All Rel* 10/28 12:20:13 PASS
.- ChkIotTs ... 1102000100 <= *All Rel* 10/28 12:20:13 PASS
.- NoSegmentIndex ... 1102000100 <= *All Rel* 10/28 12:20:13 PASS
.- BadNextObject ... 1102000100 <= *All Rel* 10/28 12:20:13 PASS
.- DroppedROTS ... 1102000100 <= *All Rel* 10/28 12:20:13 PASS
.- FilBlkZero ... 1102000100 <= *All Rel* 10/28 12:20:13 PASS
.- DbmsSchemaCopy ... 1102000100 <= *All Rel* 10/28 12:20:13 PASS
.- OrphanedObjError ... 1102000100 > 1102000000 10/28 12:20:13 PASS
.- ObjNotLob ... 1102000100 <= *All Rel* 10/28 12:20:13 PASS
.- MaxControlfSeq ... 1102000100 <= *All Rel* 10/28 12:20:13 PASS
.- SegNotInDeferredStg ... 1102000100 > 1102000000 10/28 12:20:14 PASS
.- SystemNotRfile1 ... 1102000100 > 902000000 10/28 12:20:14 PASS
.- DictOwnNonDefaultSYSTEM ... 1102000100 <= *All Rel* 10/28 12:20:14 PASS
.- OrphanTrigger ... 1102000100 <= *All Rel* 10/28 12:20:14 PASS
.- ObjNotTrigger ... 1102000100 <= *All Rel* 10/28 12:20:14 PASS
---------------------------------------
28-10月-2026 12:20:14 Elapsed: 4 secs
---------------------------------------
Found 0 potential problem(s) and 0 warning(s)
PL/SQL 过程已成功完成。
基于当前情况,客户可以直接使用当前库,实现最小损失,最快速度恢复.
















