ITPub博客

首页 > Linux操作系统 > Linux操作系统 > INACTIVE状态日志文件失效时恢复方法

INACTIVE状态日志文件失效时恢复方法

原创 Linux操作系统 作者:buliaoqingtian 时间:2019-05-17 07:06:06 0 删除 编辑
当INACTIVE 状态的在线重做日志失效时(硬件损坏或文件被删),如何恢复数据库呢?请看全文

下面是在重起数据库时,发现一组日志文件找不到了,此日志文件状态为INACTIVE,这种情况恢复数据库很方便,只需要下面运行一句话:ALTER DATABASE CLEAR LOGFILE GROUP n;

下面是具体例子如下:

startup open ORACLE 例程已经启动。 Total System Global Area 612368384 bytes Fixed Size 1250452 bytes Variable Size 322964332 bytes Database Buffers 285212672 bytes Redo Buffers 2940928 bytes 数据库装载完毕。 ORA-00313: 无法打开日志组 1 (用于线程 1) 的成员 ORA-00312: 联机日志 1 线程 1: 'F:ORACLEPRODUCT10.2.0ORADATAORCDBREDO01.LOG' ORA-00312: 联机日志 1 线程 1: 'F:ORACLEPRODUCT10.2.0ORADATAORCDBREDO01B.LOG' SYS on orcdb > alter database clear logfile group 1; 数据库已更改。 SYS on orcdb > aler databse open; SP2-0734: 未知的命令开头 "aler datab..." - 忽略了剩余的行。 SYS on orcdb > alter database open; 数据库已更改。 SYS on orcdb > select group#,status,members,archived from v$log GROUP# STATUS MEMBERS ARC ---------- ---------------- ---------- --- 1 CURRENT 2 NO 2 INACTIVE 1 YES 3 INACTIVE 2 YES SYS on orcdb > select member ,group# from v$logfile; MEMBER GROUP# -------------------------------------------------- ---------- F:ORACLEPRODUCT10.2.0ORADATAORCDBREDO03A.LOG 3 F:ORACLEPRODUCT10.2.0ORADATAORCDBREDO02.LOG 2 F:ORACLEPRODUCT10.2.0ORADATAORCDBREDO01.LOG 1 F:ORACLEPRODUCT10.2.0ORADATAORCDBREDO03B.LOG 3 F:ORACLEPRODUCT10.2.0ORADATAORCDBREDO01B.LOG 1">SYS on orcdb > startup open
ORACLE 例程已经启动。

Total System Global Area 612368384 bytes
Fixed Size 1250452 bytes
Variable Size 322964332 bytes
Database Buffers 285212672 bytes
Redo Buffers 2940928 bytes
数据库装载完毕。
ORA-00313: 无法打开日志组 1 (用于线程 1) 的成员
ORA-00312: 联机日志 1 线程 1:
'F:ORACLEPRODUCT10.2.0ORADATAORCDBREDO01.LOG'
ORA-00312: 联机日志 1 线程 1:
'F:ORACLEPRODUCT10.2.0ORADATAORCDBREDO01B.LOG'


SYS on orcdb > alter database clear logfile group 1;

数据库已更改。

SYS on orcdb > aler databse open;
SP2-0734: 未知的命令开头 "aler datab..." - 忽略了剩余的行。
SYS on orcdb > alter database open;

数据库已更改。

SYS on orcdb > select group#,status,members,archived from v$log

GROUP# STATUS MEMBERS ARC
---------- ---------------- ---------- ---
1 CURRENT 2 NO
2 INACTIVE 1 YES
3 INACTIVE 2 YES

SYS on orcdb > select member ,group# from v$logfile;

MEMBER GROUP#
-------------------------------------------------- ----------
F:ORACLEPRODUCT10.2.0ORADATAORCDBREDO03A.LOG 3
F:ORACLEPRODUCT10.2.0ORADATAORCDBREDO02.LOG 2
F:ORACLEPRODUCT10.2.0ORADATAORCDBREDO01.LOG 1
F:ORACLEPRODUCT10.2.0ORADATAORCDBREDO03B.LOG 3
F:ORACLEPRODUCT10.2.0ORADATAORCDBREDO01B.LOG 1

这种情况还是很好处处理的,如果是状态为ACTIVE或CURRENT的日志文件损坏则如何恢复数据库,请看下文。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/526592/viewspace-236730/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2005-08-03

  • 博文量
    88
  • 访问量
    106023