Oracle 障害回復 オンラインREDOログファイル ロググループの復元
Oracle において 障害回復 オンラインREDOログファイル ロググループの復元 とは以下を示します。
- 障害状況
- 障害回復手順
- 実例
障害状況
- CURRENTではないオンラインREDOロググループのメンバをすべて損失した。
- その他のファイルはすべて無事である。
障害回復手順
- V$LOGFILE で消失したREDO ログのファイル名を検索する。
これに対応するグループ番号を検索します。たとえば、次のように入力します。 SELECT GROUP#, STATUS, MEMBER FROM V$LOGFILE;
- 損失したオンラインREDOロググループを確認する。
ステータスが CURRENT (または未アーカイブ) であるかを確認する。 たとえば、次のように入力します。 SELECT GROUP#, MEMBERS, STATUS, ARCHIVED FROM V$LOG;
- 損失したオンラインREDOロググループを初期化する。
CURRENT (または未アーカイブ) でなければ、損失したオンライン REDOロググループを初期化する。
- データベースをopenする。
実例
- 運用状態
SQL> SHUTDOWN IMMEDIATE; Database closed. Database dismounted. ORACLE instance shut down.
- 障害発生(オンラインREDOロググループを削除)
SQL> STARTUP ORACLE instance started. Total System Global Area 171966464 bytes Fixed Size 787988 bytes Variable Size 145488364 bytes Database Buffers 25165824 bytes Redo Buffers 524288 bytes Database mounted. ORA-00313: open failed for members of log group 2 of thread 1 ORA-00312: online log 2 thread 1: 'C:\ORACLE\PRODUCT\10.1.0\ORADATA\TESTOEM\REDO02.LOG' ORA-00312: online log 2 thread 1: 'C:\ORACLE\PRODUCT\10.1.0\ORADATA\TESTOEM\REDO02_01.LOG'
- マウント状態であることを確認する
SQL> SELECT INSTANCE_NAME,STATUS FROM V$INSTANCE; INSTANCE_NAME STATUS ---------------- ------------ testoem MOUNTED
- V$LOGFILE で消失したREDO ログのファイル名を検索する。
SQL> SELECT GROUP#,STATUS,MEMBER FROM V$LOGFILE ; GROUP# STATUS MEMBER ---------- ------- --------------------------------------------------------- 1 C:\ORACLE\PRODUCT\10.1.0\ORADATA\TESTOEM\REDO01.LOG 2 C:\ORACLE\PRODUCT\10.1.0\ORADATA\TESTOEM\REDO02.LOG 3 C:\ORACLE\PRODUCT\10.1.0\ORADATA\TESTOEM\REDO03.LOG 1 C:\ORACLE\PRODUCT\10.1.0\ORADATA\TESTOEM\REDO01_01.LOG 2 C:\ORACLE\PRODUCT\10.1.0\ORADATA\TESTOEM\REDO02_01.LOG 3 C:\ORACLE\PRODUCT\10.1.0\ORADATA\TESTOEM\REDO03_01.LOG 6 rows selected.
- 損失したオンラインREDOロググループを確認する。
SQL> SELECT GROUP#,STATUS,MEMBERS FROM V$LOG; GROUP# STATUS MEMBERS ---------- ---------------- ---------- 1 INACTIVE 2 2 INACTIVE 2 3 CURRENT 2
- 損失したオンラインREDOロググループを初期化する。
SQL> ALTER DATABASE CLEAR LOGFILE GROUP 2; Database altered.
- データベースをopenする。
SQL> ALTER DATABASE OPEN; Database altered. SQL> SELECT GROUP#,STATUS,MEMBERS FROM V$LOG; GROUP# STATUS MEMBERS ---------- ---------------- ---------- 1 INACTIVE 2 2 UNUSED 2 3 CURRENT 2
ご訪問頂き有難う御座います。
当サイトを効率良く使うためにまずは FrontPage を見て下さい。
検索方法、一覧表示などの各情報を纏めています。
当サイトの説明 → Frontpage