暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

ORA-00313 open failed for members of log group解决办法

原创 bingo 2023-02-05
834

问题:

启动数据库的时候出现下面的错误信息。

SQL> startup

ORACLE instance started.

Total System Global Area 629144664 bytes

Fixed Size 8899672 bytes

Variable Size 507510784 bytes

Database Buffers 104857600 bytes

Redo Buffers 7876608 bytes

Database mounted.

ORA-03113: end-of-file on communication channel

Process ID: 100109

Session ID: 237 Serial number: 16487


查看alert的启动日志会出现下面查错误。

[oralce12:oracle:sso$]ls -aclr|grep alter

[oralce12:oracle:sso$]ls -aclr|grep alert

-rw-r-----. 1 oracle oinstall 268891 Jul 23 16:19 alert_sso.log

RA-00313: open failed for members of log group 1 of thread

ORA-00312: online log 3 thread 1: '/u01/app/oradata/SSO/redo03.log'


原因分析:

从上面alert_sso.log的错误日志可以知道日志组1的数据文件已经损坏或者丢失。


解决方案:

1、查看v$log视图

SQL> select group#,sequence#,archived,status from v$log;

GROUP# SEQUENCE# ARC STATUS

---------- ---------- --- ----------------

1 19 NO INACTIVE

3 18 NO INACTIVE

2 20 NO CURRENT


可以知道,改组是非当前状态,没有归档。所以需要执行第三步命令。


2、用clear命令重建该日志文件。

SQL> alter databse clear logfile group 3;


3、如果该日志组还没有归档,则需要用。

SQL> alter database clear unarchived logfile group 3;

Database altered.


4、打开数据库,重新备份数据库

SQL> alter database open;

Database altered.


说明:

  1)、如果损坏的是非当前的联机日志文件,一般只需要clear就可以重建该日志文件,但是如果该数据库处于归档状态但该日志还没有归档,就

  需要强行clear.

  2)、建议clear,特别是强行clear后作一次数据库的全备份。

  3)、此方法适用于归档与非归档数据库。


  损坏当前联机日志:

  归档模式下当前日志的损坏有两种情况,

  一、是数据库是正常关闭,日志文件中没有未决的事务需要实例恢复,当前日志组的损坏就可以直接用alter database clear unarchived

  logfile group n来重建。

  二、是日志组中有活动的事务,数据库需要媒体恢复,日志组需要用来同步,有两种补救办法

  A. 最好的办法就是通过不完全恢复,可以保证数据库的一致性,但是这种办法要求在归档方式下,并且有可用的备份

  B. 通过强制性恢复,但是可能导致数据库不一致。

ORA-00313 open failed for members of log group解决办法_ITPUB博客

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论