REDOログを再作成する

前回の「既存 REDO ログの削除」が終わったら、REDO ログ再作成を行う。
論理削除した REDO ロググループ1~3の物理ファイルを OS コマンドで削除する。

OMF (Oracle Managed Files) を使用していれば、 alter database drop logfile group
コマンドで OS ファイルも削除されるが、使用していないなら、手動削除が必要。
(表領域削除時に使う including contents and datafiles のようなオプションは無いようだ)



REDO グループ再作成

変更後のサイズで、REDO グループ1~3を再作成(200MBを指定)。

SQL> alter database add logfile group 1
              ('/app/oradata/redo01.log' , '/share/oradata/redo01.log') size 200M;

データベースが変更されました。

SQL> alter database add logfile group 2
              ('/app/oradata/redo02.log' , '/share/oradata/redo02.log') size 200M;

データベースが変更されました。

SQL> alter database add logfile group 3
              ('/app/oradata/redo03.log' , '/share/oradata/redo03.log') size 200M;

データベースが変更されました。

ステータスの確認

一時グループの追加時と同様、ステータスが UNUSED となる。

SQL> select group#, status from v$log;

GROUP# STATUS
------ --------
     1 UNUSED
     2 UNUSED
     3 UNUSED
     4 ACTIVE
     5 CURRENT

ログスイッチでカレントグループの切替え

先程と同様、手動でログスイッチを行い、
不要となった REDO グループ4~5が INACTIVE の状態にする。

※ログスイッチでカレントグループを切替えることによって、
ステータスが変わるが、検証では即時 INACTIVE にはならず、
ACTIVE → INACTIVE というステータスの遷移だった。

つまり ACTIVE は、対象 REDO ログのスイッチで開始された
チェックポイントが未完了であることを示している。

しばし時間を置いてもステータスが変わらなかったこともあるので、
急ぐなら、手動でチェックポイントを発生させればよい。

SQL> alter system checkpoint;

ログ切替後の状態

SQL> select group#, status from v$log;

GROUP# STATUS
------ --------
     1 INACTIVE
     2 CURRENT
     3 INACTIVE
     4 INACTIVE
     5 INACTIVE

削除確認

SQL> alter database drop logfile group 4;

データベースが変更されました。

SQL> alter database drop logfile group 5;

データベースが変更されました。

ログ切替後の状態

SQL> select group#, status from v$log;

GROUP# STATUS
------ --------
     1 INACTIVE
     2 CURRENT
     3 INACTIVE

→ REDO ロググループ4~5が削除されたことを確認。

REDO ロググループの変更後サイズを確認

 select group#, members, bytes/1024/1024 as MB from v$log;

GROUP# MEMBERS  MB
—— ——- —
     1       2 200
     2       2 200
     3       2 200

REDO ログメンバの状態、及び記載されたパスにファイルがあることを確認。

SQL> select group#, member from v$logfile;

GROUP#  MEMBER
------  -------------------------
     1  /app/oradata/redo01.log
     1  /share/oradata/redo01.log
     2  /app/oradata/redo02.log
     2  /share/oradata/redo02.log
     3  /app/oradata/redo03.log
     3  /share/oradata/redo03.log

6行が選択されました。

以上で完了。