データベースのオープン中にREDOログファイルを変更する
1. sqlplusからデータベースにでsysdba権限で接続します
sqlplus /nolog
CONN / AS sysdba
2. 一時的に使用するREDOロググループを作成します(下記例は従来のREDOロググループが3つの場合)。
%REDO_DIR%はREDOログファイルの作成されるディレクトリとなります。
ALTER DATABASE ADD LOGFILE GROUP 4 ('%REDO_DIR%\log4_1.log' , '%REDO_DIR%\log4_2.log') SIZE 100M; ALTER DATABASE ADD LOGFILE GROUP 5 ('%REDO_DIR%\log5_1.log' , '%REDO_DIR%\log5_2.log') SIZE 100M;
3. 既存のREDOロググループをデータベース上から削除します。
SELECT GROUP#,STATUS FROM V$LOG; #でグループ1の状態を確認。currentの場合は次のSQLでスイッチを発生させます。 ALTER SYSTEM SWITCH LOGFILE; SELECT GROUP#,STATUS FROM V$LOG; ALTER DATABASE DROP LOGFILE GROUP 1; SELECT GROUP#,STATUS FROM V$LOG; #でグループ2の状態を確認。currentの場合は次のSQLでスイッチを発生させます。 ALTER SYSTEM SWITCH LOGFILE; SELECT GROUP#,STATUS FROM V$LOG; ALTER DATABASE DROP LOGFILE GROUP 2; SELECT GROUP#,STATUS FROM V$LOG; #でグループ3の状態を確認。currentの場合は次のSQLでスイッチを発生させます。 ALTER SYSTEM SWITCH LOGFILE; SELECT GROUP#,STATUS FROM V$LOG; ALTER DATABASE DROP LOGFILE GROUP 3; SELECT GROUP#,STATUS FROM V$LOG;
4. 使わなくなったファイルをOSコマンドでRENAMEします
REN %REDO_DIR%\log1_1.log log1_1.log_bk REN %REDO_DIR%\log1_2.log log1_2.log_bk REN %REDO_DIR%\log2_1.log log2_1.log_bk REN %REDO_DIR%\log2_2.log log2_2.log_bk REN %REDO_DIR%\log3_1.log log3_1.log_bk REN %REDO_DIR%\log3_2.log log3_2.log_bk
5. 新規にREDOロググループを作成します。
ALTER DATABASE ADD LOGFILE GROUP 1 ('%REDO_DIR%\log1_1.log' , '%REDO_DIR%\log1_2.log') SIZE 100M; ALTER DATABASE ADD LOGFILE GROUP 2 ('%REDO_DIR%\log2_1.log' , '%REDO_DIR%\log2_2.log') SIZE 100M; ALTER DATABASE ADD LOGFILE GROUP 3 ('%REDO_DIR%\log3_1.log' , '%REDO_DIR%\log3_2.log') SIZE 100M;
6. 一時的に作成したREDOログ・ファイル・グループを削除します。
SELECT GROUP#,STATUS FROM V$LOG; #でグループ4の状態を確認。currentの場合は次のSQLでスイッチを発生させる。 #ALTER SYSTEM SWITCH LOGFILE; ALTER DATABASE DROP LOGFILE GROUP 4; SELECT GROUP#,STATUS FROM V$LOG; SELECT GROUP#,STATUS FROM V$LOG; #でグループ5の状態を確認。currentの場合は次のSQLでスイッチを発生させる。 #ALTER SYSTEM SWITCH LOGFILE; ALTER DATABASE DROP LOGFILE GROUP 5; SELECT GROUP#,STATUS FROM V$LOG;
7. 一時的に作成したREDOログ・ファイルをOSコマンドで削除します。
DEL %REDO_DIR%\log4_1.log DEL %REDO_DIR%\log4_2.log DEL %REDO_DIR%\log5_1.log DEL %REDO_DIR%\log5_2.log