Oracle 障害回復 オンラインREDOログファイル ログメンバの復元

Oracle において 障害回復 オンラインREDOログファイル ログメンバの復元 とは以下を示します。

障害状況

障害回復手順

  1. V$LOGFILE で破損したメンバーのファイル名を検索します。
     ファイルにアクセスできない場合、ステータスはINVALID になります。
     SELECT GROUP#, STATUS, MEMBER FROM V$LOGFILE WHERE STATUS='INVALID';
    
  2. 破損したメンバーを削除します。
     例えば、メンバーredo01.log をグループ1 から削除するには次のコマンド
     を発行します。
     ALTER DATABASE DROP LOGFILE MEMBER '/oracle/oradata/trgt/redo01.log';
    
  3. グループに新しいメンバーを追加します。
     例えば、redo01.log をグループ1 に追加するには、次のコマンドを発行します。
     ALTER DATABASE ADD LOGFILE MEMBER '/oracle/oradata/trgt/redo01b.log'
     TO GROUP 1;
    
     追加するファイルがすでに存在している場合には、グループの他のメンバー
     と同じサイズである必要があります。また、REUSE を指定する必要がありま
     す。たとえば、次のように入力します。
     ALTER DATABASE ADD LOGFILE MEMBER '/oracle/oradata/trgt/redo01b.log'
     REUSE TO GROUP 1;
    

実例

  1. V$LOGFILE で破損したメンバーのファイル名を検索します。
     SQL> SELECT GROUP#,STATUS,MEMBER FROM V$LOGFILE WHERE STATUS='INVALID';
    
         GROUP# STATUS
     ---------- -------
     MEMBER
     --------------------------------------------------------------------------------
              1 INVALID
     C:\ORACLE\PRODUCT\10.1.0\ORADATA\TESTOEM\REDO01_01.LOG
    
  2. 破損したメンバーを削除します。
     SQL> ALTER DATABASE
     2> DROP LOGFILE MEMBER 'C:\ORACLE\PRODUCT\10.1.0\ORADATA\TESTOEM\REDO01_01.LOG';
    
     Database altered.
    
  3. グループに新しいメンバーを追加します。
     SQL> ALTER DATABASE
     2> ADD LOGFILE MEMBER 'C:\ORACLE\PRODUCT\10.1.0\ORADATA\TESTOEM\REDO01_01.LOG'
     3> REUSE TO GROUP 1;
    
     Database altered.
    
     SQL> SELECT INSTANCE_NAME,STATUS FROM V$INSTANCE;
    
     INSTANCE_NAME    STATUS
     ---------------- ------------
     testoem          OPEN
    

ご訪問頂き有難う御座います。 当サイトを効率良く使うためにまずは FrontPage を見て下さい。 検索方法、一覧表示などの各情報を纏めています。
当サイトの説明 → Frontpage