ログファイルのサイズ変更
オンライン状態のまま再作成することにより変更する。
少々手順が長くなるが、DB 運用に携わっていればあるあるなタスクだ。
全3回にわたって、変更手順を紹介する。
全体の流れ
(1) 一時的に使用する REDO ロググループを作成(2つ以上)
(2) 既存の REDO ロググループを削除
(3) REDO ロググループを設定したいサイズで再作成
(4) (1)で作成した REDO ロググループを削除
変更要件
REDO ログファイルのサイズを、 100MB から 200MB へ変更する。
※ 構成:3グループ2メンバ
参照する動的パフォーマンスビュー
グループ、メンバ、サイズなど、REDO ログファイル関連の情報を確認するには、
動的パフォーマンスビューの v$log や v$logfile を参照する。
SQL> desc v$log 名前 NULL? 型 --------------------- -------- ------------- GROUP# NUMBER THREAD# NUMBER SEQUENCE# NUMBER BYTES NUMBER MEMBERS NUMBER ARCHIVED VARCHAR2(3) STATUS VARCHAR2(16) FIRST_CHANGE# NUMBER FIRST_TIME DATE SQL> desc v$logfile 名前 NULL? 型 --------------------- -------- ------------- GROUP# NUMBER STATUS VARCHAR2(7) TYPE VARCHAR2(7) MEMBER VARCHAR2(513) IS_RECOVERY_DEST_FILE VARCHAR2(3)
一時REDOロググループの作成
例えばこの環境では、3グループ構成で REDO ロググループ2 が 「カレント」なのが分かる。
SQL> select group#, status from v$log; GROUP# STATUS ------ -------- 1 INACTIVE 2 CURRENT 3 INACTIVE
サイズはすべて100MBであることが分かる。
SQL> select group#, members, bytes/1024/1024 as MB from v$log; GROUP# MEMBERS MB ------ ------- --- 1 2 100 2 2 100 3 2 100
既存ログをリサイズが出来ればよいのだが、先に述べた通り、現状では REDO ログ
グループを再作成しなければならず、既存の REDO ログは削除する必要がある。
よって再作成までに使用する REDO ロググループが必要。
ここでは4、5を追加。(一時利用なのでサイズはあまり気にしなくてよい)
SQL> alter database add logfile group 4 ('/share/oradata/redo04.log' , '/app/oradata/redo04.log') size 100M; データベースが変更されました。
SQL> alter database add logfile group 5 ('/share/oradata/redo05.log' , '/app/oradata/redo05.log') size 100M; データベースが変更されました。
追加後にステータスを確認。
SQL> select group#, status from v$log; GROUP# STATUS ------ -------- 1 INACTIVE 2 CURRENT 3 INACTIVE 4 UNUSED 5 UNUSED
REDO ロググループ4、5が認識されていることが分かる。
ただし、まだ1度も使用されていないため、追加直後のステータスは UNUSED のまま。
これで一時使用のREDOロググループの追加が完了。
(次回に続く)
“REDOログサイズ変更手順[1/3] 一時REDOログの追加” への2件のフィードバック