本記事では、Oracleデータベースのバックアップ/リストア/リカバリについて、そのアーキテクチャ、代表的なバックアップ手法、論理/物理バックアップ、RMANといった全般的な内容を解説していく。(編集部)
主な内容
--Page 1--
▼RMANで取得したバックアップの状態を確認する
REPORTによるバックアップ情報の確認
--Page 2--
取得したバックアップ・セットの検証
--Page 3--
▼RMANでのバックアップにおけるチューニング方法
パフォーマンスの妥当性の判断
--Page 4--
▼RMANでのバックアップにおけるチューニング・ポイント
データベースの初期化パラメータの調整
チャネルのチューニング
バックアップ・セットの多重化
第8回「これだけでRecovery Managerは完全マスター」、第9回「バックアップの所要時間を短縮するテクニック」では、Recovery Manager(以下、RMAN)の基礎知識や実行方法、要件や状況に応じた効果的なバックアップ方法について紹介しました。今回はRMANによるバックアップの運用面やパフォーマンス・チューニングに関するトピックとして、取得したバックアップの確認方法と実行中の監視方法、設定変更によるパフォーマンス向上の方法について説明します。なお、コマンドの実行結果は、これまでと同様にLinux環境のOracle 10g Release 2で実行したものになります。
第8回では、RMANを使用したバックアップ処理が正常に終了したか否かを確認する方法として、ログファイルやLISTコマンドを紹介しました。これらのコマンドにて、バックアップ処理が正常に終了しているかどうかは判断できますが、バックアップ対象ファイルの取得漏れ、あるいはバックアップ自体の破損をチェックすることはできません。
RMANには上記のようなチェックも含め、バックアップに関するより詳細な情報を確認できるコマンドが用意されていますので、ここでは特に有用なものを説明します。
REPORTコマンドを使うことで、バックアップ情報とターゲット・データベースの情報を分析してより具体的なバックアップ情報を取得できます。
バックアップ対象から漏れているファイルの表示
第9回で説明した分割バックアップの際に、バックアップの取得漏れをなくす対応の1つとして、REPORTコマンドにNEED BACKUPという引数を渡す方法があります。これを使用して実行すると、バックアップが必要なファイルを確認できます(リスト1)。
RMAN> report need backup; |
リスト1 REPORTコマンドによるバックアップ対象から漏れているファイルの表示 |
この例では、ageha01.dbfのファイルがバックアップされていないことを示しています。分割バックアップなどの理由で、次回に取得される予定のものであれば問題ありませんが、新規に作成されたデータファイルでバックアップ対象から漏れている場合は、バックアップスクリプトの変更や、手動によるバックアップの取得などの対応を行う必要があります。
また、上記の例では既存のバックアップ保存方針に該当するファイルを出力していますが、引数として任意の保存方針や冗長バックアップ数を指定することも可能です。
不必要なバックアップの表示
REPORT OBSOLETEコマンドは、現状で構成しているバックアップの保存方針、あるいは引数で指定した保存方針を基に、すでに不要となったバックアップを表示させることができます(リスト2)。
RMAN> report obsolete recovery window of 7 days; |
リスト2 REPORTコマンドによる不要なバックアップファイルの表示 |
この例では、REPORT OBSOLETEコマンドの引数に、保存方針として7日間のリカバリ可能期間を指定しています。そのため、現時点から7日前の時点へのリカバリを考えた場合に、すでに不要となっているバックアップが表示されます。
第8回のTOPIC「初期化パラメータ『control_file_record_keep_time』について」で説明したように、このパラメータによりRMANリポジトリ情報の保持日数が確定されます。実際の設定値は、リカバリ要件とバックアップの取得を考慮する必要があります。例えば図1の例では、リカバリ可能期間が10日間という要件が定義されています。この場合、RMANリポジトリ、すなわち制御ファイル内の情報は、少なくともリカバリ可能期間の10日間に加えて、リカバリ可能ポイントから直前のバックアップまでの日数分保持しておく必要があります。そのため、実際には少し余裕を持った値を初期化パラメータcontrol_file_record_keep_timeに設定する必要がありますのでご注意ください。
LISTコマンドやREPORTコマンドにて出力される「Completion Time」などの日時フォーマットは、デフォルトでは日にちまでしか表示されません。時間も含めて表示したい場合には、環境変数NLS_DATE_FORMATを設定してからRMANを実行することで、指定したフォーマットで日時を出力できます。次の例では、YYYY/MM/DD HH24:MI:SSといったフォーマットで表示されるように設定を行っています。
$ export NLS_DATE_FORMAT='YYYY/MM/DD HH24:MI:SS' |
Copyright © ITmedia, Inc. All Rights Reserved.