用途
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によって、現行のターゲット・データベースに対して定義されているローカル・ストアド・スクリプトが検索されます。その名前のローカル・スクリプトが見つからなかった場合は、RMANでは、同じ名前のグローバル・スクリプトが検索され、見つかった場合はそのスクリプトが実行されます。
セマンティクス
| 構文要素 | 説明 |
|---|---|
|
ローカル・ストアド・スクリプトのかわりに、グローバル・ストアド・スクリプトを実行するように指定します。 関連項目: グローバル・スクリプトとローカル・スクリプトの違いについては、「使用上の注意」を参照してください |
|
実行するストアド・スクリプトの名前を指定します。スクリプト名に空白または予約語が含まれている場合は、引用符で囲む必要があります。 |
USING [string_or_identifier | integer] |
ストアド・スクリプト内の置換変数で使用する値を1つ以上指定します(例2-96を参照)。 関連項目: 置換変数を使用するストアド・スクリプトの作成方法については、 |
例
例2-95 ストアド・スクリプトの実行
この例では、LISTを使用して、リカバリ・カタログに格納されているスクリプトを表示し、PRINT SCRIPTを使用して、例2-71で作成された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-96 置換変数を使用するストアド・スクリプトの作成と実行
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';