ORA-01195: online backup of file 1 needs more recovery to be consistent
问题背景:
客户测试环境启动报错,协助排查处理
1> 启动日志
1 SQL> startup; 2 ORACLE instance started. 3 4 Total System Global Area 1603411968 bytes 5 Fixed Size 2213776 bytes 6 Variable Size 1056966768 bytes 7 Database Buffers 536870912 bytes 8 Redo Buffers 7360512 bytes 9 Database mounted. 10 ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
1 SQL> alter database open RESETLOGS; 2 alter database open RESETLOGS 3 * 4 ERROR at line 1: 5 ORA-01195: online backup of file 1 needs more recovery to be consistent 6 ORA-01110: data file 1: '/data/oracle/oradata/ecology/system01.dbf'
原因分析:
2> 数据库恢复的时侯有一个问题:
DB恢复需要这个归档日志文件/data/oracle/flash_recovery_area/ECOLOGY/archivelog/2020_01_14/o1_mf_1_165_%u_.arc,
但是在备份中没有。
1 SQL> recover database using backup controlfile until cancel; 2 ORA-00279: change 28004892 generated at 11/24/2019 02:00:30 needed for thread 1 3 ORA-00289: suggestion : 4 /data/oracle/flash_recovery_area/ECOLOGY/archivelog/2020_01_14/o1_mf_1_165_%u_.arc 5 ORA-00280: change 28004892 for thread 1 is in sequence #165 6 7 Specify log: {<RET>=suggested | filename | AUTO | CANCEL} 8 9 ORA-00308: 无法打开归档日志 10 '/data/oracle/flash_recovery_area/ECOLOGY/archivelog/2020_01_14/o1_mf_1_165_%u_. 11 arc' 12 ORA-27037: 无法获得文件状态 13 Linux-x86_64 Error: 2: No such file or directory 14 Additional information: 3 15 16 ORA-10879: error signaled in parallel recovery slave 17 ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 将出现如下错误 ORA-01195: 18 文件 1 的联机备份需要更多的恢复来保持一致性 ORA-01110: 数据文件 19 1: '/data/oracle/oradata/ecology/system01.dbf'
解决过程:
准备使用隐含参数_allow_resetlogs_corruption强制启动DB:
提示:Oracle的隐含参数只应该在测试环境或者在Oracle Support的支持下使用。
设置此参数之后,在数据库Open过程中,Oracle会跳过某些一致性检查,从而使数据库可能跳过不一致状态。
1 SQL> shutdown immediate; 2 ORA-01109: database not open 3 4 Database dismounted. 5 ORACLE instance shut down. 6 SQL> startup; 7 ORACLE instance started. 8 9 Total System Global Area 1603411968 bytes 10 Fixed Size 2213776 bytes 11 Variable Size 1056966768 bytes 12 Database Buffers 536870912 bytes 13 Redo Buffers 7360512 bytes 14 Database mounted. 15 ORA-01589: must use RESETLOGS or NORESETLOGS option for database open 16 17 SQL> alter system set "_allow_resetlogs_corruption"=true scope=spfile; 18 System altered. 19 20 SQL> alter database open resetlogs; 21 alter database open resetlogs 22 * 23 ERROR at line 1: 24 ORA-00603: ORACLE server session terminated by fatal error 25 ORA-00600: internal error code, arguments: [2662], [0], [28004903], [0], 26 [28017149], [12583040], [], [], [], [], [], [] 27 ORA-00600: internal error code, arguments: [2662], [0], [28004902], [0], 28 [28017149], [12583040], [], [], [], [], [], [] 29 ORA-01092: ORACLE instance terminated. Disconnection forced 30 ORA-00600: internal error code, arguments: [2662], [0], [28004900], [0], 31 [28017149], [12583040], [], [], [], [], [], [] 32 Process ID: 5434 33 Session ID: 115 Serial number: 3
以上强制启动后,产生Ora-600错误了,在预料之中
强制启动
1 [oracle@oat ecology]$ sqlplus / as sysdba 2 3 SQL*Plus: Release 11.2.0.1.0 Production on Tue Jan 14 13:21:18 2020 4 Copyright (c) 1982, 2009, Oracle. All rights reserved. 5 Connected to an idle instance. 6 7 SQL> startup force; 8 ORACLE instance started. 9 10 Total System Global Area 1603411968 bytes 11 Fixed Size 2213776 bytes 12 Variable Size 1056966768 bytes 13 Database Buffers 536870912 bytes 14 Redo Buffers 7360512 bytes 15 Database mounted. 16 Database opened. 17 SQL>
现在没问题了,把隐含参数改回默认的:
1 SQL> 2 SQL> alter system set "_allow_resetlogs_corruption" =false scope=spfile; 4 System altered.
关闭测试启动
1 SQL> shutdown immedaite; 2 SP2-0717: illegal SHUTDOWN option 3 SQL> shutdown immediate; 4 Database closed. 5 Database dismounted. 6 ORACLE instance shut down. 7 8 SQL> startup; 9 ORACLE instance started. 10 11 Total System Global Area 1603411968 bytes 12 Fixed Size 2213776 bytes 13 Variable Size 1056966768 bytes 14 Database Buffers 536870912 bytes 15 Redo Buffers 7360512 bytes 16 Database mounted. 17 Database opened. 18 SQL>
问题解决
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了