ロググループがINACTIVEであること
前回の「一時 REDO ログの追加」を行った後、既存 REDO ログの削除手順を行う。
REDO ロググループ1~3を一旦削除するためには、ステータスに注意が必要。
削除時には INACTIVE でなければならない (CURRENT や ACTIVE ではエラーとなる) 。
下記状態では グループ2がカレントであるため削除不可。よってログスイッチして、
グループ1~3が INACTIVE、4か5が CURRENT とする必要がある。
一時使用のREDOロググループ4,5を追加した時点
SQL> select group#, status from v$log; GROUP# STATUS ------ -------- 1 INACTIVE 2 CURRENT 3 INACTIVE 4 UNUSED 5 UNUSED
ログスイッチ
SQL> alter system archive log current; システムが変更されました。
※4か5が CURRENT になるまで繰り返し。
ステータスの確認
SQL> select group#, status from v$log; GROUP# STATUS ------ -------- 1 INACTIVE 2 INACTIVE 3 INACTIVE 4 ACTIVE 5 CURRENT
REDO ロググループ1~3を削除する
SQL> alter database drop logfile group 1; データベースが変更されました。 SQL> alter database drop logfile group 2; データベースが変更されました。 SQL> alter database drop logfile group 3; データベースが変更されました。
ORAエラー発生
もし INACTIVE 以外のステータスの REDO ロググループを
削除しようとした場合、ORA-01624 や ORA-00312 が発生する。
SQL> alter database drop logfile group 2; alter database drop logfile group 2 * 行1でエラーが発生しました。: ORA-01624: ログ2はインスタンスhoge(スレッド1)のクラッシュ・リカバリに必要です。 ORA-00312: オンライン・ログ2 スレッド1: '/app/oradata/redo02.log' ORA-00312: オンライン・ログ2 スレッド1: '/share/oradata/redo02.log'
削除後の状態を確認
SQL> select group#, status from v$log; GROUP# STATUS ------ ------- 4 ACTIVE 5 CURRENT
(次回に続く)
“REDOログサイズ変更手順[2/3] 既存REDOログの削除” への2件のフィードバック