>> はじめに |
|
前回までの講座で、とりあえず一通りのバックアップ/リストアができるようになりました。今回は、Oracle RMAN APM使用時の応用編として、複数のデバイスを使用して複数のチャネルを経由することでバックアップを高速化するパラレルバックアップと、リカバリカタログの使用を取り上げます。
>> 複数ドライブで高速なバックアップを実現! |
|
OracleのRecovery Managerでは、複数のデバイスを使用することにより、バックアップ処理のパラレル化を実現できるチャネルという機能があります。複数のチャネルを使用する方法はいくつかあります。
一つは、PARALLELISMの指定を行う事により自動チャネル割り当てを行う方法で、スクリプト等を自分で書く場合には、この設定が一般的には使用されることが多いようです。
もう一つは、1チャネル毎に"allocate channel"を実施する手動のチャネル設定になり、NetVaultではRMAN APMのオプション項目にチャネル数を入力することにより、RMAN APMの内部でその作業を自動化しています。
チャネル数の指定は、NetVaultからOracleのバックアップジョブを作成する際の、タブで行うようになっています。データファイルはもちろんのこと、アーカイブログについても、独立した数の指定が可能です。
バックアップ中は、複数のドライブが同時に動作することを確認できますが、同一のデータを分割して取るのではなく、複数のデータがある時に、その数を分担して取るため、データの置き方によっては終了時間にタイムラグが発生します。
バックアップ取得後は、1チャネルの場合と大きな変化はありません。試しに、リストア画面からバックアップピースの状況を確認すると、複数の表領域がピースに分割されています。
>> RMANリポジトリとは? |
|
Recovery Managerでは、バックアップやリカバリ、メンテナンスに使用するターゲット・データベースに関する情報が、メタデータとしてRMANリポジトリに格納されています。そのため、この情報がなくなるとRMANを使用しての正しい、リストア、リカバリができないことになります。
何も設定しないデフォルト状態では、制御ファイルにその情報が格納されますが、その場合古いバックアップに関する情報が消えてしまう可能性があります。
制御ファイルには、下記2つのタイプのレコードが格納されています。
- 非循環再利用レコード: 頻繁には更新されずに、上書きできない重要な内容が含まれています。例えば、データ・ファイルやREDOログに関する情報です。
- 循環利用レコード: 必要に応じて上書き可能な重要度の低い情報が格納され、その中にRMANリポジトリも含まれています。その最低限の期間は"control_file_record_keep_time"によって設定され、Oracle Database 10gのデフォルト値は7日間です。
|
パラメータを変更することにより、最大1年間までは伸ばす事ができますが、それ以上の長期には対応していません。また、制御ファイル自体に最大サイズが決まっており、通常20,000 Oracleブロックになっています (実際のサイズはOSによって異なります)。
これらの問題を解決するため、また複数台のOracleサーバのバックアップを考えるにあたって便利なのが、リカバリカタログです。
>> リカバリ・カタログとは? |
RMANリポジトリを制御ファイルではなく、バックアップのターゲットとは異なるOracleデータベースを使用して管理するためのカタログ情報になります。ターゲットデータベースと同一マシン上にリカバリ・カタログを作成しても、実際に動作自体に問題はありませんが、耐障害性という観点からは、非常に問題があり通常は使用されません。可能な限り異なるサーバ上に構築するか、最低でもターゲットデータベースとは異なるディスク上に配置します。一つのリカバリ・カタログ上に複数サーバのRMANリポジトリを格納できるため、Oracleのデータベースサーバのバックアップを集中して管理したい場合には、導入する利点が多くなります。なお、リカバリ・カタログ自体のバックアップは、RMANでのバックアップとは別途に、計画を立てて実行する必要があります。
リカバリ・カタログの作成方法詳細は、オラクル社の「Oracle Database バックアップおよびリカバリ・アドバンスト・ユーザーズ・ガイド」の「リカバリ・カタログの管理」の項目にありますが、ここでは簡単な手順をご紹介します。
まず初めに、リカバリ・カタログを格納するための表領域を準備します。Oracleのマニュアルでは、TOOLS表領域に作成していますが、デフォルトで無い場合などには、自分で適宜サイズを決めて作成します。複数台分を格納する際には、大きなサイズを割り当てます。大まかな目安はマニュアルに記載があります。
|
次に、リカバリ・カタログを管理するためのユーザを作成し、そのユーザに権限を与えます。一般には、rmanというユーザを作成することが多いようです。なお、"IDENTIFIED BY"句によるパスワードの設定は、もちろん例のような簡易なものでなく、適切に設定する必要があります。
|
そして、仕上げに作成したユーザでリカバリ・カタログを作成し、そこにデータベースを登録します。
|
>> Oracle RMAN APMへのリカバリ・カタログの指定 |
|
何も指定しない状態では、自動的に制御ファイルがRMANリポジトリとして使用されますが、バックアップジョブ作成時のオプションにて、Recovery Catalogタブから、"Use Catalog"にチェックを行い、サービス名、アカウント、パスワードを入力すると、リカバリ・カタログを使用するようになります。
リカバリ・カタログを使用している場合でも、通常のジョブとの違いはほとんどありません。
但し、リストアの際にもリカバリ・カタログの指定が必要なことに注意が必要です。
スタンドアロン環境のOracleでリカバリ・カタログを作成するのは躊躇してしまうかもしれません。なお、異なるマシン上に作成した場合には、Oracleリスナー等の設定が正しくないと、正常に動作しませんので、ご注意ください。
>> 次回は・・・ |
|
今までの全9回で、基本的なOracleのバックアップ方法について見てきました。次回は最終回になります。そのため、応用で対応が可能になる、より大規模なソリューションについて解説します。なお、概要の説明だけになりますので、Oracleの検証環境は潰してしまって構いません。