この記事では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」と表示されます。