联系:手机/微信(+86 17813235971) QQ(107644445)
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
数据库启动报ORA-00316,ORA-00312,无法正常启动

通过Oracle数据库异常恢复检查脚本(Oracle Database Recovery Check)分析,确认是当前redo损坏

对于这种情况,只能是屏蔽一致性,强制拉库,结果在拉库过程中报ORA-600 2662错误

这个错误相对比较简单,修改下相关scn即可,数据库open成功
SQL> startup nomount pfile='/tmp/pfile'
ORACLE instance started.
Total System Global Area 3.8482E+10 bytes
Fixed Size 2261368 bytes
Variable Size 8187285128 bytes
Database Buffers 3.0199E+10 bytes
Redo Buffers 93593600 bytes
SQL> CREATE CONTROLFILE REUSE DATABASE "xifenfei" NORESETLOGS NOARCHIVELOG
2 MAXLOGFILES 50
3 MAXLOGMEMBERS 5
4 MAXDATAFILES 1000
5 MAXINSTANCES 8
6 MAXLOGHISTORY 2920
7 LOGFILE
8 group 1 '/u01/oracle/app/oradata/xifenfei/redo01.log' size 500M,
9 group 2 '/u01/oracle/app/oradata/xifenfei/redo02.log' size 500M,
10 group 6 '/u01/oracle/app/oradata/xifenfei/redo06.log' size 500M,
11 group 4 '/u01/oracle/app/oradata/xifenfei/redo04.log' size 500M,
12 group 5 '/u01/oracle/app/oradata/xifenfei/redo05.log' size 500M,
13 group 3 '/u01/oracle/app/oradata/xifenfei/redo03.log' size 500M
14 DATAFILE
15 '/u01/oracle/app/oradata/xifenfei/system01.dbf',
16 '/u01/oracle/app/oradata/xifenfei/sysaux01.dbf',
17 '/u01/oracle/app/oradata/xifenfei/undotbs01.dbf',
18 '/u01/oracle/app/oradata/xifenfei/users01.dbf',
………………
49 '/u01/oracle/app/oradata/xifenfei/XIFENFEI.dbf'
50 CHARACTER SET ZHS16GBK ;
Control file created.
SQL> recover database;
ORA-10877: error signaled in parallel recovery slave
SQL> recover database until cancel;
ORA-00279: change 2290050101 generated at 09/30/2022 23:18:22 needed for thread
1
ORA-00289: suggestion : /u02/oracle/arch/1_2_1116803861.dbf
ORA-00280: change 2290050101 for thread 1 is in sequence #2
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: '/u01/oracle/app/oradata/xifenfei/system01.dbf'
ORA-01112: media recovery not started
SQL> alter database open resetlogs;
Database altered.
检查数据库字典一致性
SQL> @1
HCheck Version 07MAY18 on 01-OCT-2022 01:07:48
----------------------------------------------
Catalog Version 11.2.0.4.0 (1102000400)
db_name: XIFENFEI
Catalog Fixed
Procedure Name Version Vs Release Timestamp
Result
------------------------------ ... ---------- -- ---------- --------------
------
.- LobNotInObj ... 1102000400 <= *All Rel* 10/01 01:07:48 PASS
.- MissingOIDOnObjCol ... 1102000400 <= *All Rel* 10/01 01:07:48 PASS
.- SourceNotInObj ... 1102000400 <= *All Rel* 10/01 01:07:48 PASS
.- OversizedFiles ... 1102000400 <= *All Rel* 10/01 01:07:48 PASS
.- PoorDefaultStorage ... 1102000400 <= *All Rel* 10/01 01:07:48 PASS
.- PoorStorage ... 1102000400 <= *All Rel* 10/01 01:07:48 PASS
.- TabPartCountMismatch ... 1102000400 <= *All Rel* 10/01 01:07:48 PASS
.- OrphanedTabComPart ... 1102000400 <= *All Rel* 10/01 01:07:48 PASS
.- MissingSum$ ... 1102000400 <= *All Rel* 10/01 01:07:48 PASS
.- MissingDir$ ... 1102000400 <= *All Rel* 10/01 01:07:48 PASS
.- DuplicateDataobj ... 1102000400 <= *All Rel* 10/01 01:07:48 PASS
.- ObjSynMissing ... 1102000400 <= *All Rel* 10/01 01:07:49 PASS
.- ObjSeqMissing ... 1102000400 <= *All Rel* 10/01 01:07:49 PASS
.- OrphanedUndo ... 1102000400 <= *All Rel* 10/01 01:07:49 PASS
.- OrphanedIndex ... 1102000400 <= *All Rel* 10/01 01:07:49 PASS
.- OrphanedIndexPartition ... 1102000400 <= *All Rel* 10/01 01:07:49 PASS
.- OrphanedIndexSubPartition ... 1102000400 <= *All Rel* 10/01 01:07:49 PASS
.- OrphanedTable ... 1102000400 <= *All Rel* 10/01 01:07:49 PASS
.- OrphanedTablePartition ... 1102000400 <= *All Rel* 10/01 01:07:49 PASS
.- OrphanedTableSubPartition ... 1102000400 <= *All Rel* 10/01 01:07:49 PASS
.- MissingPartCol ... 1102000400 <= *All Rel* 10/01 01:07:49 PASS
.- OrphanedSeg$ ... 1102000400 <= *All Rel* 10/01 01:07:49 PASS
.- OrphanedIndPartObj# ... 1102000400 <= *All Rel* 10/01 01:07:49 PASS
.- DuplicateBlockUse ... 1102000400 <= *All Rel* 10/01 01:07:49 PASS
.- FetUet ... 1102000400 <= *All Rel* 10/01 01:07:49 PASS
.- Uet0Check ... 1102000400 <= *All Rel* 10/01 01:07:49 PASS
.- SeglessUET ... 1102000400 <= *All Rel* 10/01 01:07:49 PASS
.- BadInd$ ... 1102000400 <= *All Rel* 10/01 01:07:49 PASS
.- BadTab$ ... 1102000400 <= *All Rel* 10/01 01:07:49 PASS
.- BadIcolDepCnt ... 1102000400 <= *All Rel* 10/01 01:07:49 PASS
.- ObjIndDobj ... 1102000400 <= *All Rel* 10/01 01:07:49 PASS
.- TrgAfterUpgrade ... 1102000400 <= *All Rel* 10/01 01:07:49 PASS
.- ObjType0 ... 1102000400 <= *All Rel* 10/01 01:07:49 PASS
.- BadOwner ... 1102000400 <= *All Rel* 10/01 01:07:49 PASS
.- StmtAuditOnCommit ... 1102000400 <= *All Rel* 10/01 01:07:49 PASS
.- BadPublicObjects ... 1102000400 <= *All Rel* 10/01 01:07:49 PASS
.- BadSegFreelist ... 1102000400 <= *All Rel* 10/01 01:07:49 PASS
.- BadDepends ... 1102000400 <= *All Rel* 10/01 01:07:49 PASS
.- CheckDual ... 1102000400 <= *All Rel* 10/01 01:07:50 PASS
.- ObjectNames ... 1102000400 <= *All Rel* 10/01 01:07:50 PASS
.- BadCboHiLo ... 1102000400 <= *All Rel* 10/01 01:07:50 PASS
.- ChkIotTs ... 1102000400 <= *All Rel* 10/01 01:07:50 PASS
.- NoSegmentIndex ... 1102000400 <= *All Rel* 10/01 01:07:50 PASS
.- BadNextObject ... 1102000400 <= *All Rel* 10/01 01:07:50 PASS
.- DroppedROTS ... 1102000400 <= *All Rel* 10/01 01:07:50 PASS
.- FilBlkZero ... 1102000400 <= *All Rel* 10/01 01:07:50 PASS
.- DbmsSchemaCopy ... 1102000400 <= *All Rel* 10/01 01:07:50 PASS
.- OrphanedObjError ... 1102000400 > 1102000000 10/01 01:07:50 PASS
.- ObjNotLob ... 1102000400 <= *All Rel* 10/01 01:07:50 PASS
.- MaxControlfSeq ... 1102000400 <= *All Rel* 10/01 01:07:50 PASS
.- SegNotInDeferredStg ... 1102000400 > 1102000000 10/01 01:07:50 PASS
.- SystemNotRfile1 ... 1102000400 > 902000000 10/01 01:07:50 PASS
.- DictOwnNonDefaultSYSTEM ... 1102000400 <= *All Rel* 10/01 01:07:50 PASS
.- OrphanTrigger ... 1102000400 <= *All Rel* 10/01 01:07:50 PASS
.- ObjNotTrigger ... 1102000400 <= *All Rel* 10/01 01:07:50 PASS
---------------------------------------
01-OCT-2022 01:07:50 Elapsed: 2 secs
---------------------------------------
Found 0 potential problem(s) and 0 warning(s)
PL/SQL procedure successfully completed.
Statement processed.
数据库字典本身没有大问题,但是为了排除潜在风险,建议逻辑迁移到新库
