标签云
asm恢复 bbed bootstrap$ dul In Memory kcbzib_kcrsds_1 kccpb_sanity_check_2 kfed MySQL恢复 ORA-00312 ORA-00607 ORA-00704 ORA-01110 ORA-01555 ORA-01578 ORA-08103 ORA-600 2131 ORA-600 2662 ORA-600 2663 ORA-600 3020 ORA-600 4000 ORA-600 4137 ORA-600 4193 ORA-600 4194 ORA-600 16703 ORA-600 kcbzib_kcrsds_1 ORA-600 KCLCHKBLK_4 ORA-15042 ORA-15196 ORACLE 12C oracle dul ORACLE PATCH Oracle Recovery Tools oracle加密恢复 oracle勒索 oracle勒索恢复 oracle异常恢复 Oracle 恢复 ORACLE恢复 ORACLE数据库恢复 oracle 比特币 OSD-04016 YOUR FILES ARE ENCRYPTED 勒索恢复 比特币加密文章分类
- Others (2)
- 中间件 (2)
- WebLogic (2)
- 操作系统 (102)
- 数据库 (1,661)
- DB2 (22)
- MySQL (72)
- Oracle (1,524)
- Data Guard (51)
- EXADATA (8)
- GoldenGate (21)
- ORA-xxxxx (159)
- ORACLE 12C (72)
- ORACLE 18C (6)
- ORACLE 19C (14)
- ORACLE 21C (3)
- Oracle 23ai (7)
- Oracle ASM (65)
- Oracle Bug (8)
- Oracle RAC (52)
- Oracle 安全 (6)
- Oracle 开发 (28)
- Oracle 监听 (28)
- Oracle备份恢复 (555)
- Oracle安装升级 (90)
- Oracle性能优化 (62)
- 专题索引 (5)
- 勒索恢复 (77)
- PostgreSQL (18)
- PostgreSQL恢复 (6)
- SQL Server (27)
- SQL Server恢复 (8)
- TimesTen (7)
- 达梦数据库 (2)
- 生活娱乐 (2)
- 至理名言 (11)
- 虚拟化 (2)
- VMware (2)
- 软件开发 (37)
- Asp.Net (9)
- JavaScript (12)
- PHP (2)
- 小工具 (20)
-
最近发表
- ORA-65088: database open should be retried
- Oracle 19c异常恢复—ORA-01209/ORA-65088
- ORA-600 16703故障再现
- 数据库启动报ORA-27102 OSD-00026 O/S-Error: (OS 1455)
- .[metro777@cock.li].Elbie勒索病毒加密数据库恢复
- 应用连接错误,初始化mysql数据库恢复
- RAC默认服务配置优先节点
- Oracle 19c RAC 替换私网操作
- 监听报TNS-12541 TNS-12560 TNS-00511错误
- drop tablespace xxx including contents恢复
- Linux 8 修改网卡名称
- 如何修改集群的公网信息(包括 VIP) (Doc ID 1674442.1)
- 如何在 oracle 集群环境下修改私网信息 (Doc ID 2103317.1)
- ORA-600 [kcvfdb_pdb_set_clean_scn: cleanckpt] 相关bug
- ORA-600 krhpfh_03-1210故障处理
- 19c库启动报ORA-600 kcbzib_kcrsds_1
- DBMS_SESSION.set_context提示ORA-01031问题解决
- redo写丢失导致ORA-600 kcrf_resilver_log_1故障
- 硬件故障导致ORA-01242 ORA-01122等错误
- 200T 数据库非归档无备份恢复
_allow_resetlogs_corruption 的搜索结果
open只有system文件的库
有一个朋友自己想测试只用system文件open库,闲着没事给他测试了下,顺利open成功(主要还是经验比较多,规避了很多坑)
1. 准备参数文件
*.audit_file_dest='C:\app\XFF\admin\ORCL\adump' *.audit_trail='none' *.compatible='11.2.0.3.0' *.control_files='H:\TEMP\11203\control01.ctl' *.db_block_size=8192 *.db_domain='' *.db_name='DBM' *.diagnostic_dest='C:\app\XFF' *.dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)' *.nls_language='SIMPLIFIED CHINESE' *.nls_territory='CHINA' *.open_cursors=300 *.pga_aggregate_target=2147483648 *.processes=150 *.remote_login_passwordfile='EXCLUSIVE' *.sessions=170 *.sga_target=6442450944 *.undo_tablespace='UNDOTBS1' undo_management=MANUAL _corrupted_rollback_segments= _allow_resetlogs_corruption=true
2. 准备重建ctl语句
CREATE CONTROLFILE REUSE DATABASE "DBM" RESETLOGS NOARCHIVELOG MAXLOGFILES 50 MAXLOGMEMBERS 5 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 226 LOGFILE GROUP 1 'H:\TEMP\11203\redo01.log' SIZE 50M, GROUP 2 'H:\TEMP\11203\redo02.log' SIZE 50M, GROUP 3 'H:\TEMP\11203\redo03.log' SIZE 50M DATAFILE 'H:\TEMP\11203\system01.dbf' CHARACTER SET ZHS16GBK ;
3. 重建ctl并且resetogs open库
SQL> recover database using backup controlfile until cancel; ORA-00279: 更改 40438873410 (在 10/21/2022 14:06:16 生成) 对于线程 1 是必需的 ORA-00289: 建议: C:\APP\XFF\PRODUCT\11.2.0.3\DBHOME_1\RDBMS\ARC0000000093_1118545292.0001 ORA-00280: 更改 40438873410 (用于线程 1) 在序列 #93 中 指定日志: {<RET>=suggested | filename | AUTO | CANCEL} cancel ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 将出现如下错误 ORA-01194: 文件 1 需要更多的恢复来保持一致性 ORA-01110: 数据文件 1: 'H:\TEMP\11203\SYSTEM01.DBF' ORA-01112: 未启动介质恢复 SQL> alter database open resetlogs; alter database open resetlogs * 第 1 行出现错误: ORA-01092: ORACLE instance terminated. Disconnection forced ORA-01176: data dictionary has more than the 100 files allowed by the controlfie 进程 ID: 3952 会话 ID: 14 序列号: 3
MAXDATAFILES值不对修改正确值,重建ctl,open库
SQL> RECOVER DATABASE; 完成介质恢复。 SQL> ALTER DATABASE OPEN; ALTER DATABASE OPEN * 第 1 行出现错误: ORA-01092: ORACLE instance terminated. Disconnection forced ORA-00604: error occurred at recursive SQL level 1 ORA-01555: snapshot too old: rollback segment number with name "" too small 进程 ID: 6916 会话 ID: 14 序列号: 1
alert日志内容
Database Characterset is ZHS16GBK Errors in file C:\APP\XFF\diag\rdbms\dbm\test\trace\test_smon_9384.trc: ORA-00604: 递归 SQL 级别 1 出现错误 ORA-01555: 快照过旧: 回退段号 (名称为 "") 过小 Errors in file C:\APP\XFF\diag\rdbms\dbm\test\trace\test_ora_6916.trc: ORA-00604: 递归 SQL 级别 1 出现错误 ORA-01555: 快照过旧: 回退段号 (名称为 "") 过小 Errors in file C:\APP\XFF\diag\rdbms\dbm\test\trace\test_ora_6916.trc: ORA-00604: 递归 SQL 级别 1 出现错误 ORA-01555: 快照过旧: 回退段号 (名称为 "") 过小 Error 604 happened during db open, shutting down database USER (ospid: 6916): terminating the instance due to error 604 Errors in file C:\APP\XFF\diag\rdbms\dbm\test\trace\test_smon_9384.trc (incident=2521): ORA-00600: 内部错误代码, 参数: [2662], [9], [1784188335], [9], [1784216952], [6019273], [], [], [], [], [], [] Incident details in: C:\APP\XFF\diag\rdbms\dbm\test\incident\incdir_2521\test_smon_9384_i2521.trc Use ADRCI or Support Workbench to package the incident. See Note 411.1 at My Oracle Support for error and packaging details. Non-fatal internal error happenned while SMON was doing temporary segment drop. SMON encountered 1 out of maximum 100 non-fatal internal errors. Tue Nov 01 10:17:49 2022 Instance terminated by USER, pid = 6916 ORA-1092 signalled during: ALTER DATABASE OPEN...
修改文件头scn,并正常open库
SQL> startup nomount pfile='d:/pfile.txt' ORACLE 例程已经启动。 Total System Global Area 6413680640 bytes Fixed Size 2267184 bytes Variable Size 1107298256 bytes Database Buffers 5284823040 bytes Redo Buffers 19292160 bytes SQL> alter database mount; 数据库已更改。 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 ------- ---------------------------------------- --- ------------------ ---------------- OFFLINE 0 121 ONLINE 2022-11-01 10:17:44 YES 40438893615 1
SQL> alter database open; 数据库已更改。 SQL> select name from v$datafile; NAME -------------------------------------------------------------------------- H:\TEMP\11203\SYSTEM01.DBF C:\APP\XFF\PRODUCT\11.2.0.3\DBHOME_1\DATABASE\MISSING00002 C:\APP\XFF\PRODUCT\11.2.0.3\DBHOME_1\DATABASE\MISSING00003 C:\APP\XFF\PRODUCT\11.2.0.3\DBHOME_1\DATABASE\MISSING00004 C:\APP\XFF\PRODUCT\11.2.0.3\DBHOME_1\DATABASE\MISSING00005 ……………… C:\APP\XFF\PRODUCT\11.2.0.3\DBHOME_1\DATABASE\MISSING00121 C:\APP\XFF\PRODUCT\11.2.0.3\DBHOME_1\DATABASE\MISSING00122 已选择122行。
恢复完成
存储强制拉lun导致数据库异常恢复
通过存储工程师强制拉起来lun(清除掉了cache),但是数据库无法正常mount
Fri Sep 30 17:22:57 BEIST 2022 ALTER DATABASE MOUNT Fri Sep 30 17:22:57 BEIST 2022 This instance was first to mount Fri Sep 30 17:22:58 BEIST 2022 Starting background process ASMB ASMB started with pid=25, OS id=12976304 Starting background process RBAL RBAL started with pid=26, OS id=12779520 Fri Sep 30 17:23:02 BEIST 2022 SUCCESS: diskgroup DATA was mounted Fri Sep 30 17:23:06 BEIST 2022 Errors in file /home/oracle/admin/xifenfei/udump/xifenfei2_ora_14549110.trc: ORA-00600: internal error code, arguments: [kccpb_sanity_check_2], [423012], [422765], [0x000000000], [], [], [], [] Fri Sep 30 17:23:07 BEIST 2022 ORA-600 signalled during: ALTER DATABASE MOUNT... Fri Sep 30 17:23:07 BEIST 2022 Trace dumping is performing id=[cdmp_20220930172307] Fri Sep 30 17:23:09 BEIST 2022 Shutting down instance (abort) License high water mark = 1 Instance terminated by USER, pid = 9175148
可以要求保护第一现场,把asm中的数据恢复到文件系统中,然后进行恢复,由于客户是10g的环境,无法直接使用asmcmd中的cp实现此项操作,数据库也没有mount成功(无法使用rman的copy),考虑使用oracle的amdu实现此项操作需求.在拷贝过程中报AMDU-00204报错
root@xifenfei2:/recover/amduo#./amdu -diskstring '/dev/rhdiskpower*' -extract data.298 -noreport amdu_2022_10_01_14_25_31/ AMDU-00204: file not found; arguments: [3] [DATA] LEM-00031: Error encountered in lempgmh after calling lmserr.
通过dbv校验拷贝出来的数据文件
racle@xifenfei2:/recover#dbv file=/recover/amduo/amdu_2022_10_01_14_25_31/DATA_298.f DBVERIFY: Release 10.2.0.5.0 - Production on Sat Oct 1 14:36:50 2022 Copyright (c) 1982, 2007, Oracle. All rights reserved. DBVERIFY - Verification starting : FILE = /recover/amduo/amdu_2022_10_01_14_33_26/DATA_298.f DBVERIFY - Verification complete Total Pages Examined : 262144 Total Pages Processed (Data) : 0 Total Pages Failing (Data) : 0 Total Pages Processed (Index): 0 Total Pages Failing (Index): 0 Total Pages Processed (Other): 262143 Total Pages Processed (Seg) : 0 Total Pages Failing (Seg) : 0 Total Pages Empty : 1 Total Pages Marked Corrupt : 0 Total Pages Influx : 0 Highest block SCN : 121293100 (0.121293100)
确认此报错(AMDU-00204 LEM-00031)对于拷贝出来的数据文件无直接影响,可以忽略,拷贝出来所有文件进行重建ctl,报ORA-01159错误
SQL> CREATE CONTROLFILE REUSE DATABASE "xifenfei" NORESETLOGS NOARCHIVELOG 2 MAXLOGFILES 50 MAXLOGMEMBERS 5 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 226 LOGFILE group 5 '/recover/df/DATA_262.f' size 200M , group 2 '/recover/df/DATA_266.f' size 200M , group 1 '/recover/df/DATA_267.f' size 200M , group 3 '/recover/df/DATA_281.f' size 200M , group 4 '/recover/df/DATA_282.f' size 200M , group 6 '/recover/df/DATA_283.f' size 200M DATAFILE '/recover/df/DATA_295.f', '/recover/df/DATA_298.f', '/recover/df/DATA_272.f', '/recover/df/DATA_273.f', '/recover/df/DATA_296.f', '/recover/df/DATA_274.f', '/recover/df/DATA_276.f', '/recover/df/DATA_277.f', '/recover/df/DATA_275.f', '/recover/df/DATA_279.f', '/recover/df/DATA_278.f', '/recover/df/DATA_288.f', '/recover/df/DATA_269.f', '/recover/df/DATA_300.f', '/recover/df/DATA_264.f', '/recover/df/DATA_287.f', '/recover/df/DATA_280.f', '/recover/df/DATA_286.f', '/recover/df/DATA_268.f', '/recover/df/DATA_285.f', '/recover/df/DATA_297.f' CHARACTER SET UTF8 ; 37 CREATE CONTROLFILE REUSE DATABASE "xifenfei" NORESETLOGS NOARCHIVELOG * ERROR at line 1: ORA-01503: CREATE CONTROLFILE failed ORA-01159: file is not from same database as previous files - wrong database id ORA-01110: data file 3: '/recover/df/DATA_288.f'
由于部分文件不是该库的,通过进一步分析,除掉不是该库的文件,重建ctl文件成功.尝试recover数据库,报大量ORA-07445错误,由于cache丢失redo损坏导致,此类操作可能导致数据文件损坏【恢复需要谨慎,最好对数据文件做一次备份】
Sat Oct 01 16:23:16 BEIST 2022 ALTER DATABASE RECOVER database Media Recovery Start parallel recovery started with 15 processes Sat Oct 01 16:23:16 BEIST 2022 Recovery of Online Redo Log: Thread 1 Group 5 Seq 2202 Reading mem 0 Mem# 0: /recover/df/DATA_262.f Sat Oct 01 16:23:16 BEIST 2022 Recovery of Online Redo Log: Thread 2 Group 6 Seq 2394 Reading mem 0 Mem# 0: /recover/df/DATA_283.f Sat Oct 01 16:23:28 BEIST 2022 Recovery of Online Redo Log: Thread 2 Group 3 Seq 2395 Reading mem 0 Mem# 0: /recover/df/DATA_281.f Sat Oct 01 16:23:34 BEIST 2022 Recovery of Online Redo Log: Thread 1 Group 1 Seq 2203 Reading mem 0 Mem# 0: /recover/df/DATA_267.f Sat Oct 01 16:23:35 BEIST 2022 Errors in file /home/oracle/admin/xifenfei/bdump/xifenfei2_p009_13107402.trc: ORA-07445: exception encountered: core dump [kcbzfc+00dc] [SIGSEGV] Sat Oct 01 16:23:35 BEIST 2022 Errors in file /home/oracle/admin/xifenfei/bdump/xifenfei2_p014_7929944.trc: ORA-07445: exception encountered: core dump [kcbzfc+00dc] [SIGSEGV] Sat Oct 01 16:23:35 BEIST 2022 Errors in file /home/oracle/admin/xifenfei/bdump/xifenfei2_p011_10092678.trc: ORA-07445: exception encountered: core dump [kcbzfc+00dc] [SIGSEGV] Sat Oct 01 16:23:35 BEIST 2022 Errors in file /home/oracle/admin/xifenfei/bdump/xifenfei2_dbw1_12189898.trc: ORA-07445: exception encountered: core dump [kcbzdh+0324] [SIGSEGV] Sat Oct 01 16:23:35 BEIST 2022 Errors in file /home/oracle/admin/xifenfei/bdump/xifenfei2_p005_14549014.trc: ORA-07445: exception encountered: core dump [kcbbufaddr2hdr+00d8] [SIGSEGV] Sat Oct 01 16:23:35 BEIST 2022 Hex dump of (file 6, block 10) in trace file /home/oracle/admin/xifenfei/bdump/xifenfei2_dbw0_13565988.trc Corrupt block relative dba: 0x0180000a (file 6, block 10) Bad header found during buffer corrupt after write Data in bad block: type: 2 format: 1 rdba: 0x00000180 last change scn: 0xa0c3.000a6eeb seq: 0x0 flg: 0x00 spare1: 0x2 spare2: 0xa2 spare3: 0x3486 consistency value in tail: 0x0000a0c3 check value in block header: 0x204 block checksum disabled Reread of rdba: 0x0180000a (file 6, block 10) found different data Sat Oct 01 16:23:35 BEIST 2022 Errors in file /home/oracle/admin/xifenfei/bdump/xifenfei2_dbw0_13565988.trc: ORA-07445: exception encountered: core dump [kcbbiop+01b8] [SIGSEGV] [Invalid permissions for mapped object] Sat Oct 01 16:23:36 BEIST 2022 Errors in file /home/oracle/admin/xifenfei/bdump/xifenfei2_p014_7929944.trc: ORA-07445: exception encountered: core dump [kcbs_dump_adv_state+027c] [SIGSEGV] ORA-07445: exception encountered: core dump [kcbzfc+00dc] [SIGSEGV] [Address not mapped to object] Sat Oct 01 16:23:36 BEIST 2022 Trace dumping is performing id=[cdmp_20221001162336] Sat Oct 01 16:23:37 BEIST 2022 Errors in file /home/oracle/admin/xifenfei/bdump/xifenfei2_p011_10092678.trc: ORA-07445: exception encountered: core dump [kcbs_dump_adv_state+027c] [SIGSEGV] ORA-07445: exception encountered: core dump [kcbzfc+00dc] [SIGSEGV] [Address not mapped to object] Sat Oct 01 16:23:37 BEIST 2022 Errors in file /home/oracle/admin/xifenfei/bdump/xifenfei2_p009_13107402.trc: ORA-07445: exception encountered: core dump [kcbs_dump_adv_state+027c] [SIGSEGV] ORA-07445: exception encountered: core dump [kcbzfc+00dc] [SIGSEGV] [Address not mapped to object] Sat Oct 01 16:23:37 BEIST 2022 Errors in file /home/oracle/admin/xifenfei/bdump/xifenfei2_dbw1_12189898.trc: ORA-07445: exception encountered: core dump [kcbs_dump_adv_state+027c] [SIGSEGV] ORA-07445: exception encountered: core dump [kcbzdh+0324] [SIGSEGV] [Address not mapped to object] Sat Oct 01 16:23:37 BEIST 2022 Errors in file /home/oracle/admin/xifenfei/bdump/xifenfei2_p005_14549014.trc: ORA-07445: exception encountered: core dump [kcbs_dump_adv_state+027c] [SIGSEGV] ORA-07445: exception encountered: core dump [kcbbufaddr2hdr+00d8] [SIGSEGV] [Address not mapped to object] Sat Oct 01 16:23:37 BEIST 2022 Errors in file /home/oracle/admin/xifenfei/bdump/xifenfei2_dbw0_13565988.trc: ORA-07445: exception encountered: core dump [kcbs_dump_adv_state+027c] [SIGSEGV] ORA-07445: exception encountered: core dump [kcbbiop+01b8] [SIGSEGV] [Invalid permissions for mapped object] Sat Oct 01 16:23:37 BEIST 2022 Errors in file /home/oracle/admin/xifenfei/bdump/xifenfei2_p005_14549014.trc: ORA-00607: Internal error occurred while making a change to a data block ORA-00602: internal programming exception ORA-07445: exception encountered: core dump [kcbs_dump_adv_state+027c] [SIGSEGV] ORA-07445: exception encountered: core dump [kcbbufaddr2hdr+00d8] [SIGSEGV] [Address not mapped to object] Sat Oct 01 16:23:38 BEIST 2022 Errors in file /home/oracle/admin/xifenfei/bdump/xifenfei2_p010_9502918.trc: ORA-00600: internal error code, arguments: [3020], [3], [31913], [2], [2395], [210418], [16], [] ORA-10567: Redo is inconsistent with data block (file# 3, block# 31913) ORA-10564: tablespace SYSAUX ORA-01110: data file 3: '/recover/df/DATA_278.f' ORA-10560: block type 'FIRST LEVEL BITMAP BLOCK' Sat Oct 01 16:23:39 BEIST 2022 Errors in file /home/oracle/admin/xifenfei/bdump/xifenfei2_p010_9502918.trc: ORA-07445: exception encountered: core dump [kcbs_dump_adv_state+027c] [SIGSEGV] ORA-00600: internal error code, arguments: [3020], [3], [31913], [2], [2395], [210418], [16], [] ORA-10567: Redo is inconsistent with data block (file# 3, block# 31913) ORA-10564: tablespace SYSAUX ORA-01110: data file 3: '/recover/df/DATA_278.f' ORA-10560: block type 'FIRST LEVEL BITMAP BLOCK' Sat Oct 01 16:23:39 BEIST 2022 Errors in file /home/oracle/admin/xifenfei/bdump/xifenfei2_pmon_14418166.trc: ORA-00471: DBWR process terminated with error Sat Oct 01 16:23:39 BEIST 2022 PMON: terminating instance due to error 471 Sat Oct 01 16:23:40 BEIST 2022 Errors in file /home/oracle/admin/xifenfei/bdump/xifenfei2_p010_9502918.trc: ORA-07445: exception encountered: core dump [kcbs_dump_adv_state+027c] [SIGSEGV] ORA-07445: exception encountered: core dump [kcbs_dump_adv_state+027c] [SIGSEGV] ORA-00600: internal error code, arguments: [3020], [3], [31913], [2], [2395], [210418], [16], [] ORA-10567: Redo is inconsistent with data block (file# 3, block# 31913) ORA-10564: tablespace SYSAUX ORA-01110: data file 3: '/recover/df/DATA_278.f' ORA-10560: block type 'FIRST LEVEL BITMAP BLOCK' Sat Oct 01 16:23:46 BEIST 2022 Dump system state for local instance only System State dumped to trace file /home/oracle/admin/xifenfei/bdump/xifenfei2_diag_15401212.trc Sat Oct 01 16:23:46 BEIST 2022 Trace dumping is performing id=[cdmp_20221001162346] Sat Oct 01 16:23:49 BEIST 2022 Instance terminated by PMON, pid = 14418166
绕过redo,直接强制启动库,报ORA-01092错误
QL> startup mount pfile='/tmp/pfile' ORACLE instance started. Total System Global Area 10737418240 bytes Fixed Size 2114208 bytes Variable Size 1560284512 bytes Database Buffers 9160359936 bytes Redo Buffers 14659584 bytes Database mounted. SQL> alter database open resetlogs; alter database open resetlogs * ERROR at line 1: ORA-01092: ORACLE instance terminated. Disconnection forced
分析alert日志,确认是由于undo异常导致
Additional information: 3 Sat Oct 01 17:25:21 BEIST 2022 Setting recovery target incarnation to 2 Sat Oct 01 17:25:21 BEIST 2022 Assigning activation ID 1094862311 (0x414245e7) Thread 1 opened at log sequence 1 Current log# 1 seq# 1 mem# 0: /recover/df/DATA_267.f1 Successful open of redo thread 1 Sat Oct 01 17:25:21 BEIST 2022 MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set Sat Oct 01 17:25:21 BEIST 2022 SMON: enabling cache recovery Sat Oct 01 17:25:23 BEIST 2022 ORA-01555 caused by SQL statement below (SQL ID: 4krwuz0ctqxdt, SCN: 0x0000.6ee0bde5): Sat Oct 01 17:25:23 BEIST 2022 select ctime, mtime, stime from obj$ where obj# = :1 Sat Oct 01 17:25:23 BEIST 2022 Errors in file /home/oracle/admin/xifenfei/udump/xifenfei2_ora_19726450.trc: ORA-00704: bootstrap process failure ORA-00704: bootstrap process failure ORA-00604: error occurred at recursive SQL level 1 ORA-01555: snapshot too old: rollback segment number 8 with name "_SYSSMU8$" too small Error 704 happened during db open, shutting down database USER: terminating instance due to error 704 Instance terminated by USER, pid = 19726450 ORA-1092 signalled during: alter database open resetlogs...
类似此类错误的解决方案,以前写过参考:
在数据库open过程中常遇到ORA-01555汇总
数据库open过程遭遇ORA-1555对应sql语句补充
Oracle Recovery Tools恢复—ORA-00704 ORA-01555故障
使用_allow_resetlogs_corruption导致ORA-00704/ORA-01555故障
解决该问题,数据库启动正常,逻辑导出数据,导入数据完成此次恢复任务,实现绝大部分数据恢复
Oracle Recovery Tools恢复—ORA-00704 ORA-01555故障
由于虚拟化环境使用了精简模式(预分配),后面出现分布式存储空间不足,导致虚拟化环境中的数据库服务器异常,通过一系列操作恢复好系统,发现数据库无法open,请求我们给予解决
通过我们的Oracle Database Recovery Check脚本分析,分析文件的checkpoint scn 有部分3月2日,还有一些是2月28日,是严重不一致,而且对应的归档也丢失
基于这样的情况,试试看强制打开库
C:\Users\XIFENFEI>sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on 星期四 3月 11 23:51:39 2021 Copyright (c) 1982, 2013, Oracle. All rights reserved. 连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> startup mount pfile='d:/pfile.txt' ORACLE 例程已经启动。 Total System Global Area 1603411968 bytes Fixed Size 2281656 bytes Variable Size 469765960 bytes Database Buffers 1124073472 bytes Redo Buffers 7290880 bytes 数据库装载完毕。 SQL> recover database until cancel; ORA-00279: 更改 57834775 (在 02/28/2021 22:37:35 生成) 对于线程 1 是必需的 ORA-00289: 建议: D:\APP\XIFENFEI\PRODUCT\11.2.0.4\DBHOME_1\RDBMS\ARC0000003072_1043082043.0001 ORA-00280: 更改 57834775 (用于线程 1) 在序列 #3072 中 指定日志: {<RET>=suggested | filename | AUTO | CANCEL} cancel ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 将出现如下错误 ORA-01194: 文件 1 需要更多的恢复来保持一致性 ORA-01110: 数据文件 1: 'D:\BAIDUNETDISKDOWNLOAD\DATA\PROD\SYSTEM01.DBF' ORA-01112: 未启动介质恢复 SQL> alter database open resetlogs; alter database open resetlogs * 第 1 行出现错误: ORA-01092: ORACLE instance terminated. Disconnection forced ORA-00704: bootstrap process failure ORA-00704: bootstrap process failure ORA-00604: error occurred at recursive SQL level 1 ORA-01555: snapshot too old: rollback segment number 10 with name "_SYSSMU10_1197734989$" too small 进程 ID: 7928 会话 ID: 96 序列号: 3
在数据库open的过程中,报ORA-01555错误,这类问题比较明显以前写过类似文章:
在数据库open过程中常遇到ORA-01555汇总
数据库open过程遭遇ORA-1555对应sql语句补充
使用_allow_resetlogs_corruption导致ORA-00704/ORA-01555故障
这次尝试使用自己开发的小程序:Oracle Recovery Tools进行恢复
然后直接尝试打开数据库成功
SQL> alter database open; alter database open * 第 1 行出现错误: ORA-01113: ?? 1 ?????? ORA-01110: ???? 1: 'D:\BAIDUNETDISKDOWNLOAD\DATA\XFF\SYSTEM01.DBF' SQL> recover database; 完成介质恢复。 SQL> alter database open; 数据库已更改。
这次证明,对于数据库open过程汇总报ORA-00704 ORA-01555故障,可以通过Oracle Recovery Tools工具一键式open库。
后续安排数据导出,对于个别导出报错的表利用dul进行处理,完成本次恢复任务
软件下载:OraRecovery下载
使用说明:使用说明