ARCHIVELOG模式下用户管理恢复联机重做日志文件(1)——非活动组所有成员全部损坏!

来源:互联网 发布:linux jdk1.6 rpm下载 编辑:程序博客网 时间:2024/05/22 12:29

联机重做日志文件至少需要两组,oracle建议每组的成员至少要两个,也需要多路复用的。因为每组的成员的内容的都是一样的。同一组内只要有一个成员还存在就可以保证不丢数据的。

 

1、在open状态下非活动组所有成员全部损坏,可以重建一个成员。

SQL> conn /as sysdba已连接到空闲例程。SQL> startupORACLE 例程已经启动。Total System Global Area  167772160 bytesFixed Size                  1266392 bytesVariable Size              62917928 bytesDatabase Buffers          100663296 bytesRedo Buffers                2924544 bytes数据库装载完毕。数据库已经打开。SQL> select * from v$log;    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------------         1          1         13   52428800          1 YES INACTIVE                474583 10-10月-11         2          1         14   52428800          1 NO  CURRENT                 474585 10-10月-11         3          1         12   52428800          1 YES INACTIVE                474581 10-10月-11SQL> select member from v$logfile;MEMBER--------------------------------------------------------------------------------/u01/app/oracle/oradata/orcl/redo03.log/u01/app/oracle/oradata/orcl/redo02.log/u01/app/oracle/oradata/orcl/redo01.logSQL> ! rm -rf /u01/app/oracle/oradata/orcl/redo03.logSQL> alter system switch logfile;系统已更改。SQL> alter system archive log current;alter system archive log current*第 1 行出现错误:ORA-16038: 日志 3 sequence# 15 无法归档ORA-00312: 联机日志 3 线程 1: '/u01/app/oracle/oradata/orcl/redo03.log'SQL> alter database clear unarchived logfile group 3;数据库已更改。SQL> alter system archive log current;系统已更改。


2、在关闭状态下非活动组所有成员全部损坏,可以添加一个新组,删除旧组。

SQL> conn /as sysdba已连接到空闲例程。SQL> startupORACLE 例程已经启动。Total System Global Area  167772160 bytesFixed Size                  1266392 bytesVariable Size              62917928 bytesDatabase Buffers          100663296 bytesRedo Buffers                2924544 bytes数据库装载完毕。数据库已经打开。SQL> select * from v$log;    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------------         1          1         13   52428800          1 YES INACTIVE                474583 10-10月-11         2          1         14   52428800          1 NO  CURRENT                 474585 10-10月-11         3          1         12   52428800          1 YES INACTIVE                474581 10-10月-11SQL> select member from v$logfile;MEMBER--------------------------------------------------------------------------------/u01/app/oracle/oradata/orcl/redo03.log/u01/app/oracle/oradata/orcl/redo02.log/u01/app/oracle/oradata/orcl/redo01.logSQL> shutdown immediate数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。SQL> ! rm -rf /u01/app/oracle/oradata/orcl/redo03.logSQL> startupORACLE 例程已经启动。Total System Global Area  167772160 bytesFixed Size                  1266392 bytesVariable Size              62917928 bytesDatabase Buffers          100663296 bytesRedo Buffers                2924544 bytes数据库装载完毕。ORA-00313: 无法打开日志组 3 (用于线程 1) 的成员ORA-00312: 联机日志 3 线程 1: '/u01/app/oracle/oradata/orcl/redo03.log'SQL> alter database add logfile group 4('/u01/app/oracle/oradata/orcl/redo04.log') size 50m;数据库已更改。SQL> alter database drop logfile group 3;数据库已更改。SQL> select * from v$log;    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------------         1          1         13   52428800          1 YES INACTIVE                474583 10-10月-11         4          1          0   52428800          1 YES UNUSED                       0         2          1         14   52428800          1 NO  CURRENT                 474585 10-10月-11SQL> select member from v$logfile;MEMBER--------------------------------------------------------------------------------/u01/app/oracle/oradata/orcl/redo02.log/u01/app/oracle/oradata/orcl/redo01.log/u01/app/oracle/oradata/orcl/redo04.logSQL> alter database open;数据库已更改。SQL> select status from v$instance;STATUS------------OPEN
原创粉丝点击