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

mac2025-01-29  21

问题描述: 今天打开数据库的时候不知怎么弄的,不能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’

在这我执行后报错如下: 又出现【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’ 估计应该是日志的问题,又试了下: 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} 根据上面提示的内容,注意到 ‘526 ’ 和 ‘sequence 528’

从网上看到一条语句,可以查出redo logs ,注意要用sys: SQL> conn sys/oracle as sysdba Connected. SQL> select v1.group#, member, sequence#, first_change# 2 from v l o g v 1 , v log v1, v logv1,vlogfile v2 3 where v1.group# = v2.group#; 从结果里根据 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; Database altered.

这样,就吧问题解决了。

(4)shutdown

(5)startup

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

最新回复(0)