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行が選択されました。
以上で完了。
“REDOログサイズ変更手順[3/3] REDOログ再作成” への1件のフィードバック