ARCHIVELOGモードについて

この記事ではOracle DatabeseのARCHIVELOGモードについて解説します。

 ARCHIVELOGモードとは

Oracle Databaseにおいてデータベースを更新した際に履歴データがREDOログファイルに記録されます。

REDOログファイルは複数のグループで構成されており、グループを循環しながらデータを書き込みます。

全てのグループのファイルに更新データが書き込まれると、古いログから上書きされていきます。

古い更新ログが消えてしまうと、データベースが障害発生時に最新の状態までデータを復旧させることができなくなります。

ARCHIVELOGモードを適用するとREDOログが上書きされる前に更新情報をアーカイブログとして出力します。

これによってデータベースに対するすべての変更履歴を保管することができます。

データベースに障害が発生した場合でもアーカイブログをもとに最新の状態までデータを復旧することができます。


 ARCHIVELOGモードのメリット

ARCHIVELOGモードに対して、アーカイブログを出力しないモードをNOARCHIVELOGモードといいます。

NOARCHIVELOGモードと比較して、ARCHIVELOGモードのメリットは以下の2つがあります。

・オンラインバックアップが可能

データベースを稼働させたままバックアップを取得できます。

NOARCHIVELOGモードではバックアップを取得する際はデータベースの停止が必要です。

・障害発生直前時点に復旧可能

NOARCHIVELOGモードではバックアップ取得時点までしか復旧できません。


 ARCHIVELOGモードの確認

データベースがARCHIVELOGモードになっているかどうかは下記のSQLで確認できます。

select log_mode from v$database;

ARCHIVELOGモードなら「ARCHIVELOG」、NOARCHIVELOGモードなら「NOARCHIVELOG」と表示されます。