丟失所有重做日誌檔案的恢復例子丟失所有重做日誌檔案的恢復例子如下:

eric0435發表於2012-05-22
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_
---
         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

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

IS_
---

         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
資料庫裝載完畢。
資料庫已經開啟。

然後再做完全備份

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26015009/viewspace-730574/,如需轉載,請註明出處,否則將追究法律責任。

相關文章