2.21 EXECUTE SCRIPT
目的
EXECUTE SCRIPT
コマンドを使用すると、リカバリ・カタログに格納されているローカルまたはグローバルのRMANスクリプトを実行できます。
関連項目:
-
ストアド・スクリプトの使用方法を学習するには、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。
-
「CREATE SCRIPT」
および「REPLACE SCRIPT」
を参照してください。
前提条件
EXECUTE SCRIPT
は、RUN
コマンドのカッコ内でのみ使用してください。CATALOG
コマンドライン・オプションまたはCONNECT
CATALOG
コマンドを使用して、RMANをリカバリ・カタログに接続する必要があります。リカバリ・カタログ・データベースはオープンの状態である必要があります。
使用上のノート
RUN
ブロック内でEXECUTE SCRIPT
コマンドを実行すると、RMANによって、スクリプトの内容がそのRUN
ブロックに挿入されます。そのため、スクリプト内でチャネルを割り当てている場合は、RUN
ブロック内でチャネルを割り当てないでください。
GLOBALが指定されている場合は、同じ名前のグローバル・スクリプトがリカバリ・カタログに存在している必要があります(存在していない場合は、エラー
RMAN-06004
が戻されます。)。GLOBAL
を指定しなかった場合は、RMANによって、現行のターゲット・データベースに対して定義されているローカル・ストアド・スクリプトが検索されます。その名前のローカル・スクリプトが見つからなかった場合は、同じ名前のグローバル・スクリプトが検索され、見つかった場合はそのスクリプトが実行されます。
セマンティクス
構文要素 | 説明 |
---|---|
|
ローカル・ストアド・スクリプトのかわりに、グローバル・ストアド・スクリプトを実行するように指定します。 関連項目: グローバル・スクリプトとローカル・スクリプトの違いについては、「使用上のノート」を参照してください |
|
実行するストアド・スクリプトの名前を指定します。スクリプト名に空白または予約語が含まれている場合は、引用符で囲む必要があります。 |
USING [ string_or_identifier | integer ] |
ストアド・スクリプト内の置換変数で使用する値を1つ以上指定します(例2-98を参照)。 関連項目: 置換変数を使用するストアド・スクリプトの作成方法を学習するには、 |
例
例2-97 ストアド・スクリプトの実行
この例では、LISTを使用して、リカバリ・カタログに格納されているスクリプトを表示し、PRINT SCRIPT
を使用して、例2-73で作成されたglobal_backup_db
の内容を表示します。最後に、global_backup_db
を実行して、データベースをバックアップします。
RMAN> LIST SCRIPT NAMES; List of Stored Scripts in Recovery Catalog Global Scripts Script Name Description ----------------------------------------------------------------------- global_backup_db back up any database from the recovery catalog, with logs RMAN> PRINT SCRIPT global_backup_db; printing stored global script: global_backup_db { BACKUP DATABASE PLUS ARCHIVELOG; } RMAN> RUN { EXECUTE GLOBAL SCRIPT global_backup_db; } executing global script: global_backup_db Starting backup at 07-JUN-13 current log archived allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=120 device type=DISK . . .
例2-98 置換変数を使用するストアド・スクリプトの作成と実行
RMANを起動してターゲット・データベースおよびリカバリ・カタログに接続した後、REPLACE SCRIPT
を使用して3つの置換変数が含まれるバックアップ・スクリプトを作成します。RMANによって、変数の初期値を入力するプロンプトが表示されます(太字がユーザー入力です)。
RMAN> REPLACE SCRIPT 2> backup_df { BACKUP DATAFILE &1 TAG &2.1 FORMAT '/disk1/&3_%U'; } Enter value for 1: 1 Enter value for 2: df1_backup Enter value for 3: df1 starting full resync of recovery catalog full resync complete created script backup_df
後で、別の値でbackup_df
スクリプトを実行できます。次の例では、値3
、test_backup
およびtest
をストアド・スクリプトの置換変数に渡しています。
RMAN> RUN { EXECUTE SCRIPT backup_df USING 3 test_backup df3; }
値が置換された後、RMANによってBACKUP
コマンドが次のように実行されます。
BACKUP DATAFILE 3 TAG test_backup1 FORMAT '/disk1/df3_%U';