联系:手机/微信(+86 17813235971) QQ(107644445)
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
客户数据库resetlogs报错
Tue Dec 19 15:21:23 2023 ALTER DATABASE MOUNT Successful mount of redo thread 1, with mount id 1683789043 Database mounted in Exclusive Mode Lost write protection disabled Completed: ALTER DATABASE MOUNT Tue Dec 19 15:22:01 2023 alter database open resetlogs RESETLOGS is being done without consistancy checks. This may result in a corrupted database. The database should be recreated. ORA-1248 signalled during: alter database open resetlogs... Tue Dec 19 16:16:26 2023 alter database datafile 83 offline Completed: alter database datafile 83 offline Tue Dec 19 16:19:13 2023 alter database open resetlogs RESETLOGS is being done without consistancy checks. This may result in a corrupted database. The database should be recreated. Archived Log entry 50 added for thread 1 sequence 3657135 ID 0x5d907698 dest 1: Tue Dec 19 16:20:01 2023 Errors in file /oracle/app/diag/rdbms/orcl/orcl/trace/orcl_ora_94696.trc: ORA-00333: 重做日志读取块 8806400 计数 16384 出错 ORA-00312: 联机日志 2 线程 1: '/data/oradata/orcl/redo2.log' ORA-27072: 文件 I/O 错误 Linux-x86_64 Error: 25: Inappropriate ioctl for device Additional information: 4 Additional information: 8806400 Additional information: 4325376 Errors in file /oracle/app/diag/rdbms/orcl/orcl/trace/orcl_ora_94696.trc: ORA-00333: 重做日志读取块 8806400 计数 16384 出错 ARCH: All Archive destinations made inactive due to error 333 ARCH: Closing local archive destination LOG_ARCHIVE_DEST_1: '/data/arch/1_3657136_874715183.dbf' (error 333) (orcl) Committing creation of archivelog '/data/arch/1_3657136_874715183.dbf' (error 333) Tue Dec 19 16:20:46 2023 Archived Log entry 51 added for thread 1 sequence 3657132 ID 0x5d907698 dest 1: Tue Dec 19 16:21:28 2023 Archived Log entry 52 added for thread 1 sequence 3657133 ID 0x5d907698 dest 1: Tue Dec 19 16:22:13 2023 Archived Log entry 53 added for thread 1 sequence 3657134 ID 0x5d907698 dest 1: RESETLOGS after incomplete recovery UNTIL CHANGE 161052517347 Resetting resetlogs activation ID 1569748632 (0x5d907698) Tue Dec 19 16:23:43 2023 Setting recovery target incarnation to 3 Tue Dec 19 16:23:43 2023 Assigning activation ID 1683789043 (0x645c94f3) LGWR: STARTING ARCH PROCESSES Tue Dec 19 16:23:43 2023 ARC0 started with pid=40, OS id=5391 ARC0: Archival started LGWR: STARTING ARCH PROCESSES COMPLETE ARC0: STARTING ARCH PROCESSES Thread 1 advanced to log sequence 2 (thread open) Tue Dec 19 16:23:44 2023 ARC1 started with pid=41, OS id=5393 Tue Dec 19 16:23:44 2023 ARC2 started with pid=42, OS id=5395 ARC1: Archival started Tue Dec 19 16:23:44 2023 ARC3 started with pid=43, OS id=5397 ARC2: Archival started ARC1: Becoming the 'no FAL' ARCH ARC1: Becoming the 'no SRL' ARCH ARC2: Becoming the heartbeat ARCH Thread 1 opened at log sequence 2 Current log# 2 seq# 2 mem# 0: /data/oradata/orcl/redo2.log Successful open of redo thread 1 Tue Dec 19 16:23:44 2023 MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set Tue Dec 19 16:23:44 2023 SMON: enabling cache recovery Tue Dec 19 16:23:44 2023 NSA2 started with pid=44, OS id=5399 ORA-01555 caused by SQL statement below (SQL ID: 4krwuz0ctqxdt, SCN: 0x0025.7f7d42df): select ctime, mtime, stime from obj$ where obj# = :1 Errors in file /oracle/app/diag/rdbms/orcl/orcl/trace/orcl_ora_94696.trc: ORA-00704: 引导程序进程失败 ORA-00704: 引导程序进程失败 ORA-00604: 递归 SQL 级别 1 出现错误 ORA-01555: 快照过旧: 回退段号 27 (名称为 "_SYSSMU27_4233559991$") 过小 Errors in file /oracle/app/diag/rdbms/orcl/orcl/trace/orcl_ora_94696.trc: ORA-00704: 引导程序进程失败 ORA-00704: 引导程序进程失败 ORA-00604: 递归 SQL 级别 1 出现错误 ORA-01555: 快照过旧: 回退段号 27 (名称为 "_SYSSMU27_4233559991$") 过小 Error 704 happened during db open, shutting down database USER (ospid: 94696): terminating the instance due to error 704 Instance terminated by USER, pid = 94696 ORA-1092 signalled during: alter database open resetlogs... opiodr aborting process unknown ospid (94696) as a result of ORA-1092
通过以上信息,可以的出来以下结论:
1. 客户的硬件或者文件系统可能有问题,通过系统日志进一步确认底层异常
Dec 19 08:28:38 tdb2 kernel: sd 7:0:0:0: [sdb] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE Dec 19 08:28:38 tdb2 kernel: sd 7:0:0:0: [sdb] Sense Key : Medium Error [current] Dec 19 08:28:38 tdb2 kernel: sd 7:0:0:0: [sdb] Add. Sense: Unrecovered read error Dec 19 08:28:38 tdb2 kernel: sd 7:0:0:0: [sdb] CDB: Read(10): 28 00 47 bc ff c0 00 01 00 00 Dec 19 08:28:38 tdb2 kernel: end_request: critical medium error, dev sdb, sector 1203568576 Dec 19 08:28:38 tdb2 kernel: end_request: critical medium error, dev dm-3, sector 1203568576 Dec 19 08:28:38 tdb2 kernel: sd 7:0:0:0: [sdb] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE Dec 19 08:28:38 tdb2 kernel: sd 7:0:0:0: [sdb] Sense Key : Medium Error [current] Dec 19 08:28:38 tdb2 kernel: sd 7:0:0:0: [sdb] Add. Sense: Unrecovered read error Dec 19 08:28:38 tdb2 kernel: sd 7:0:0:0: [sdb] CDB: Read(10): 28 00 47 bd 00 c0 00 01 00 00 Dec 19 08:28:38 tdb2 kernel: end_request: critical medium error, dev sdb, sector 1203568832 Dec 19 08:28:38 tdb2 kernel: end_request: critical medium error, dev dm-3, sector 1203568832 Dec 19 08:28:38 tdb2 kernel: sd 7:0:0:0: [sdb] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE Dec 19 08:28:38 tdb2 kernel: sd 7:0:0:0: [sdb] Sense Key : Medium Error [current] Dec 19 08:28:38 tdb2 kernel: sd 7:0:0:0: [sdb] Add. Sense: Unrecovered read error Dec 19 08:28:38 tdb2 kernel: sd 7:0:0:0: [sdb] CDB: Read(10): 28 00 47 bd 00 80 00 00 08 00 Dec 19 08:28:38 tdb2 kernel: end_request: critical medium error, dev sdb, sector 1203568768 Dec 19 08:28:38 tdb2 kernel: end_request: critical medium error, dev dm-3, sector 1203568768 Dec 19 16:20:01 tdb2 kernel: sd 7:0:0:0: [sdb] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE Dec 19 16:20:01 tdb2 kernel: sd 7:0:0:0: [sdb] Sense Key : Medium Error [current] Dec 19 16:20:01 tdb2 kernel: sd 7:0:0:0: [sdb] Add. Sense: Unrecovered read error Dec 19 16:20:01 tdb2 kernel: sd 7:0:0:0: [sdb] CDB: Read(10): 28 00 9b 1a 28 20 00 01 00 00 Dec 19 16:20:01 tdb2 kernel: end_request: critical medium error, dev sdb, sector 2602182688 Dec 19 16:20:01 tdb2 kernel: end_request: critical medium error, dev dm-3, sector 2602182688 Dec 19 16:20:01 tdb2 kernel: sd 7:0:0:0: [sdb] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE Dec 19 16:20:01 tdb2 kernel: sd 7:0:0:0: [sdb] Sense Key : Medium Error [current] Dec 19 16:20:01 tdb2 kernel: sd 7:0:0:0: [sdb] Add. Sense: Unrecovered read error Dec 19 16:20:01 tdb2 kernel: sd 7:0:0:0: [sdb] CDB: Read(10): 28 00 9b 1a 29 20 00 01 00 00 Dec 19 16:20:01 tdb2 kernel: end_request: critical medium error, dev sdb, sector 2602182944 Dec 19 16:20:01 tdb2 kernel: end_request: critical medium error, dev dm-3, sector 2602182944 Dec 19 16:20:01 tdb2 kernel: sd 7:0:0:0: [sdb] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE Dec 19 16:20:01 tdb2 kernel: sd 7:0:0:0: [sdb] Sense Key : Medium Error [current] Dec 19 16:20:01 tdb2 kernel: sd 7:0:0:0: [sdb] Add. Sense: Unrecovered read error Dec 19 16:20:01 tdb2 kernel: sd 7:0:0:0: [sdb] CDB: Read(10): 28 00 9b 1a 29 00 00 00 08 00 Dec 19 16:20:01 tdb2 kernel: end_request: critical medium error, dev sdb, sector 2602182912 Dec 19 16:20:01 tdb2 kernel: end_request: critical medium error, dev dm-3, sector 2602182912
2. 数据库在强制拉库的时候,很可能是屏蔽了一致性,导致文件头scn过小
3. 在resetlogs之前,先offline了83号文件,这个将导致该文件的reseltogs scn和其他文件不一致,通过Oracle数据库异常恢复检查脚本(Oracle Database Recovery Check)

这个库由于客户在resetlogs之前offline了数据文件,导致一些麻烦,先使用Oracle Recovery Tools修改resetlogs scn

然后重建ctl,修改scn,打开数据库

hcheck检测字典一切正常
HCheck Version 07MAY18 on 26-12月-2023 18:44:20
----------------------------------------------
Catalog Version 11.2.0.1.0 (1102000100)
db_name: ORCL
Catalog Fixed
Procedure Name Version Vs Release Timestamp Result
------------------------------ ... ---------- -- ---------- -------------- ------
.- LobNotInObj ... 1102000100 <= *All Rel* 12/26 18:44:20
PASS
.- MissingOIDOnObjCol ... 1102000100 <= *All Rel* 12/26 18:44:20
PASS
.- SourceNotInObj ... 1102000100 <= *All Rel* 12/26 18:44:20
PASS
.- IndIndparMismatch ... 1102000100 <= 1102000100 12/26 18:44:21
PASS
.- InvCorrAudit ... 1102000100 <= 1102000100 12/26 18:44:21
PASS
.- OversizedFiles ... 1102000100 <= *All Rel* 12/26 18:44:21
PASS
.- PoorDefaultStorage ... 1102000100 <= *All Rel* 12/26 18:44:21
PASS
.- PoorStorage ... 1102000100 <= *All Rel* 12/26 18:44:21
PASS
.- PartSubPartMismatch ... 1102000100 <= 1102000100 12/26 18:44:21
PASS
.- TabPartCountMismatch ... 1102000100 <= *All Rel* 12/26 18:44:21
*** 2023-12-26 18:44:21.507
PASS
.- OrphanedTabComPart ... 1102000100 <= *All Rel* 12/26 18:44:21
PASS
.- MissingSum$ ... 1102000100 <= *All Rel* 12/26 18:44:21
PASS
.- MissingDir$ ... 1102000100 <= *All Rel* 12/26 18:44:21
PASS
.- DuplicateDataobj ... 1102000100 <= *All Rel* 12/26 18:44:21
PASS
.- ObjSynMissing ... 1102000100 <= *All Rel* 12/26 18:44:21
PASS
.- ObjSeqMissing ... 1102000100 <= *All Rel* 12/26 18:44:22
PASS
.- OrphanedUndo ... 1102000100 <= *All Rel* 12/26 18:44:22
PASS
.- OrphanedIndex ... 1102000100 <= *All Rel* 12/26 18:44:22
PASS
.- OrphanedIndexPartition ... 1102000100 <= *All Rel* 12/26 18:44:22
PASS
.- OrphanedIndexSubPartition ... 1102000100 <= *All Rel* 12/26 18:44:22
PASS
.- OrphanedTable ... 1102000100 <= *All Rel* 12/26 18:44:22
PASS
.- OrphanedTablePartition ... 1102000100 <= *All Rel* 12/26 18:44:22
PASS
.- OrphanedTableSubPartition ... 1102000100 <= *All Rel* 12/26 18:44:22
PASS
.- MissingPartCol ... 1102000100 <= *All Rel* 12/26 18:44:22
PASS
.- OrphanedSeg$ ... 1102000100 <= *All Rel* 12/26 18:44:22
PASS
.- OrphanedIndPartObj# ... 1102000100 <= *All Rel* 12/26 18:44:22
PASS
.- DuplicateBlockUse ... 1102000100 <= *All Rel* 12/26 18:44:22
PASS
.- FetUet ... 1102000100 <= *All Rel* 12/26 18:44:22
PASS
.- Uet0Check ... 1102000100 <= *All Rel* 12/26 18:44:22
PASS
.- ExtentlessSeg ... 1102000100 <= 1102000100 12/26 18:44:22
PASS
.- SeglessUET ... 1102000100 <= *All Rel* 12/26 18:44:22
PASS
.- BadInd$ ... 1102000100 <= *All Rel* 12/26 18:44:22
PASS
.- BadTab$ ... 1102000100 <= *All Rel* 12/26 18:44:22
PASS
.- BadIcolDepCnt ... 1102000100 <= *All Rel* 12/26 18:44:22
PASS
.- ObjIndDobj ... 1102000100 <= *All Rel* 12/26 18:44:22
PASS
.- TrgAfterUpgrade ... 1102000100 <= *All Rel* 12/26 18:44:22
PASS
.- ObjType0 ... 1102000100 <= *All Rel* 12/26 18:44:22
PASS
.- BadOwner ... 1102000100 <= *All Rel* 12/26 18:44:22
PASS
.- StmtAuditOnCommit ... 1102000100 <= *All Rel* 12/26 18:44:22
PASS
.- BadPublicObjects ... 1102000100 <= *All Rel* 12/26 18:44:22
PASS
.- BadSegFreelist ... 1102000100 <= *All Rel* 12/26 18:44:22
PASS
.- BadDepends ... 1102000100 <= *All Rel* 12/26 18:44:22
*** 2023-12-26 18:44:22.571
PASS
.- CheckDual ... 1102000100 <= *All Rel* 12/26 18:44:22
PASS
.- ObjectNames ... 1102000100 <= *All Rel* 12/26 18:44:22
PASS
.- BadCboHiLo ... 1102000100 <= *All Rel* 12/26 18:44:22
PASS
.- ChkIotTs ... 1102000100 <= *All Rel* 12/26 18:44:23
PASS
.- NoSegmentIndex ... 1102000100 <= *All Rel* 12/26 18:44:23
PASS
.- BadNextObject ... 1102000100 <= *All Rel* 12/26 18:44:23
PASS
.- DroppedROTS ... 1102000100 <= *All Rel* 12/26 18:44:23
PASS
.- FilBlkZero ... 1102000100 <= *All Rel* 12/26 18:44:23
PASS
.- DbmsSchemaCopy ... 1102000100 <= *All Rel* 12/26 18:44:23
PASS
.- OrphanedObjError ... 1102000100 > 1102000000 12/26 18:44:23
PASS
.- ObjNotLob ... 1102000100 <= *All Rel* 12/26 18:44:23
PASS
.- MaxControlfSeq ... 1102000100 <= *All Rel* 12/26 18:44:23
PASS
.- SegNotInDeferredStg ... 1102000100 > 1102000000 12/26 18:44:23
PASS
.- SystemNotRfile1 ... 1102000100 > 902000000 12/26 18:44:23
*** 2023-12-26 18:44:23.779
PASS
.- DictOwnNonDefaultSYSTEM ... 1102000100 <= *All Rel* 12/26 18:44:23
PASS
.- OrphanTrigger ... 1102000100 <= *All Rel* 12/26 18:44:23
PASS
.- ObjNotTrigger ... 1102000100 <= *All Rel* 12/26 18:44:23
PASS
---------------------------------------
26-12月-2023 18:44:23 Elapsed: 3 secs
---------------------------------------
Found 0 potential problem(s) and 0 warning(s)
然后增加temp,导出数据数据,完成本次数据库救援
