2.2 @@ (二重アットマーク)
目的
@@
コマンドを使用すると、指定したファイル名のオペレーティング・システム・ファイルに格納されている一連のRMANコマンドを実行できます。
@@
がコマンド・ファイルに含まれている場合、@@
filename
によって、RMANは、指定したファイル名をコール元のコマンド・ファイルと同じディレクトリ内で検索します。@@
コマンドは、コマンド・ファイル内で使用しない場合、@(アットマーク)
コマンドと同じです。
前提条件
コマンド・ファイルには、完全なRMANコマンドを記述する必要があります。
使用上の注意
コマンド・ファイルは、RMANクライアントに対してローカルです。ファイル名の解決は、オペレーティング・システムに依存します。たとえば、UNIXまたはWindowsでの@tmp/cmd1.rman
の場合、tmp
が現行のディレクトリのサブディレクトリで、ファイルcmd1.rman
がそのサブディレクトリの中にあることを意味しています。
ここで、@
と@@
の違いを示します。RMANを次のように起動するとします。
% rman TARGET / RMAN> @/tmp/cmd1.rman
cmd1.rman
スクリプト内にコマンド@@cmd2.rman
があるとします。この場合、@@
コマンドはRMANに対して、ディレクトリ/tmp
にあるファイルcmd2.rman
を検索するように指示します。
@
コマンドの場合と同様に、コマンド・ファイル内に置換変数を指定して、@@
の実行時に、そのコマンド・ファイルに値を渡すことができます(例2-4を参照)。
セマンティクス
構文要素 | 説明 |
---|---|
|
たとえば、コマンド・ファイルの名前を |
例
例2-4 別のコマンド・ファイル内からのコマンド・ファイルのコール
次のオペレーティング・システム・コマンドによって、コマンド・ファイルbackup_logs.rman
およびbackup_db.rman
が作成されます。
% echo "BACKUP ARCHIVELOG ALL;" > /tmp/bkup_logs.rman % echo "BACKUP TAG &1 DATABASE;" > /tmp/bkup_db.rman % echo "@@bkup_logs.rman" >> /tmp/bkup_db.rman
次の例では、コマンドラインからRMANを起動し、オペレーティング・システム認証を使用してターゲット・データベースに接続します。@
コマンドは、bkup_db.rman
を実行しますが、そのファイルには@@bkup_logs.rman
コマンドが記述されています。@@
コマンドは、bkup_db.rman
が存在するディレクトリと同じディレクトリからbkup_logs.rman
スクリプトを検索します。この例では、置換変数を使用して、データベース・バックアップのタグWHOLE_DB
が指定されています。
% rman TARGET / RMAN> @/tmp/bkup_db.rman whole_db