>> はじめに |
|
前回までは、主にGUIを使用した操作により、Oracleをバックアップしてきましたが、それらはすべて、もともとはRMANのコマンドスクリプトをOracle APMの内部で自動作成して、実行しているものです。
RMANのコマンド自体は、CLIからも実行できるため、今回はRMANのすべての機能を使いこなすために、RMAN CLIを使用してみます。
>> Oracle APMはどんなRMANコマンドを作成しているか確認してみる |
|
実際に、RMANコマンドを実行と言っても、RMANに関するマニュアルは結構分量が多く、すべて読み解いていくのは大変です。そこで、Oracle APMが実際にどのようなコマンドを実行しているのかを最初に確認してみます。
まず、NetVaultの各ジョブの管理画面から、ジョブ毎のログを参照してみます。
デフォルトの状態では、RMANに関する詳細は表示されず、主にNetVault Backupのデバイスの制御状態のみが表示されます。そこで、左上にあるログフィルタの設定のアイコンをクリックします。
ログフィルタの設定画面では、表示できる警告レベルが「ジョブ情報」になっていますが、これを「すべて」に変更してOKボタンを押します。
これらの操作により、ジョブに関するログの最初の方に、実際のコマンドを確認することができます。"RMAN>"から始まるログメッセージを探してみてください。
>> RMAN CLIを実行してみる |
大まかな記述の内容がわかったところで、今度は実際にコマンドを実行してみます。
まず初めに、RMANコマンドの実行にあたっては、SQL Plusを使用することはできません。RMANコマンドを実行して、RMANのプロンプトを表示する必要があります。
【リカバリカタログを使用している場合】
|
※"rman/cat"は、ユーザとパスワードになります。詳細については、前回のリカバリカタログに関する講座を参照してください。
【リカバリカタログを使用していない場合】
|
リカバリカタログの有無は、障害復旧の内容に大きな影響を与えます。より細かい詳細については、Oracle社のマニュアル等で確認を行うようにしてください。
次に、実際にRMANのコマンドを実行してみます。以下の例では、最初に'SBT_TAPE'に対してチャネルを割り当てて、次にすべてのデータベースをフルバックアップするように指定しています。最後に割り当てたチャネルを開放することで処理が終了します。コマンドを実行後、その実行過程も確認することができます。最後に、異なるバックアップが実行されているように見えますが、これは以前に制御ファイルとSPFILEの自動バックアップの設定を行ったためです。本詳細については、以前の講座を参考にしてください。
|
>> GUIにできて、CLIでできないことを実現するには? |
|
一見すると、後はバックアップ対象を増やしたりすることで、GUIと同じようなバックアップが実現できるかのように見えます。しかし、これらの設定では、例えばバックアップに使用するメディアを選択したり、その保存期間を設定したりすることができません。Oracle APMでは、これらの設定を行うために、下記2つの方法を用意しています。
【方法 1】 format節を使用する
format節は、通常RMANの機能としてはバックアップピースの識別子として使用されることが多いのですが、Oracle APMではこれを利用して、バックアップの細かい設定に活用しています。
例えば、先ほどのフルバックアップの設定に対して、メディアの指定と保存期間の設定を行う場合を考えて見ます。はじめに、GUIを使用して、ターゲットと詳細設定に関するセットと呼ばれるものを作成しておきます。今回の例では、ターゲットとして、メディアの指定はなしにして、メディアの再利用を可能にするオプションと、メディア要求のタイムアウトを指定しています。これは、"VTL"というセット名で保存しました。
また詳細設定では、4週間保存される設定を行いました。こちらは、"4weeks"というセット名で保存しました。
この設定を元に、format節を使用してバックアップを行う際には、バックアップ対象の指定時にformat節を入れて、以下のような指定を行います。
format '<NetVaultサーバ名の指定>:<Targetセット名>:<詳細セット名>::%d_%s_%t'
実際に実行した例は以下の通りです。
|
実行した結果、ピース・ハンドルの所で名称が反映されているのが確認できます。
また、RMANのCLIから呼び出されたジョブは、ジョブ管理で確認ができますが、そこでジョブの参照を行ってみます。
その結果、CLIから指定したターゲットと詳細設定がジョブに反映されているのが確認できます。
【方法 2】 send/PARAMS節を使用する
format節の場合には、あらかじめセットを作成しておく必要がありました。そのため、リモートから接続時に、GUIが使用できない場合等には難しい場合があります。
send/PARAMS節を使用する方法では、ある程度の内容がコマンド実行時に指定できるようになっています。send節とPARAMS節では、以下のような内容を変数に設定することで、詳細な指定を行うことが可能です。
- NV_AUTO_LABEL_MEDIA ブランクメディアにラベルを付けて使用する
- NV_BACKUP_SERVER NetVaultサーバを指定
- NV_BACKUP_LIFE バックアップ有効期間指定
- NV_GROUP_LABEL グループラベルを指定
- NV_JOB_TITLE ジョブタイトルを指定
- NV_MID_LABEL メディアラベルを指定
- NV_NETWORK_COMPRESSION ネットワーク圧縮
- NV_ORIGINAL_NV_CLIENT バックアップ実行元指定
- NV_POSTSCRIPT ポストスクリプト指定
- NV_PRESCRIPT プレスクリプト指定
- NV_RESET_ENV_PARMS PARAMS節のリセット
- NV_VERIFICATION バックアップジョブの完了を確認
- NV_REUSE_MEDIA メディアの再利用
- NV_TARGET_MEDIA メディアの指定
例えば、これらを駆使して、以下のような条件のジョブを作成してみます。
ジョブタイトル: RMAN CLI BACKUP TEST
バックアップ有効期間: 4週間
ブランクメディアにラベルを付ける: 有効
ジョブの完了を確認: 有効
メディアの再利用: 有効
メディアの指定: 利用可能なメディアは何でも
この場合には、次のような指定になります。
RMAN> run {
2> allocate channel c1 type 'SBT_TAPE'
3> send 'NV_AUTO_LABEL_MEDIA=TRUE';
4> send 'NV_BACKUP_LIFE=4weeks';
5> send 'NV_JOB_TITLE=RMAN CLI BACKUP TEST';
6> send 'NV_VERIFICATION=TRUE';
7> send 'NV_REUSE_MEDIA=Any';
8> send 'NV_TARGET_MEDIA=Any';
9> backup full database;
10> release channel c1;
11> }
ここでは、すべてsend節で指定していますが、PARAMS節でも同様に設定できるものもあります。中には、send節でしか設定できないものや、逆にPARAMS節でしか設定できないものもあります。詳細については、Oracle APMのマニュアルにある、「send/PARAMS節で使用可能な変数」の一覧を参照するようにしてください。
実際に、ジョブの実行結果を確認すると、期待した設定がすべて有効になってジョブが実行されたことが確認できます。
>> 最終回 |
|
今回は、GUIの使用がとても便利なOracle APMについて、CLIからも使い勝手が良いということで、RMAN CLIを使用した方法を解説してきました。
本シリーズは今回で最後になりますが、更に細かい機能がOracle APMにはたくさんありますので、是非マニュアルを参照しながら実際にテスト環境等でお試しいただければと思います。