ORACLE——操作系统直接强制关机,导致数据库无法open,解决方法

一、概念

redo log file分为online redo log 和archived redo log file
online redo log就是当前正在使用的日志文件
archived redo log file就是已经归档了的日志文件

二、查看日志:

SQL>select * from v$logfile;

 

三、问题现象:

    数据库startup,出现如下报错:

SQL> startup

ORACLE instance started.

Total System Global Area 5049942016 bytes

Fixed Size                  8631096 bytes

Variable Size            1543507144 bytes

Database Buffers         3489660928 bytes

Redo Buffers                8142848 bytes

Database mounted.

ORA-00742: Log read detects lost write in thread 1 sequence 17 block 73667

ORA-00312: online log 2 thread 1:

'/data/u01/app/oracle/fast_recovery_area/orcl/ORCL/onlinelog/o1_mf_2_h6v7ky8f_.log'

ORA-00312: online log 2 thread 1:

'/data/u01/app/oracle/oradata/ORCL/onlinelog/o1_mf_2_h6v7kwv8_.log'

三、分析

经过查看报错,发现log2的online日志,应该是不一致了,应该是在强制关机时,缓存中的数据未能及时写到log2中,导致数据库无法打开

四、查看SCN:三个点的都正常,控制文件中的scn和数据文件和数据头文件中的一致

SQL> select checkpoint_change# from v$database; 

SQL> select checkpoint_change# from v$datafile; 

SQL> select checkpoint_change# from v$datafile_header;  

五、解决方案:通过rman

    RMAN看一会恢复redolog的数据(online log和archive log);但因为当前archivelog归档日志未开启,所以只能尝试恢复online log

1、SQL>rman target /进入rman环境

2、RMAN> startup mount;

3、RMAN> restore database;

4、RMAN> recover database;

5、RMAN> alter database open resetlogs;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值