【oracle报:ORA-01034和ORA-27101的解决办法】以及过程中出现【ORA-01194: file 1 needs more recovery to be consistent】问题

时间:2024-04-14 13:17:32

问题描述:
今天打开数据库的时候不知怎么弄的,不能open了,出现ORA-01034和ORA-27101
原因是多方面的:主要是oracle当前的服务不可用,shared memory realm does not exist,是因为oracle没有启动或没有正常启动,共享内存并没有分配给当前实例.所以,通过设置实例名,再用操作系统身份验证的方式,启动数据库。这样数据库就正常启动了,就不会报ORA-01034和ORA-27101两个启动异常了。

在cmd命令窗口中依次直接输入下面命令:
(1)sqlplus sys/sys as sysdba

(2)startup mount

(3)recover database until time ‘2019-10-31 18:00:00’

在这我执行后报错如下:
【oracle报:ORA-01034和ORA-27101的解决办法】以及过程中出现【ORA-01194: file 1 needs more recovery to be consistent】问题
又出现【ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below】错误提示,因此继续解决问题如下:

SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: ‘D:\APP\NEWDAY\ORADATA\ORCL\SYSTEM01.DBF’
【oracle报:ORA-01034和ORA-27101的解决办法】以及过程中出现【ORA-01194: file 1 needs more recovery to be consistent】问题
估计应该是日志的问题,又试了下:
SQL> recover database using backup controlfile until cancel;
ORA-00279: 更改 12799154 (在 10/31/2019 18:00:07 生成) 对于线程 1 是必需的
ORA-00289: 建议:
D:\APP\NEWDAY\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2019_11_01\O1_MF_1_528_%U_.ARC
ORA-00280: 更改 12799154 (用于线程 1) 在序列 #528 中

Specify log: {=suggested | filename | AUTO | CANCEL}
【oracle报:ORA-01034和ORA-27101的解决办法】以及过程中出现【ORA-01194: file 1 needs more recovery to be consistent】问题
根据上面提示的内容,注意到 ‘526 ’ 和 ‘sequence 528’

从网上看到一条语句,可以查出redo logs ,注意要用sys:
SQL> conn sys/oracle as sysdba
Connected.
SQL> select v1.group#, member, sequence#, first_change#
2 from vlogv1,vlog v1, vlogfile v2
3 where v1.group# = v2.group#;
【oracle报:ORA-01034和ORA-27101的解决办法】以及过程中出现【ORA-01194: file 1 needs more recovery to be consistent】问题
从结果里根据 sequence# 和 first_change# 找到了要用到的log file name:
D:\APP\NEWDAY\ORADATA\ORCL\REDO01.LOG
D:\APP\NEWDAY\ORADATA\ORCL\REDO02.LOG
D:\APP\NEWDAY\ORADATA\ORCL\REDO03.LOG

在 Specify log: {=suggested | filename | AUTO | CANCEL} 下面输入:
D:\APP\NEWDAY\ORADATA\ORCL\REDO01.LOG
提示:
Log applied.
Media recovery complete.

接着:
SQL> alter database open resetlogs;
【oracle报:ORA-01034和ORA-27101的解决办法】以及过程中出现【ORA-01194: file 1 needs more recovery to be consistent】问题
【oracle报:ORA-01034和ORA-27101的解决办法】以及过程中出现【ORA-01194: file 1 needs more recovery to be consistent】问题
【oracle报:ORA-01034和ORA-27101的解决办法】以及过程中出现【ORA-01194: file 1 needs more recovery to be consistent】问题
Database altered.

这样,就吧问题解决了。

(4)shutdown

(5)startup

总结:数据库出现问题非常麻烦,但耐心查阅资料,慢慢排查问题花点时间还是能解决的;只是问题原因比较多,解决办法有的行得通有的行不通,不适用自己遇到的问题,还是得需要自己去总结去分析查找问题的真正原因!!!