SSJ Tech Lab - Oracle Database テクニカルラボ

REDOログ操作

対応バージョン

Oracle Database 10.1 - 12.1

2016-05-22記事の言い回しを修正

2015-03-16記事を概要と操作に分割

2015-01-31記事公開

REDOログのグループの追加や削除(再作成)の操作について記載します。
REDOログのアーキテクチャ・概要については以下を参照して下さい。
REDOログ概要

ログスイッチ

以下のコマンドにより、ログスイッチが行われ、REDOログの循環(切り替え)が行われます。
データファイルのバックアップ後からのデータ状態をアーカイブログとして保存し、データベースリカバリなどに使用されます。
各THREAD#についてログスイッチが行われ、SEQUENCE#が進んでいることが確認できます。

REDOログの追加

グループを追加する

例として/u01/app/oracle/oradata/ORCL/onlinelog/testredo1.log(testredo2.log)を以下の条件で追加するコマンドを記載します。

  • 1. スレッド1(RACのインスタンス番号、シングルインスタンスの場合は1固定となります)
  • 2. グループ番号4
  • 3. 2メンバー(testredo1.logとtestredo2.logはコピーとなり、全く同じデータとなります)
  • 4. 50MB

グループにメンバーを追加する

冗長化を行うため、グループにメンバーを追加します。

先ほどの例で追加したグループ4に、3つ目と4つ目のメンバーを追加します。(/u01/app/oracle/oradata/ORCL/onlinelog/testredo3.log(testredo4.log))
グループ4としてサイズが確保されているため、サイズの指定はありません。グループ4の他のメンバーのコピーとなるため、同じサイズになります。

REDOログの削除

REDOログ・ファイルの状態が使用可能(INACTIVE/UNUSED)の場合、削除が可能となります。使用中(CURRENT/ACTIVE)の間は削除出来ません。REDOログ・ファイルの循環によってステータスが変化します。REDOログ・ファイルの循環ついてはREDOログ概要を参照してください。

通常時にみるステータスは以下の通りです。アーカイブ・ログ化されているかどうかはステータスに関連ありません。
  • ・ACTIVE(データファイルに書き込みが終わっていない状態)
  • ・CURRENT(現在使用中)
  • ・INACTIVE(データファイルに書き込みが終わった状態)
  • ・UNUSED(まだ未使用の状態)
以下は上記のREDOログの追加にて作成した、グループ4(/u01/app/oracle/oradata/ORCL/onlinelog/testredo[1-4].log)を削除する例です。
まずステータスを削除可能な状態に変更します。

グループのメンバーを削除する

ステータスを削除可能に変更した後に以下のSQL文を実行します。

グループを削除する

こちらもステータスを削除可能に変更した後に以下のSQL文を実行します。

REDOログの再作成

REDOログの再作成は上記の追加と削除を組み合わせて行います。
直接再作成を行うコマンドはありません。