ORA-00316 ORA-00312----惜分飞

数据库启动报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.

数据库字典本身没有大问题,但是为了排除潜在风险,建议逻辑迁移到新库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值