連載
» 2011年07月21日 00時00分 公開

独学! ORACLE MASTER Gold 11g講座(7):バックアップやアーカイブログの管理 (1/2)

ORACLE MASTER資格の上級に位置付けられる「ORACLE MASTER Gold Oracle Database 11g」。本連載では、Gold試験の頻出ポイントを解説する。確認問題付き。

[武見弘之,システム・テクノロジー・アイ]

 前回は、圧縮バックアップや増分バックアップなど、RMAN(Recovery Manager)が備える多様なバックアップ機能の使い方を解説しました。今回は、バックアップやアーカイブログのファイルを管理する時に気を付けるポイントについて説明します。

バックアップやアーカイブログの削除

 突然ですが、バックアップやアーカイブログのファイルは削除してもよいものでしょうか? 大まかにいうと「条件が整えば削除して良い」となるのですが、はっきりしませんね。その条件は、もう一度リカバリの仕組みについて復習することで見えてきます。詳細については第2回をご確認いただくとして、ポイントとなる図を再掲します。

Archive

 ここで覚えておくべきポイントは2つです。1つ目は、アーカイブログファイルだけでは完全には復旧できないということ。復旧するには、データファイルのバックアップが必要です。

 もう1つは、アーカイブログファイルを使ってトランザクションをやり直すことで、復旧できます。ただし、このときアーカイブログファイルは、バックアップ取得時点から連続していなければなりません。そして、バックアップ取得以前の状態にまで戻すことはできません。


 以上のポイントを考えると、削除できるバックアップやアーカイブログファイルは以下の図のようになります。

Archive

 バックアップを取得した後、再びバックアップを取得せずに長い間放置しておくと、アーカイブログファイルがたまり続け、ディスク領域を圧迫してしまいます。こうなる前に、データファイルのバックアップを再度取得することで、過去のアーカイブログファイルが不要となり、削除できることになります。もちろん、以前のバックアップも不要となります。

Archive

RMANからバックアップとアーカイブログを削除する

 第4回で解説した通り、RMANバックアップの取得履歴はRMANリポジトリにたまります。また、アーカイブログファイルの取得履歴もRMANリポジトリに入ります。こうすることで、RMANがリポジトリを確認し、バックアップやアーカイブログファイルをどの範囲まで削除できるかを判断させることが可能になっているのです。

 では、実際に検証してみましょう。バックアップセットは/home/oracle/backupに、アーカイブ・ログ/home/oracle/archに生成するように設定します。

 続いて、アーカイブログファイルを生成します。以下の例のようにコマンドを入力してください。こうすると、強制的にログスイッチを発生させ、ログデータの出力先が変わります。

SQL> ALTER SYSTEM SWITCH LOGFILE;

 OS上にどのようなファイルができたか確認します。

arch $ ls -sh
合計 34M
34M 1_9_750707953.arc

 では、データファイルすべてのバックアップを取得し、確認します。

RMAN> backup format '/home/oracle/backup/%d_%s_%p.bus' database;
RMAN> list backupset;
バックアップ・セットのリスト
===================
BS Key  Type LV Size       Device Type Elapsed Time 終了時間
------- ---- -- ---------- ----------- ------------ --------
1       Full    1.13G      DISK        00:00:18     11-06-16
BPキー: 1   ステータス: AVAILABLE  圧縮: NO  タグ: TAG20110616T134156
ピース名: /home/oracle/backup/ORCL_1_1.bus
〜略〜

 今度は、再度ALTER SYSTEM SWITCH LOGFILEコマンドを実行し、アーカイブログファイルを生成してOS上のファイルを確認します。

arch $ ls -sh
合計 58M
34M 1_9_750707953.arc
24M 1_10_750707953.arc ← 新しいアーカイブログファイル

 ここで、RMANのreportコマンドを実行します。reportコマンドは、削除可能と判断できるファイルを表示してくれます。また、コマンド実行時にバックアップができないデータファイルを示す機能なども備えています。

 report obsoleteを実行すると、削除可能なファイル一覧を表示します。

RMAN> report obsolete;
Recovery Manager保存ポリシーがコマンドに適用されます。
Recovery Manager保存ポリシーが冗長性1に設定されます。
古いバックアップおよびコピーのレポート
Type                 Key    Completion Time    Filename/Handle
-------------------- ------ ------------------ --------------------
アーカイブ・ログ     1      11-06-16          /home/oracle/arch/1_9_750707953.arc

 バックアップ前に取得したアーカイブログを確認できました。

 そして、RMANのdeleteコマンドを使用すると、指定したファイルのリポジトリとファイル本体の両方を削除します。

 deleteコマンドには、reportコマンドと同様にobsoleteオプションを付けることができます。こうすると、削除可能と判断できるファイルとリポジトリを削除します。

RMAN> delete obsolete;
Recovery Manager保存ポリシーがコマンドに適用されます。
Recovery Manager保存ポリシーが冗長性1に設定されます。
チャネルORA_DISK_1の使用
次の不要なバックアップおよびコピーが削除されます:
Type                 Key    Completion Time    Filename/Handle
-------------------- ------ ------------------ --------------------
アーカイブ・ログ     1      11-06-16           /home/oracle/arch/1_9_750707953.arc
このオブジェクトを削除しますか(YESまたはNOを入力してください)。 yes
アーカイブ・ログを削除しました
アーカイブ・ログ・ファイル名=/home/oracle/arch/1_9_750707953.arc レコードID=1 スタンプ=754148409
1オブジェクトを削除しました

 OS上でファイルを確認してみましょう。

arch $ ls -sh
合計 24M
24M 1_10_750707953.arc ←バックアップ後のアーカイブログのみが残っている

 RMANから再度バックアップを取得し、OS上のファイルを確認します(制御ファイルとSPFILEのバックアップも生成されますが、本稿では省略しています)。

RMAN> backup format '/home/oracle/backup/%d_%s_%p.bus' database;
backup $ ls -sh
合計 2.4G
1.2G ORCL_1_1.bus
1.2G ORCL_3_1.bus ← 新たに取得したバックアップ

 再度RMANからdelete obsoleteコマンドを実行します。

RMAN> delete obsolete;
〜中略〜
次の不要なバックアップおよびコピーが削除されます:
Type                 Key    Completion Time    Filename/Handle
-------------------- ------ ------------------ --------------------
バックアップ・セット      1 11-06-16
  バックアップ・ピース    1 11-06-16        /home/oracle/backup/ORCL_1_1.bus
アーカイブ・ログ          2 11-06-16           /home/oracle/arch/1_10_750707953.arc
このオブジェクトを削除しますか(YESまたはNOを入力してください)。YES
〜略〜

 このように、最新のバックアップよりも古いアーカイブログファイルとバックアップファイルが削除されます。

backup $ ls -sh
合計 124M
124M ORCL_3_1.bus

 OS上でファイルを確認しても、古いファイルが消えていることが分かります。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。