・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