・REDOログファイルのサイズ変更は不可 ・変更は、新規追加(別ファイル)し、不要のものを削除する ・削除は、STATUS=ACTIVEだとできない ・削除は、内容がアーカイブREDOファイルとして出力されていないとできない ・OMF(Oracle Managed Files)を未使用の場合、物理削除も必要 ・RACの場合、インスタンス単位でサイズや個数を変えることはできる
まず、REDOログファイルを確認します。
   THREAD#     GROUP#     MBYTES STATUS     MEMBER
---------- ---------- ---------- ---------- ------------------------------
         1          1       1024 INACTIVE   +DATA/redo/redo111.dbf
         1          1       1024 INACTIVE   +LOG/redo/redo112.dbf
         1          2       1024 ACTIVE     +DATA/redo/redo121.dbf
         1          2       1024 ACTIVE     +LOG/redo/redo122.dbf
         1          3       1024 CURRENT    +DATA/redo/redo131.dbf
         1          3       1024 CURRENT    +LOG/redo/redo132.dbf
         2          4       1024 INACTIVE   +LOG/redo/redo212.dbf
         2          4       1024 INACTIVE   +DATA/redo/redo211.dbf
         2          5       1024 ACTIVE     +LOG/redo/redo222.dbf
         2          5       1024 ACTIVE     +DATA/redo/redo221.dbf
         2          6       1024 CURRENT    +LOG/redo/redo232.dbf
         2          6       1024 CURRENT    +DATA/redo/redo231.dbf
次に、新規REDOログファイルを追加します。
ここでは、2ノードRACを想定し、1GB→2GBのサイズ変更を行います。
$ sqlplus sys as sysdba
SQL> ALTER DATABASE ADD LOGFILE THREAD 1 GROUP 7 ('+DATA/redo/redo141.dbf', '+LOG/redo/redo142.dbf') SIZE 2G;
SQL> ALTER DATABASE ADD LOGFILE THREAD 1 GROUP 8 ('+DATA/redo/redo151.dbf', '+LOG/redo/redo152.dbf') SIZE 2G;
SQL> ALTER DATABASE ADD LOGFILE THREAD 1 GROUP 9 ('+DATA/redo/redo161.dbf', '+LOG/redo/redo162.dbf') SIZE 2G;
SQL> ALTER DATABASE ADD LOGFILE THREAD 2 GROUP 10 ('+DATA/redo/redo241.dbf', '+LOG/redo/redo242.dbf') SIZE 2G;
SQL> ALTER DATABASE ADD LOGFILE THREAD 2 GROUP 11 ('+DATA/redo/redo251.dbf', '+LOG/redo/redo252.dbf') SIZE 2G;
SQL> ALTER DATABASE ADD LOGFILE THREAD 2 GROUP 12 ('+DATA/redo/redo261.dbf', '+LOG/redo/redo262.dbf') SIZE 2G;
追加したら、REDOログファイルを強制的にローテートし、追加したREDOログがCURRENTになるまで繰り返します。
REDOログファイルはノードごとにあるので各ノードで実行します。
[oracle@sssdb1 ~]$ sqlplus sys as sysdba SQL> alter system switch logfile; [oracle@sssdb1 ~]$ sqlplus sys as sysdba SQL> alter system switch logfile;
削除したいREDOログファイルをINACTIVEにし、アーカイブREDOログファイルを出力します。
SQL> ALTER SYSTEM CHECKPOINT;
不要になったREDOログファイルを削除します。
SQL> ALTER DATABASE DROP LOGFILE GROUP 1; SQL> ALTER DATABASE DROP LOGFILE GROUP 2; SQL> ALTER DATABASE DROP LOGFILE GROUP 3; SQL> ALTER DATABASE DROP LOGFILE GROUP 4; SQL> ALTER DATABASE DROP LOGFILE GROUP 5; SQL> ALTER DATABASE DROP LOGFILE GROUP 6;
OMF(Oracle Managed Files)を利用していない場合、物理ファイルの削除をします。
この例では、ASMのファイルを削除します。
$ export ORACLE_SID=+sss011 $ asmcmd ASMCMD> cd DATA/REDO ASMCMD> rm REDO111.DBF ASMCMD> rm REDO122.DBF ASMCMD> rm REDO133.DBF ASMCMD> rm REDO211.DBF ASMCMD> rm REDO222.DBF ASMCMD> rm REDO233.DBF ASMCMD> cd ../../LOG/REDO ASMCMD> rm REDO112.DBF ASMCMD> rm REDO122.DBF ASMCMD> rm REDO132.DBF ASMCMD> rm REDO212.DBF ASMCMD> rm REDO222.DBF ASMCMD> rm REDO233.DBF


