丢失所有重做日志文件的恢复例子丢失所有重做日志文件的恢复例子

SQL> conn / as sysdba

已连接。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。

删除所有重做日志文件

SQL> startup
ORACLE 例程已经启动。

Total System Global Area  612368384 bytes
Fixed Size                  1250428 bytes
Variable Size             100666244 bytes
Database Buffers          503316480 bytes
Redo Buffers                7135232 bytes
数据库装载完毕。
ORA-00313: 无法打开日志组 1 (用于线程 1) 的成员
ORA-00312: 联机日志 1 线程 1: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\OCP\REDO01.LOG'

SQL> shutdown immediate
ORA-01507: ??????


ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。

Total System Global Area  612368384 bytes
Fixed Size                  1250428 bytes
Variable Size             100666244 bytes
Database Buffers          503316480 bytes
Redo Buffers                7135232 bytes
数据库装载完毕。
SQL> select group#,sequence#,members,bytes,status,archived from v$log;

    GROUP#  SEQUENCE#    MEMBERS      BYTES STATUS           ARC
---------- ---------- ---------- ---------- ---------------- ---
         1        104          1   52428800 INACTIVE         YES
         3        106          1   52428800 CURRENT          NO
         2        105          1   52428800 INACTIVE         YES

SQL> select * from v$logfile;

 GROUP#    STATUS  TYPE      MEMBER                                           IS_RECOVERY_DEST_FILE
---------- ------- -------  ------------------------------------------------  --------------------------------

         3         ONLINE   D:\ORACLE\PRODUCT\10.2.0\ORADATA\OCP\REDO03.LOG   NO

         2 STALE   ONLINE   D:\ORACLE\PRODUCT\10.2.0\ORADATA\OCP\REDO02.LOG   NO

         1         ONLINE   D:\ORACLE\PRODUCT\10.2.0\ORADATA\OCP\REDO01.LOG   NO

增加一个新的重做日志组

SQL> ALTER DATABASE ADD LOGFILE GROUP 4
  2  ('D:\oracle\product\10.2.0\oradata\ocp\redo04a.log','D:\oracle\product\10.2
.0\oradata\ocp\redo04b.log')
  3  SIZE 512 M;

数据库已更改。

删除不是当前重做日志组的日志文件

SQL> alter database drop logfile group 1;

数据库已更改。

SQL> alter database drop logfile group 2;

数据库已更改。

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

    GROUP#  SEQUENCE#    MEMBERS      BYTES STATUS           ARC
---------- ---------- ---------- ---------- ---------------- ---
         4          0          2  536870912 UNUSED           YES
         3        106          1   52428800 CURRENT          NO

然后从新创建的redo04a.log复制一份修改为丢失的redo03.log
然后再做介质恢复

SQL> recover database until cancel;
完成介质恢复。
SQL> alter database open resetlogs;

数据库已更改。

SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。

Total System Global Area  612368384 bytes
Fixed Size                  1250428 bytes
Variable Size             104860548 bytes
Database Buffers          499122176 bytes
Redo Buffers                7135232 bytes
数据库装载完毕。
数据库已经打开。

然后再做完全备份

发表评论

电子邮件地址不会被公开。