前提条件
SETコマンドは、RMANプロンプトまたはRUNブロック内で使用できます。RMANプロンプトで使用する場合、SETで行われた変更は、RMANクライアントを終了するまで保持されます(「setRmanOption」を参照)。RUNブロック内で使用する場合、SETで行われた変更は、RUNブロック、または同じ属性の値を変更する次のSETコマンドが終了するまで保持されます(「setRunOption」を参照)。
構文

(setRmanOption::=、setRunOption::=)

(deviceSpecifier::=、formatSpec::=)
setRunOption::=

(deviceSpecifier::=、formatSpec::=、datafileSpec::=、tempfileSpec::=、untilClause::=)

セマンティクス
この副次句では、RUNブロック外で使用可能なSETオプションを指定します。
| 構文要素 | 説明 |
|---|---|
COMPRESSION ALGORITHM'algorithm_name' |
バックアップ・セットの圧縮アルゴリズムを指定します。このコマンドは、現行のRMANセッションの現行のCONFIGURE COMPRESSION ALGORITHM設定をオーバーライドします。
algorithm_nameに Oracle Database 11gリリース2 Advanced Compressionオプションを有効にすると、次のいずれかの圧縮レベルを選択できます。
注意: 圧縮率は、通常 様々な圧縮レベルのパフォーマンスはデータベースのデータ、ネットワーク構成、システム・リソースおよびコンピュータ・システムの種類と機能によって異なるため、パフォーマンスについて広く当てはまる統計を示すことはできません。最適な圧縮レベルは、CPUへの帯域幅およびCPUの実際の速度に関するご使用のシステムのバランスによって異なります。ご使用の環境で、データに対して様々な圧縮レベルをテストすることを強くお薦めします。バックアップ・セットの圧縮レベルが組織のパフォーマンス要件および該当する品質保証契約を満たすようにするには、環境、ネットワーク・トラフィックの特徴(ワークロード)およびデータセットに基づいて圧縮レベルを選択します。 注意: サポートされているアルゴリズムは、 関連項目: 『Oracle Databaseリファレンス』の |
OPTIMIZE FOR LOAD{TRUE|FALSE} |
圧縮バックアップを要求したときに、事前圧縮ブロック処理をOracle Databaseが実行するかどうかを指定します。デフォルトはTRUEです。FALSEを指定すると、事前圧縮処理が有効になります。デフォルトの動作では、事前圧縮ブロック処理は実行されません。こうした処理は、余分なCPUリソースを消費する可能性があるうえ、1行も挿入または削除されていない、ロードしただけのデータのみを含むブロックに対しては必要ありません。FALSEを指定すると、追加のCPUリソースを使用して、事前圧縮ブロック処理が実行されます。事前圧縮ブロック処理では、内部ブロックのクリーンアップおよびデフラグが実行されるため、バイナリ圧縮のレベルが向上します。
関連項目: このオプションの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。 |
AS OF RELEASE'version number' |
リリース・バージョンを指定します。バージョン番号にはリリース番号書式が使用され、リリースを完全修飾するために最大5つの数値が使用されます。たとえば、10.2.0.3.0および11.2は使用可能な値です。このため、将来のリリースで圧縮アルゴリズムが維持されるようになっています。 |
DECRYPTIONIDENTIFIED BY password |
デュアル・モードのバックアップまたはパスワードで暗号化されたバックアップを読み取る際に使用する1つ以上の復号化パスワードを指定します。
パスワードで暗号化されたバックアップでは、正しいパスワードを入力しないとリストアできません。RMANでは、暗号化されたバックアップ・ピースが読み取られると、そのバックアップ・ピースを複合化するための正しいパスワードが検出されるまでリスト内の各パスワードが試用されます。指定したいずれのキーも有効でない場合は、RMANによりエラーが発行されます。 注意: 別のパスワードを使用して作成されたバックアップのグループからリストアを行う場合、 関連項目: 「バックアップ・セットの暗号化」を参照してください。 |
ECHO {OFF | ON} |
RMANコマンドをメッセージ・ログに表示するかどうかを制御します。コマンド・ファイルからコマンドを読み込むとき、RMANはそれらのコマンドを自動的にメッセージ・ログに表示します。標準入力からコマンドを読み取る場合、デフォルトでは、RMANはそれらのコマンドをメッセージ・ログに表示しません。RMANでコマンドを表示するには、コマンド・ファイルを実行する前にSET ECHO ONコマンドを実行します。SET ECHO OFFを実行して、コマンド・ログへの表示を無効化します。
このコマンドは、 % rman TARGET / < in_file > out_file
|
ENCRYPTION |
RMANセッションの実行時に、バックアップ・セットを作成するBACKUPコマンドを適用する暗号化関連オプションを指定します。
関連項目: 「バックアップ・セットの暗号化」を参照してください。 |
ALGORITHM 'algorithm_name' |
このRMANセッション実行時に使用するアルゴリズムを指定します。CONFIGURE ALGORITHMで指定されているデフォルトの構成済暗号化アルゴリズムをオーバーライドします。V$RMAN_ENCRYPTION_ALGORITHMSに、使用可能な値が示されています。 |
IDENTIFIED BY password [ONLY] |
次の規則に従って、バックアップの暗号化でユーザー指定のパスワードを採用するかどうかを指定します。
安全なパスワードを作成してください。詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。 パスワードは、引用符で囲まない場合、内部で大文字に変換されます。したがって、次の句は、すべて
注意: ウォレットベースの暗号化は、パスワードが含まれないため、パスワード・ベースの暗号化よりも安全です。パスワード・ベースの暗号化は、バックアップをトランスポータブルにする必要があるため、必要な場合のみ使用してください。 関連項目: 様々な暗号化モードの詳細は、「バックアップ・セットの暗号化」を参照してください。 |
{OFF | ON} |
バックアップ・セットを暗号化するかどうかを指定します。ONと指定すると、デフォルトでバックアップ・セットが暗号化されます。OFFと指定すると、デフォルトではバックアップ・セットは暗号化されません。
このオプションは、
|
FOR ALL TABLESPACES |
すべての表領域の暗号化を制御し、CONFIGURE ENCRYPTION FOR TABLESPACE tablespace_name設定をすべてオーバーライドします。 |
この副次句では、RUNブロック内で使用可能なSETオプションを指定します。
| 構文要素 | 説明 |
|---|---|
ARCHIVELOG DESTINATIONTO 'log_archive_dest' |
後続のRESTOREおよびRECOVERコマンドでリストアされるアーカイブREDOログ・ファイルの名前を構成するときに、ターゲット・データベースのLOG_ARCHIVE_DEST_1初期化パラメータをオーバーライドします。RMANは、'log_archive_dest'に指定した宛先にログをリストアします。
このコマンドを使用すると、データベースのリストア中に、アーカイブREDOログ・ファイルを異なる場所に移動できます。RMANは、新しくリストアされたアーカイブREDOログ・ファイルの検索場所を認識しているため、 このパラメータは、ディスクには存在していないアーカイブREDOログ・ファイルのリストアに使用します。RMANは、ログをバックアップからリストアする前に、それがディスク上にあるかどうかを必ず最初に調べます。 |
BACKUP COPIES integer |
チャネルが作成する必要がある各バックアップ・ピースのコピー数として1、2、3または4を指定します(例3-42を参照)。
RMANは、バックアップをディスクまたはテープのいずれかに多重化できますが、テープとディスクに同時に多重化することはできません。テープにバックアップを行う場合は、コピー数が使用可能なテープ・デバイスの数を超えないようにします。また、
バックアップ・ピースの名前は、 注意: 注意: 制御ファイルのディスクへの自動バックアップは特殊ケースであり、多重化されることはありません。RMANが書き込むコピーは常に1つのみです。 |
MAXCORRUPTFOR DATAFILE datafileSpecTO integer |
指定したデータファイルまたはデータファイルのグループ内でデータベースが許容する未検出のブロック破損数に制限を設定します。デフォルトは0(ゼロ)で、RMANが破損ブロックを許容しないことを意味します。
注意: 関連項目: |
NEWNAME FORDATABASE |
指定データベースで、SET NEWNAME FOR TABLESPACE、SET NEWNAME FOR TEMPFILEまたはSET NEWNAME FOR DATAFILEコマンドで名前が設定されていないすべてのデータファイルおよび一時ファイルの新しいデフォルト名を設定します。
このコマンドでは、データベース内の複数のファイルの名前を変更することができ、各ファイルの名前を個々に設定する場合の素早い代替手段となります(例2-76を参照)。このコマンドでは、一時ファイルの名前は設定されません。
新しい名前は、RMAN TSPITRユーティリティの使用時に、データベース内のファイルに影響を与える後続のすべての
SET NEWNAME FOR DATABASE TO '/oradata1/%b'; SET NEWNAME FOR TABLESPACE users TO '/oradata2/%U'; SET NEWNAME FOR DATAFILE 1 TO '+data'; 前述の一連のコマンドは、順序が異なる次の一連のコマンドと同じです。 SET NEWNAME FOR DATAFILE 1 TO '+data; SET NEWNAME FOR DATABASE TO '/oradata1/%b'; SET NEWNAME FOR TABLESPACE users TO '/oradata2/%U'; 注意: 関連項目: |
NEWNAME FORDATAFILE datafileSpec |
指定したデータファイルのデフォルト名を設定します。
このコマンドによって、各データファイルの名前を個々に指定できます(例2-77を参照)。新しい名前は、RMAN TSPITRユーティリティの使用時に、データベース内のファイルに影響を与える後続のすべての
注意: 関連項目: |
NEWNAME FOR TABLESPACEtablespace_name |
指定した表領域内のファイルのうち、SET NEWNAME FOR DATAFILEコマンドで名前が設定されなかったすべてのファイルに新しいデフォルト名を設定します。
このコマンドでは、複製した表領域内の複数のファイル名を変更でき、表領域の各ファイルの名前を個々に変更するかわりに使用できます(例2-77を参照)。
新しい名前は、表領域内のファイルに影響を与える後続のすべての 注意: 関連項目: |
NEWNAME FORTEMPFILE tempfileSpec |
指定した一時ファイルの名前を、指定した名前に変更する後続のSWITCHコマンドに対して、新しい一時ファイル名を設定します。
注意: 関連項目: |
TO 'filename' |
リストアされるデータファイルまたは一時ファイルに対して、ユーザー定義ファイル名またはASMディスク・グループを指定します。
注意: formatSpecに定義されているその他の置換変数の使用方法は定義されていません。エラーが発生するものもあり、結果値が0(ゼロ)となり、サポートされていないものもあります。
|
TO NEW |
DB_CREATE_FILE_DEST初期化パラメータで指定したディレクトリにOracle Managed Filesを作成します。
たとえば、 元のファイルがOracle Managed Filesであるか、またはASMディスク・グループに存在する場合は、RMANによって元のファイルの削除が試行されます。一時ファイルに対して 関連項目: Oracle Managed Filesの詳細は、『Oracle Database管理者ガイド』を参照してください。 |
TO RESTORE POINTrestore_point_name |
リストア・ポイントを作成した時点のSCNを上限として(上限値を含む)、後続のRESTOREまたはRECOVERコマンドのリストア・ポイントを指定します。上限値が含まれるため、RMANは、リストア・ポイントに対応するSCNまでリストアまたはリカバリできるファイルのみを選択します。
注意: 定義済のリストア・ポイントは制御ファイルに記録されているため、 |
untilClause |
後続のRESTOREまたはRECOVERコマンドで使用する終了時刻、SCNまたはログ順序番号を指定します。
関連項目: |
この副次句では、RUNブロックの内部または外部で使用可能なSETオプションを指定します。
| 構文要素 | 説明 |
|---|---|
AUXILIARY INSTANCE PARAMETERFILE TO 'filename' |
インスタンスの起動に使用するパラメータ・ファイルへのパスを指定します。このパラメータは、自動補助インスタンスでTSPITRをカスタマイズする場合、または、RMANでRMAN表領域をクローニングする場合に使用できます。
注意: 関連項目: TSPITRの詳細は、『Oracle Databaseリファレンス』を参照してください。 |
COMMAND ID TO 'string' |
指定した文字列をすべてのチャネルのV$SESSION.CLIENT_INFO列に入力します。この情報は、データベース・サーバー・セッションとRMANのチャネルの対応関係の確認に使用します。SET COMMAND IDコマンドは、割当て済のチャネルにのみ適用されます。
1番目の形式は、RMANターゲット・データベース接続で使用されます。2番目の形式は、割り当てられたすべてのチャネルについて使用されます。現行のジョブが完了すると、 関連項目: V$SESSION.CLIENT_INFOの詳細は、『Oracle Databaseリファレンス』 |
CONTROLFILE AUTOBACKUPFORMAT FOR DEVICE TYPEdeviceSpecifierTO formatSpec |
指定したデバイス・タイプの制御ファイルの自動バックアップについて、デフォルトのファイル名形式をオーバーライドします。このコマンドはRUNコマンド内またはRMANプロンプトで使用できます。優先順位は次のとおりです。
新しい 関連項目: |
DATABASE 'database_name' |
ターゲット・データベースに接続せずに複製する場合に、コピーするデータベース(ソース・データベース)の名前を指定します。また、ターゲット・データベースに接続せずに複製することを選択した場合は、DUPLICATEコマンドのDATABASE句を使用してソース・データベースを指定することもできます。 |
DBID integer |
DBIDを指定します。データベースの作成時に計算される一意で32ビットの識別番号です。
RMANは、ターゲット・データベースへの接続時にDBIDを表示します。DBIDを取得するには、
|
INCARNATION primaryKey |
次の場合は、ターゲット接続なしで複製する際に、孤立したインカネーションを指定できます。
|
例3-41 コマンドIDの設定
この例では、コマンドIDをrmanに設定し、データベースをバックアップして、オンラインREDOログをアーカイブします。コマンドIDを使用すると、WHERE CLIENT_INFO LIKE '%rman%'を指定したV$SESSIONへの問合せで、ジョブのステータス情報がわかります。
RUN
{
ALLOCATE CHANNEL d1 DEVICE TYPE DISK FORMAT '/disk1/%U';
ALLOCATE CHANNEL d2 DEVICE TYPE DISK FORMAT '/disk2/%U';
SET COMMAND ID TO 'rman';
BACKUP INCREMENTAL LEVEL 0 DATABASE;
SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT';
}
例3-42 バックアップ・セットの多重化
現行の多重化構成が次のようになっているとします。
CONFIGURE ARCHIVELOG COPIES FOR DEVICE TYPE sbt TO 3; CONFIGURE DATAFILE COPIES FOR DEVICE TYPE sbt TO 3;
テープ・ドライブのうち1台が故障し、使用できるテープ・ドライブが2台のみになりました。テープ・バックアップでは、一般に、チャネル数とコピー数を掛けた数が、デバイスの数に等しくなるようにします。次の例では、多重化の永続構成をSET BACKUP COPIESでオーバーライドし、データベース・バックアップの2つのコピーを、機能している2つのテープ・ドライブに書き出します。
RUN
{
ALLOCATE CHANNEL dev1 DEVICE TYPE sbt
PARMS 'ENV=(OB_DEVICE_1=stape1,OB_DEVICE_2=stape2)';
SET BACKUP COPIES 2;
BACKUP DATABASE PLUS ARCHIVELOG;
}
例3-43 リストア中の制御ファイルの自動バックアップ形式の設定
制御ファイルを格納しているディスクに障害が発生したとします。初期化パラメータ・ファイルのCONTROL_FILESパラメータを編集して、新しい場所を示すようにします。
この例では、リカバリ・カタログへのアクセス権はありません。この例では、インスタンスを起動し、DBIDを設定してから、制御ファイルの自動バックアップをリストアします。データベースをマウントした後は、データベースのリカバリを行うことができます。
CONNECT TARGET /
STARTUP FORCE NOMOUNT
SET DBID 28014364;
RUN
{
SET CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/disk2/cf_%F.bak';
RESTORE CONTROLFILE FROM AUTOBACKUP MAXSEQ 100;
}
ALTER DATABASE MOUNT;
RECOVER DATABASE;
ALTER DATABASE OPEN RESETLOGS;
例3-44 サーバー・パラメータ・ファイルのリストア
データベースのホストでメンテナンスを実行している間にデータベースが停止されたとします。このとき、サーバー・パラメータ・ファイルが誤って削除されました。RMANクライアントを起動し、TARGETとしてCONNECTを実行してデータベースに接続してから、リカバリ・カタログに接続します。次の例では、テープの自動バックアップからサーバー・パラメータ・ファイルをリストアしてから、インスタンスを再起動します。
SET DBID 3257174182; # set dbid so RMAN can identify the database
STARTUP FORCE NOMOUNT # RMAN starts database with a dummy server parameter file
RUN
{
ALLOCATE CHANNEL t1 DEVICE TYPE sbt;
RESTORE SPFILE FROM AUTOBACKUP;
}
STARTUP FORCE; # RMAN restarts database with restored server parameter file
例3-45 ターゲット・データベースに接続せずに実行するNEWNAMEの設定および複製
ターゲット・データベースに接続せずにデータベースを複製すること、および現行のインカネーション・パスに存在しないインカネーション(451)に複製することを想定しています。次の例では、様々なSET NEWNAMEコマンドを使用して、DBIDを設定し、データベースをNEWDBに複製します。
SET DATABASE PROD
SET DBID 22398754
SET INCARNATION 451
RUN
{
SET NEWNAME FOR TABLESPACE system TO '/test/oradata/system/%d_%f';
SET NEWNAME FOR TABLESPACE users to '/test/oradata/users/%b';
SET NEWNAME FOR DATAFILE 35 to '/test/oradata/special/%N_%b_%f';
SET NEWNAME FOR DATAFILE 50 to '/test/oradata/special/%N_%b_%f';
SET NEWNAME FOR DATABASE to NEW;
DUPLICATE DATABASE TO newdb
SKIP READONLY
LOGFILE
GROUP 1 ('/test/onlinelogs/redo01_1.f',
'?/test/onlinelogs/redo01_2.f') SIZE 4M,
GROUP 2 ('?/test/onlinelongs/redo02_1.f',
'?/test/onlinelongs/redo02_2.f') SIZE 4M,
GROUP 3 ('?/test/onlinelogs/redo03_1.f',
'?/test/onlinelogs/redo03_2.f') SIZE 4M REUSE;
}