Oracleには通常のログ以外にアーカイブログがあります。「アーカイブログ」とは何でしょうか?
REDOログファイル
「アーカイブログ」の説明の前に「REDOログ」ファイルをみていきましょう。なぜなら「アーカイブログ」と「REDOログ」は密接な関係があるからです。
「REDOログファイル」とはOracleの更新情報が入っているファイルです。
例えば、データベースの従業員テーブルの「電話番号」を更新します。その後、先ほどの電話番号が間違いだとわかり、もう一度「電話番号」を更新したとします。
電話番号を2回更新しました。この場合、最後の結果がデータベースの本体、いわゆるデータファイルに書き込まれます。
Oracleは最後の結果だけではなく、この2回の更新情報も記録しています。その履歴が「REDOログファイル」に残っています。
つまり、Oracleの「REDOログファイル」は「更新履歴のファイル」です。
- 最後の結果 →データファイルに記録されます
- 更新履歴 →REDOログファイルに記録されます
REDOログファイルの問題点
では、ここで障害について考えてみます。もし何らかの障害で先ほどの電話番号が消えてしまったら?DB管理者として大問題ですよ。
ここでいう「消える」というのはデータファイルから消えるという意味です。データファイルから消えてしまっても、この「REDOログファイル」の中に更新情報は残っているので復旧はできるわけです。
が、この「REDOログファイル」、ひとつ問題があります。REDOログファイルは容量に上限があり、上限一杯になると上書きしてしまうのです。
先ほど電話番号を更新しましたが、他の人がその後大量のデータ更新をしたら「REDOログファイル」からその情報が消えてしまいます。
困りますよね?こうなってしまったら障害発生時に復旧できませんよね?そこで登場するのが「アーカイブログファイル」です。
アーカイブログファイル
「REDOログファイル」が一杯になったら上書きされてしまい、更新履歴が消えてしまいます。そうなる前に、さくっと別のログファイルに退避しておくんです。もちろん上書きされません。
これが「アーカイブログ」です。「アーカイブログファイル」は上書きされないので、「REDOログファイル」が一杯になる都度どんどん作成されていきます。これなら絶対に消えることはありません。安心です。
でも、逆に管理者が定期的に消さないとサーバーの容量が一杯になってしまうので注意が必要です。通常は自動的に消えるように設定しておきます。
アーカイブログ運用にするには
また、アーカイブログ運用にするには設定する必要があります。詳細はこちらから。
アーカイブログのまとめ
- Oracleの更新情報は「REDOログファイル」にどんどん上書きされます。
- 更新情報が消えないよう「REDOログファイル」のバックアップとして「アーカイブログファイル」に残しておきます。
- アーカイブログファイルは自動では消えない
以上、Oracleの「アーカイブログ」の解説でした。
コメント
アーカイブログ よーくわかりました!
自動で削除するとは??なにか設定するところがありますか?
アーカイブログを自動で削除する方法はこちらを読んでください。
→アーカイブログを自動で削除する方法(RMAN)
記事にもリンクを追加しました。