プライマリ・コンテンツに移動
Oracle® Databaseバックアップおよびリカバリ・リファレンス
12cリリース1 (12.1)
B71298-08
目次へ移動
目次
索引へ移動
索引

前
次

REPLACE SCRIPT

用途

REPLACE SCRIPTコマンドを使用すると、リカバリ・カタログに格納されている既存のスクリプトを置換できます。既存のスクリプトがない場合は、REPLACE SCRIPTによりスクリプトが作成されます。

関連項目:

ストアド・スクリプトの作成方法は、CREATE SCRIPTを参照してください。

前提条件

REPLACE SCRIPTは、RMANプロンプトでのみ実行できます。RMANが、ターゲット・データベースとリカバリ・カタログに接続されている必要があります。リカバリ・カタログ・データベースはオープンの状態である必要があります。

ローカル・スクリプトを置き換える場合は、スクリプトの作成時と同じターゲット・データベースに接続する必要があります。

ストアド・スクリプト内の置換変数

RMANでは、ストアド・スクリプトで置換変数を使用できます。&1は最初の値を配置する位置を示し、&2は2番目の値を配置する位置を示し、これ以降も同様です。特殊文字は、引用符で囲む必要があります。

置換変数の構文は、&integerの後にオプションでピリオドが続きます(&1.3など)。オプションのピリオドは変数の一部であり、値と置換されますので、置換テキストの直後に別の整数を続けることができます。たとえば、置換変数&1.3が含まれているコマンド・ファイルに値mybackupを渡すと、その置換結果はmybackup3になります。mybackup.3という結果を得るには、&1..3で2つのピリオドを使用します。

置換変数を使用するストアド・スクリプトを作成する場合は、作成時に例となる値を指定する必要があります。これらの値は、RMANの起動時にUSING句で指定するか(RMANを参照)、またはプロンプトが表示されたときに入力します(例2-72を参照)。

セマンティクス

構文要素 説明

GLOBAL

スクリプトをグローバルとして指定します。

注意: 仮想プライベート・カタログは、グローバル・スクリプトに対して読取り専用のアクセスが可能です。グローバル・スクリプトの作成と更新は、RMANがベース・リカバリ・カタログに接続している間に行う必要があります。

関連項目: グローバル・スクリプトとローカル・スクリプトの違いについては、使用上の注意を参照してください

SCRIPT script_name

置換するローカル・スクリプトまたはグローバル・スクリプトを指定します。

   COMMENT 'comment'

説明のコメントをリカバリ・カタログ内のストアド・スクリプトと関連付けます。このコメントは、LIST SCRIPT NAMESの出力内に表示されます。

backupCommands

maintenanceCommands

restoreCommands

miscellaneousCommands

ストアド・スクリプトに含めるコマンドを指定します。REPLACE SCRIPT 'script_name ' {...}コマンドのカッコ内で使用できるコマンドは、RUNブロック内でサポートされているコマンドと同じです。RUNコマンド内で有効なコマンドは、いずれもストアド・スクリプトで使用できます。コマンドRUN@(アットマーク)および@@(二重アットマーク)は、ストアド・スクリプト内では使用できません。

FROM FILE 'filename'

指定したファイルからスクリプトを定義する一連のコマンドを読み取ります。

このファイルは、有効なストアド・スクリプトの本体に類似しています。このファイルの最初の行は、左カッコ({)である必要があります。また、最終行には、右カッコ(})が含まれている必要があります。このファイルのRMANコマンドは、ストアド・スクリプトで有効である必要があります。

例3-16 リカバリ・カタログ・スクリプトの置換

RMANクライアントを起動し、TARGETとしてデータベースprodに接続して、リカバリ・カタログに接続します。CREATE SCRIPTを使用して、次のようにbackup_dbという名前のグローバル・スクリプトを作成します。

CREATE GLOBAL SCRIPT backup_db
COMMENT "back up any database from the recovery catalog, with logs"
{
    BACKUP DATABASE;
}

次に、LIST SCRIPT NAMESを使用して、リカバリ・カタログで認識されているすべてのスクリプトをリストします。

RMAN> LIST SCRIPT NAMES;
 
List of Stored Scripts in Recovery Catalog
 
 
    Global Scripts
 
 
       Script Name
       Description
       -----------------------------------------------------------------------
       backup_db
       back up any database from the recovery catalog, with logs

次に、backup_dbグローバル・スクリプトを編集するために、次のREPLACE SCRIPTコマンドを実行します。

RMAN> REPLACE SCRIPT backup_db { BACKUP DATABASE PLUS ARCHIVELOG; }
 
replaced script backup_db

GLOBALキーワードを指定していないため、RMANがbackup_dbという名前のグローバル・スクリプトに加えて、backup_dbという名前のローカル・スクリプトを作成します。LIST SCRIPT NAMESは、リカバリ・カタログに記録されているグローバル・スクリプトとローカル・スクリプトを両方とも示します。

RMAN> LIST SCRIPT NAMES;
 
List of Stored Scripts in Recovery Catalog
 
 
    Scripts of Target Database PROD
 
       Script Name
       Description
       -----------------------------------------------------------------------
       backup_db
 
 
    Global Scripts
 
 
       Script Name
       Description
       -----------------------------------------------------------------------
       backup_db
       back up any database from the recovery catalog, with logs

次に、DELETE SCRIPTを使用してbackup_dbという名前のローカル・スクリプトを削除し、次のようにグローバル・スクリプトを置換します。

RMAN> DELETE SCRIPT backup_db;
 
deleted script: backup_db
 
RMAN> REPLACE GLOBAL SCRIPT backup_db { BACKUP DATABASE PLUS ARCHIVELOG; }
 
replaced global script backup_db

ここでのLIST SCRIPT NAMESコマンドは、カタログにbackup_dbという名前のスクリプトのみが存在していることを示します。

RMAN> LIST SCRIPT NAMES;

List of Stored Scripts in Recovery Catalog
 
    Global Scripts
 
       Script Name
       Description
       -----------------------------------------------------------------------
       backup_db

PRINT SCRIPTコマンドを実行すると、グローバル・スクリプトの変更が確認されます。

RMAN> PRINT GLOBAL SCRIPT backup_db;
 
printing stored global script: backup_db
 { BACKUP DATABASE PLUS ARCHIVELOG; }