ログファイルのサイズ変更
オンライン状態のまま再作成することにより変更する。
少々手順が長くなるが、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ログサイズ変更手順[2/3] 既存REDOログの削除](https://www.sql-dbtips.com/wp-content/themes/keni8-child/images/no-image.jpg)
“REDOログサイズ変更手順[1/3] 一時REDOログの追加” への2件のフィードバック