ログファイルのサイズ変更

オンライン状態のまま再作成することにより変更する。
少々手順が長くなるが、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ロググループの追加が完了。
(次回に続く)