【完全版】アーカイブログのバックアップ方法

Oracle Master Gold

Oracle Databaseのアーカイブログのバックアップを適切に管理することは、データの完全リカバリを実現するために不可欠です。
本記事では、アーカイブログの基本概念から、実際のバックアップ手順、運用管理まで、詳細に解説します。

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?


1. アーカイブログとは?

Oracleデータベースには、オンラインREDOログ という仕組みがあり、トランザクションの変更履歴が記録されます。しかし、オンラインREDOログは循環して上書きされるため、障害時に完全リカバリを行うためにはログの履歴が保持されている必要があります。
そこでアーカイブログ(Archived Redo Log) は、オンラインREDOログの内容をファイルに保存する仕組みです。これにより、以下のメリットがあります。

障害発生時に完全リカバリが可能(データロスの最小化)
RMANでの増分バックアップが可能(バックアップ効率の向上)
スタンバイデータベース(Data Guard)の運用が可能


2. アーカイブログモードの確認と設定

2.1 現在のアーカイブログモードを確認

まず、データベースがアーカイブログモード で動作しているかを確認しましょう。

SELECT LOG_MODE FROM V$DATABASE;

結果がARCHIVELOGであれば、すでにアーカイブログモードが有効になっています。

もしNOARCHIVELOGの場合、次の手順でアーカイブログモードを有効にします。


2.2 アーカイブログモードの有効化

手順

  1. データベースをマウントモードで起動
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
  1. アーカイブログモードへ変更
ALTER DATABASE ARCHIVELOG;
  1. データベースをオープン
ALTER DATABASE OPEN;
  1. 設定の確認
SELECT LOG_MODE FROM V$DATABASE;

3. アーカイブログの保存先の設定

アーカイブログの出力先を設定するには、以下のSQLを実行します。

ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=/u01/app/oracle/archivelog' SCOPE=SPFILE;
ALTER SYSTEM SET LOG_ARCHIVE_FORMAT='arch_%t_%s_%r.log' SCOPE=SPFILE;

変更を反映するには、データベースを再起動します。


4. アーカイブログのバックアップ方法

アーカイブログのバックアップには、RMAN(Recovery Manager) を使用します。

4.1 アーカイブログのバックアップを取得

(1) すべてのアーカイブログをバックアップ

RMAN> BACKUP ARCHIVELOG ALL;

すべてのアーカイブログをバックアップします。

(2) 指定した期間のアーカイブログをバックアップ

RMAN> BACKUP ARCHIVELOG FROM TIME 'SYSDATE-1';

過去1日分のアーカイブログをバックアップします。

(3) SCNを指定してバックアップ

RMAN> BACKUP ARCHIVELOG FROM SCN 10000 UNTIL SCN 20000;

SCN(System Change Number)が10000以上20000以下のアーカイブログをバックアップします。

(4) ログシーケンスを指定してバックアップ

RMAN> BACKUP ARCHIVELOG UNTIL SEQUENCE 100;

ログシーケンス100以下のアーカイブログをバックアップします。

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?


5. バックアップ後のアーカイブログ削除

アーカイブログは容量を圧迫するため、バックアップ後に削除する 運用が一般的です。

5.1 バックアップ済みのアーカイブログを削除

RMAN> BACKUP ARCHIVELOG ALL DELETE INPUT;

バックアップが成功したアーカイブログだけ削除されるため、安全に運用可能

5.2 すべてのアーカイブログを削除

RMAN> DELETE ARCHIVELOG ALL;

注意:このコマンドはすべてのアーカイブログを削除するため、十分な注意が必要


6. FRA(高速リカバリ領域)の利用

FRA(Fast Recovery Area)を設定しておくと、アーカイブログの管理が自動化 されます。

6.1 FRAの設定

ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE = 20G;
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST = '/u01/app/oracle/fast_recovery_area';

FRAを設定すると、古いアーカイブログが自動削除されるため、ストレージの圧迫を防げる


7. アーカイブログのリストア方法

7.1 すべてのアーカイブログをリストア

RMAN> RESTORE ARCHIVELOG ALL;

7.2 SCNを指定してリストア

RMAN> RESTORE ARCHIVELOG FROM SCN 10000;

7.3 リストア後の適用

RMAN> RECOVER DATABASE;

8. まとめ

本記事では、アーカイブログのバックアップ方法と運用管理 について詳しく解説しました。
重要ポイントを復習しましょう。

✅ アーカイブログ運用のポイント

  • アーカイブログモードを有効化
  • RMANで定期的にバックアップ
  • バックアップ後のアーカイブログ削除を実施
  • FRAを設定してストレージ管理を最適化
  • cronでバックアップを自動化

アーカイブログの適切な管理を行うことで、データベースの可用性を最大限に高める ことができます。
ぜひ、本記事の内容を参考に、実際の運用に活かしてください!

[参考]
Oracle Database バックアップおよびリカバリ・ユーザーズ・ガイド 19c

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?

コメント

タイトルとURLをコピーしました