ORACLE MASTER資格の上級に位置付けられる「ORACLE MASTER Gold Oracle Database 11g」。本連載では、Gold試験の頻出ポイントを解説する。確認問題付き。
今回は、Oracleデータベースファイルのバックアップ/リカバリを実装するOracleユーティリティ「Recovery Manager」(以下、RMAN)の構成を紹介します。バックアップ/リカバリ計画は、ユーザー管理によるOSコマンドを使って管理できます。しかし、RMANを使うことで、さまざまなバックアップ方法のサポートおよびバックアップメンテナンスが可能になります。
初めに、RMANがどのような仕組みで動作しているのか見てみましょう。まず、RMANユーティリティから、backupコマンドやrestoreコマンドを発行します。そのコマンドを受け取って、実際の処理を行うのはサーバセッションです。サーバセッションは、ターゲットデータベースのデータベースファイルを、チャネルを通じてディスクまたはテープ装置にバックアップします。そして、バックアップ情報はターゲットデータベースの制御ファイルに記録します。制御ファイルにバックアップ情報を記録するため、バックアップ情報を簡単に閲覧できるのです。
RMANの仕組みが確認できたところで、RMANの動作を制御する「永続設定」について確認しましょう。永続設定の構成を確認するためには、showコマンドを使います。すべての永続設定を確認したい場合、show allを実行します。
[oracle@machine01 ~]$ rman target / ←RMANを起動しターゲットデータベースに接続します Recovery Manager: Release 11.1.0.7.0 - Production on 木 12月 16 19:43:07 2010 Copyright (c) 1982, 2007, Oracle. All rights reserved. ターゲットデータベース: ORCL (データベースID=1247019328)に接続されました RMAN> show all; ←show allとすることで構成済みの永続設定が確認できます リカバリ・カタログの代わりにターゲットデータベース制御ファイルを使用しています db_unique_name ORCLのデータベースにおけるRMAN構成パラメータ: CONFIGURE RETENTION POLICY TO NONE; CONFIGURE BACKUP OPTIMIZATION OFF; # default CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default 〜省略〜 CONFIGURE COMPRESSION ALGORITHM 'BZIP2'; # default CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/11.1.0/db_1/dbs/snapcf_orcl.f'; # default
では、次に主要な永続設定をいくつかご紹介します。
保存ポリシーの設定では、バックアップファイルの保持ルールを設定します。保存ポリシーの設定には、「リカバリ期間」と「冗長性」があり、この2つのポリシーは相互に排他的です。
RMAN> show retention policy; db_unique_name ORCLのデータベースにおけるRMAN構成パラメータ: CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default ←デフォルトでは冗長性1 RMAN> configure retention policy to recovery window of 7 days; ←リカバリ期間7日間に設定 新しいRMAN構成パラメータ: CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS; 新しいRMAN構成パラメータが格納できました RMAN> configure retention policy to redundancy 2; ←冗長性2に設定を変更 古いRMAN構成パラメータ: CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS; 新しいRMAN構成パラメータ: CONFIGURE RETENTION POLICY TO REDUNDANCY 2; 新しいRMAN構成パラメータが格納できました
このように、永続設定を変更したい場合には、configureコマンドを使います。
制御ファイルの全損失では、制御ファイルのバックアップを使った復旧が必要になります。では、制御ファイルのバックアップはどのタイミングで取得すればよいでしょうか?
もちろん、データファイルをバックアップするタイミングで取得することは必要でしょう。バックアップ制御ファイルを使った復旧では、リカバリが必要になります。
もう1つ、大切なバックアップタイミングがあります。それは、データベースの物理構造情報が変わったタイミングです。例えば、データファイルの追加や読み取り専用表領域への変更などが該当します。
バックアップスケジューリングに制御ファイルのバックアップを含めることは容易でしょうが、構造が変わったタイミングでのバックアップは、うっかりすると忘れてしまいそうです。「制御ファイルの自動バックアップ」を有効化すると、バックアップ取得時および物理構造変更時に自動的に制御ファイルをバックアップしてくれます。この設定により、制御ファイルのバックアップを取得し忘れることはなくなります。大変便利な構成なので、お勧めです。設定方法は次のとおりです。
RMAN> show controlfile autobackup; db_unique_name ORCLのデータベースにおけるRMAN構成パラメータ: CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default RMAN> configure controlfile autobackup on; 新しいRMAN構成パラメータ: CONFIGURE CONTROLFILE AUTOBACKUP ON; 新しいRMAN構成パラメータが格納できました
なお、バックアップ場所を指定しなかった場合は、フラッシュリカバリ領域にバックアップされます。また、フラッシュリカバリ領域を指定しなかった場合、$ORACLE_HOME/dbsにバックアップされます。明示的に制御ファイルのバックアップ場所を指定する場合には、永続設定として、CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F';で自動制御ファイルのバックアップ場所を指定します。
Copyright © ITmedia, Inc. All Rights Reserved.