用途
DUPLICATE
コマンドを使用すると、ソース・データベースのコピーを作成できます。RMANで作成できるのは、次のいずれかのタイプのデータベースです。
複製データベース。これは、一意のDBIDを持つソース・データベース(またはソース・データベースのサブセット)のコピーです。複製データベースは一意のDBIDを持っているため、ソース・データベースから独立しており、同じリカバリ・カタログに登録できます。通常、複製データベースはテストに使用します。
スタンバイ・データベース。これは、ソース・データベース(Data Guard環境ではプライマリ・データベースと呼ばれます)の特別なコピーであり、プライマリ・データベースのアーカイブREDOログ・ファイルを適用して更新されます。スタンバイ・データベースには、新しいDBIDは割り当てられません。
RMANでは、サポートされている次のいずれかのモードで複製を実行できます。
アクティブな複製
RMANは、オープン状態またはマウント状態のデータベースから直接複製します。
ターゲット接続なしで実行するバックアップベースの複製
RMANは、既存のRMANバックアップおよびコピーから複製ファイルを作成します。DUPLICATE
コマンドは、DATABASE
句とともに発行されている必要があります。この形式では、補助インスタンスおよびリカバリ・カタログへの接続が必要となります。
このモードは、(セキュリティ・ポリシーの制限またはファイアウォールでの規定により)ターゲット・データベースを使用できない場合またはターゲット・データベースへの接続が適切でない場合に役立ちます。
ターゲット接続を指定したバックアップベースの複製
RMANは、既存のRMANバックアップおよびコピーから複製ファイルを作成します。
ターゲットおよびリカバリ・カタログへの接続なしで実行するバックアップベースの複製
RMANは、BACKUP LOCATION
で指定した場所に配置されたRMANバックアップおよびコピーから複製ファイルを作成します。
関連項目:
|
前提条件
前提条件は、複製のタイプによって異なります。
すべての形式の複製に共通の前提条件
RMANは、複製データベースのインスタンスにAUXILIARY
として接続されている必要があります。複製データベースのインスタンスは、補助インスタンスと呼ばれます。補助インスタンスは、NOMOUNT
オプションで起動されている必要があります。
ソース・ホストは、ソース・データベースが格納されているデータベースです。トランスポート先ホストは、複製データベースが作成されるホストです。複製データベースをソース・ホストに作成する場合は、DUPLICATEコマンドの実行時に、ソース制御ファイルが使用中であることが原因でエラーが発生しないように、CONTROL_FILES
初期化パラメータを適切に設定してください。また、ソース・データベース・ファイルが複製データベース・ファイルで上書きされないように、すべての*_DEST
初期化パラメータも適切に設定してください。
ソース・データベースと複製データベースのプラットフォームは、同じである必要があります。DUPLICATE
の処理では、プラットフォームが同じ32ビット・バージョンと64ビット・バージョンは、同じプラットフォームとみなされます。たとえば、Linux IA (32-bit)とLinux IA (64-bit)は、同じプラットフォームとみなされます。ただし、32ビットと64ビットのプラットフォーム間でデータベースの複製が終了したら、utlirp.sql
スクリプトを実行して、PL/SQLコードを新しい形式に変換する必要があります。このスクリプトは、LinuxおよびUNIXプラットフォームのORACLE_HOME
/rdbms/admin
にあります。
DUPLICATE
コマンドを実行するには、1つ以上の補助チャネルが必要です。これらのチャネルは、補助データベース・インスタンスで複製処理を実行します。次のような場合、RMANはソース・データベースのチャネル構成を補助チャネルに使用します。
補助チャネルの手動割当てにALLOCATE CHANNEL
を使用しなかった場合。
補助チャネルの構成にCONFIGURE
を使用しなかった場合。
CONNECT
文字列を使用するように自動ターゲット・チャネルを構成した場合、RMANは補助インスタンスのチャネル割当てを複製しようとします。ただし、複製用のチャネル割当てを制御または変更する必要がある場合は、補助チャネルを手動で割り当てる必要があります。
COMPATIBLE
初期化パラメータが11.0.0以上に設定されている場合、RMANでは、デフォルトで、トランスポート後に読み書き両用に設定されていなかったトランスポータブル表領域が複製されます。それ以外の場合、RMANでは、トランスポート後に読み書き両用に設定されていないかぎり、トランスポータブル表領域は複製できません。
列レベルで機能する透過的データ暗号化と表領域暗号化のデータベース暗号化機能のいずれにも、ウォレットが使用されています。複製する表領域が暗号化されている場合は、複製データベースにウォレットを手動でコピーする必要があります。
関連項目: 透過的データ暗号化については、『Oracle Database Advanced Security管理者ガイド』を参照してください。 |
バックアップベースの複製に固有の前提条件
表2-6に示すように、バックアップベースの複製の前提条件は、RMANがTARGET
としてソース・データベースに接続しているかどうかによって異なります。
表2-6 バックアップベースの複製の3つのモードに対する前提条件
前提条件 | ターゲットおよびリカバリ接続なし | ターゲット接続なし | ターゲット接続 |
---|---|---|---|
RMANは、リカバリ・カタログに接続している必要があります。 |
非該当 |
該当 |
非該当 |
トランスポート先ホストのサーバー・セッションから、複製データベースの作成とリカバリに使用するすべてのバックアップおよびアーカイブREDOログ・ファイルにアクセスできる必要があります。 |
該当 |
該当 |
該当 |
トランスポート先ホストとソース・ホストが異なる場合は、ソース・ホストのディスク上のバックアップを、ソース・データベースでのフルパス名と同じフルパス名で、トランスポート先ホストから使用できるようにする必要があります。 |
非該当 |
該当 |
該当 |
ソース・データベースの名前を |
非該当( |
該当 |
非該当 |
|
N/A |
非該当 |
該当 |
RMANでアーカイブREDOログ・ファイルがバックアップされないようにする場合は、 |
該当 |
該当 |
該当 |
表領域のサブセットを複製する場合およびソース・データベースがオープンされていない場合は、UNDOセグメントを含む複製されたすべての表領域を |
該当 |
非該当 |
該当(カタログを使用しておらず、ターゲットがオープンされていない場合) |
表領域のセットが自己完結型であること、およびそれらの表領域に |
非該当 |
非該当 |
該当 |
アクティブなデータベースの複製に固有の前提条件
FROM ACTIVE DATABASE
を指定してDUPLICATE
を実行する場合、1つ以上の通常のターゲット・チャネルおよび1つ以上のAUXILIARY
チャネルが必要です。
RMANからTARGET
としてソース・データベースに接続するときは、RMANでオペレーティング・システム認証を使用している場合でも、パスワードを指定する必要があります。ソース・データベースはマウントまたはオープン状態である必要があります。ソース・データベースがオープン状態の場合は、アーカイブ処理を有効にする必要があります。ソース・データベースがオープンされていない場合は、一貫性を保った状態で停止されている必要があります。
RMANから補助インスタンスに接続する場合は、ネット・サービス名を指定する必要があります。この要件は、補助インスタンスがローカル・ホストに存在する場合にも適用されます。
ソース・データベースと補助インスタンスは、同じSYSDBA
パスワードを使用する必要があり、両方のインスタンスにはパスワード・ファイルが存在している必要があります。補助インスタンスを起動してソース・データベースから接続できるように、パスワードを1つにしてパスワード・ファイルを作成できます。
パスワード・ファイルに対するDUPLICATEの動作は、複製データベースがスタンバイ・データベースとして動作するかどうかで異なります。作成する複製データベースがスタンバイ・データベースでない場合、デフォルトでは、RMANはパスワード・ファイルをコピーしません。
PASSWORD FILE
オプションを使用すると、補助インスタンス上の既存のパスワード・ファイルを上書きするようにRMANに指定できます。スタンバイ・データベースを作成すると、デフォルトでは、RMANがパスワード・ファイルをスタンバイ・ホストにコピーするため、既存のパスワード・ファイルは上書きされます。その場合は、PASSWORD FILE
句は必要ありません。
アクティブなデータベースの複製を実行する場合は、UNTIL
句を使用できません。RMANは、データファイルを一貫性のある時点にリカバリできるように、オンライン・データファイルが完全にコピーされた時間に基づいて時間を選択します。
関連項目: パスワード保護については、『Oracle Databaseセキュリティ・ガイド』を参照してください。 |
使用上の注意
アクティブなデータベース複製では、補助サービス名を使用して、ソース・データベースがネットワーク経由でトランスポート先ホストの補助インスタンスにコピーされますが、バックアップベースの複製では、すでに存在するRMANバックアップおよびコピーが使用されます。表2-7に、ソース・データベースから複製されるファイルを示します。
表2-7 複製されるファイル
ソース・データベースのファイル | アクティブなデータベース | バックアップベース |
---|---|---|
制御ファイル |
|
バックアップからリストアします。 |
データファイル |
ソース・データベースからコピーされます( |
バックアップからリストアされます( |
一時ファイル |
再作成されます(「一時ファイルの再作成」を参照)。 |
再作成されます(「一時ファイルの再作成」を参照)。 |
オンラインREDOログ・ファイル |
再作成されます。 |
再作成されます。 |
スタンバイREDOログ・ファイル |
プライマリ・データベース上で |
プライマリ・データベース上で |
アーカイブREDOログ・ファイル |
ソース・データベースからコピーされます(ただし、複製に必要な場合のみ)。 |
バックアップまたはカタログ化済のコピーから取得されます(ただし、複製に必要な場合のみ)。 |
サーバー・パラメータ・ファイル |
ソース・データベースからコピーされます( |
|
フラッシュバック・ログ・ファイル |
再作成されません。 |
再作成されません。 |
ブロック・チェンジ・トラッキング・ファイル |
再作成されません。 |
再作成されません。 |
パスワード・ファイル |
スタンバイ・データベースの場合はデフォルトでコピーされ、非スタンバイのデータベースでは、 |
再作成されません。 |
高速リカバリ領域のバックアップおよび他のファイル |
コピーされません。 |
コピーされません。 |
データファイルが正常にオフライン化されている場合または除外されている場合を除き、複製データベースにはすべてのデータファイルが格納されます。表領域を除外するには、SKIP
句を使用するか、またはDUPLICATE ... TABLESPACE
を使用して表領域のサブセットのみを含めます。
高速リカバリ領域を明示的に定義している場合は、複製データベースまたはスタンバイ・データベース上でこの領域が定義されます。また、ソース・データベース上でフラッシュ・リカバリが定義されており、DUPLICATE
コマンドを使用してコピーまたはリストアされたサーバー・パラメータ・ファイルを補助インスタンスで使用しているときは、複製データベースまたはスタンバイ・データベース上でフラッシュ・リカバリが定義されます。
アクティブなデータベース複製を使用する場合は、使用上の注意に関して、「dupOptionList」にあるFROM ACTIVE DATABASEの説明を参照してください。
バックアップベースの複製
ターゲット・データベースに接続してNOARCHIVELOG
モードでデータベースのバックアップベースの複製を実行する場合は、メディア・リカバリでNOREDO
オプションが使用されます。したがって、増分バックアップが存在していると、RMANは、リカバリ時には、その増分バックアップのみをリストアされたファイルに適用します。
ARCHIVELOG
モードのデータベースをバックアップベースで複製する場合、デフォルトでは、RMANによってそのコマンドが実行された時点で最後に作成されたアーカイブREDOログまで、またはSET
UNTIL
句で指定した時点までリカバリされます。
ターゲット・データベースに接続せずにデータベースのバックアップベースの複製を実行する場合、RMANではソース・データベースがNOARCHIVELOG
モードであったかどうかを判断できません。したがって、バックアップが行われたときにソース・データベースがNOARCHIVELOG
モードであった場合は、NOREDO
オプションを使用する必要があります。NOREDO
オプションは、アーカイブREDOログ・ファイルを一貫性バックアップに適用しない場合にも使用できます。
バックアップベースの複製を使用している場合で、ソース・データベースと補助インスタンスが別々のホストに存在する場合は、ソース・データベースのバックアップが補助インスタンスから使用できるようにする方法を決定する必要があります。BACKUP LOCATION
を使用してこれを行う方法については、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』のディスク・バックアップから補助インスタンスへのアクセスの有効化に関する項で説明されているオプションを確認してください。
ターゲット・データベースで、ASMストレージのリカバリ領域が使用されていない場合は、DUPLICATE
コマンドを実行する前に、次のいずれかのタスクを実行します。
SBTバックアップを使用している場合は、バックアップを作成するテープがトランスポート先ホストからアクセスできるようにします。
ディスク・バックアップを使用している場合で、トランスポート先ホスト上でソース・ホストと同じバックアップ・ディレクトリ名を使用できる場合は、次のいずれかを実行します。
ソース・ホストのバックアップおよびコピーをトランスポート先ホストの同じパスに手動で転送します。
NFSまたは共有ディスクを使用して、転送先ホストで同じパスにアクセスできるようにします。
ディスク・バックアップを使用しているときに、トランスポート先ホスト上でソース・ホストと同じバックアップ・ディレクトリ名を使用できない場合は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』で説明されている方法を使用します。
ソース・データベースでASMストレージのリカバリ領域が使用されている場合は、DUPLICATE
コマンドを実行する前に、次のいずれかのタスクを実行します。
データベースのバックアップを、高速リカバリ領域の外に作成します。このバックアップは、次のようにしてアクセス可能にすることができます。
NFSを使用して、バックアップを同じ名前でトランスポート先ホストにマウントします。
NFSを使用して、バックアップを別の名前でトランスポート先ホストにマウントしてから、RMANがソース・データベースにTARGETとして接続されている状態で、バックアップに対して
CATALOGを実行します。
高速リカバリ領域をテープにバックアップし、それを複製処理に使用します。
Oracle Managed Filesでの複製
ソース・データベース・ファイルがOracle Managed Files(OMF)形式の場合は、DB_FILE_NAME_CONVERT
およびLOG_FILE_NAME_CONVERT
初期化パラメータ、またはfileNameConversionSpec
句を使用して、複製データベースの新しいOMFファイル名を生成することはできません。このルールに従わなかった場合、3つの方法で生成された新しいOMFファイルが原因で問題が発生する可能性があります。OMFの名前の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』のTSPITRでOMF補助セット・ファイルの名前を変更する場合の考慮事項に関する項を参照してください。
このルールの唯一の例外は、ASMディスク・グループ名のみを変更する場合です。ソース・データファイルおよびオンラインREDOログ・ファイルが、ASMディスク・グループ+SOURCEDSK
に格納されているとします。複製データベース・ファイルは、ASMディスク・グループ+DUPDSK
に格納することにします。その場合、初期化パラメータを次のように設定できます。
DB_FILE_NAME_CONVERT = ("+SOURCEDSK","+DUPDSK") LOG_FILE_NAME_CONVERT = ("+SOURCEDSK","+DUPDSK")
RMANは、DB_FILE_NAME_CONVERT
またはLOG_FILE_NAME_CONVERT
を使用してディスク・グループ名を変換し、その名前に基づいた有効なファイル名を新しく生成します。
ソース・ファイルがOracle Managed Files形式の場合にデータファイルの名前を付けるオプションとしては、次のサポート・オプションがあります。
SET
NEWNAME
を使用すると、個々のデータファイルの名前を指定できます。
DB_FILE_CREATE_DEST
を設定すると、新しいデータベースのすべてのデータファイルをOracle Managed Filesにできます(ただし、SET NEWNAME
が使用されるファイルは除きます)。DB_FILE_CREATE_DEST
を設定する場合は、DB_FILE_NAME_CONVERT
を設定しないでください。
Oracle Managed Filesから複製されるオンラインREDOログに名前を付けるサポート・オプションには、DB_CREATE_FILE_DEST
、DB_RECOVERY_FILE_DEST
およびDB_CREATE_ONLINE_LOG_DEST_
n
があります。
一時ファイルの再作成
DB_FILE_NAME_CONVERT
パラメータを使用して、Oracle Managed Files(OMF)ではない新しいデータベースの一時ファイル名を変換できます。この動作が制限される唯一の例外は、自動ストレージ管理(ASM)のOMF名です。この場合、ディスク・グループの名前のみを変更できます。
新しいデータベースの一時ファイル名を変換するその他の方法としては、SET NEWNAME FOR TEMPFILE TO'filename'
またはTO NEW
を使用する方法があります。後者の方法では、データファイルがOMFであるか非OMFであるかにかかわらず、データベースがオープンされると一時ファイルはDB_CREATE_FILE_DEST
ディレクトリに再作成されます。
一時ファイルごとに異なる名前を指定するには、「SWITCH
TEMPFILE
」を参照してください。
構文
duplicate::=
(deviceSpecifier::=、fileNameConversionSpec::=、logSpec::=、setParameter::=、untilClause::=)
setParameter::=
logSpec::=
sizeSpec::=
セマンティクス
この句を使用すると、データベースまたは表領域を複製できます。構文図は、「duplicate::=」を参照してください。
構文要素 | 説明 |
---|---|
TARGET DATABASE |
複製元のデータベースであるソース・データベースを指定します。Oracle Database 11gリリース2以上では、TARGET キーワードはオプションです。 |
DATABASE |
ソース・データベースを指定します。 |
'database_name' |
複製元のデータベースであるソース・データベースの名前を指定します。
RMANが ターゲット接続なしでバックアップベースの複製を実行する場合は、データベース名を指定するか、または |
DBID integer |
ソース・データベースのデータベースID(DBID)を指定します。
ソース・データベースへの RMANでは、ソース・データベースに |
INCARNATION primaryKey |
孤立したインカネーションを指定します。
デフォルトでは、
|
FOR STANDBY |
複製対象のデータベースをスタンバイ・データベースとして使用するように指定します(例2-81を参照)。
SPFILEを複製する場合は、 スタンバイ・データベースには
スタンバイ・データベース上のオンラインREDOログのファイル名の変換には、
注意: RMANをスタンバイ・データベースに接続し、そのプライマリ・データベースが登録されているリカバリ・カタログに接続すると、スタンバイ・データベースは、RMANによって認識され、暗黙的に登録されます。スタンバイ・データベースには、 |
TO database_name |
複製データベースの名前を指定します。この複製データベースは、スタンバイ・データベースではないため、この句はFOR STANDBY とは使用できません。
複製データベースがソース・データベースと同じOracleホームにある場合、ソース・データベースと複製データベースに同じデータベース名は使用できません。ただし、複製データベースがソース・データベースとは別のOracleホームにある場合は、そのOracleホームにある他のデータベース名と異なっていれば、同じ名前でも使用できます。複製データベースの管理を容易にするために、ソース・データベースと複製データベースを別の名前にすることをお薦めします。 |
dupOptionList |
複製データベースまたはスタンバイ・データベースの作成に使用するオプションを指定します。「dupOptionList」を参照してください。 |
この副次句には、複製時の各種機能(ファイルの名前付け、複製のエンド・ポイントの決定など)を制御するオプションが含まれます。構文図は、「dupOptionList::=」を参照してください。
複製データベースのファイル名がソース・データベースのファイル名と異なる必要がある場合(トランスポート先ホストとソース・ホストが同じである場合など)は、データファイルとオンラインREDOログに新しいファイル名を指定するか、ソース・データベースのファイル名を変換します。オンラインREDOログおよび複製データベースのデータファイルのファイル名を指定しない場合、RMANはソース・データベースのデータファイル名を使用します。
構文要素 | 説明 |
---|---|
BACKUP LOCATION backup_location |
複製するデータベースのバックアップおよびコピーが置かれているディスク上のバックアップの場所を指定します。このオプションは、ターゲットまたはリカバリ・カタログに接続しない複製の場合に有効です。 |
DEVICE TYPE deviceSpecifier |
指定したデバイス(DISK またはsbt など)のみに自動チャネルを割り当てます。
このオプションが有効なのは、構成済の自動チャネルがあり、チャネルを手動で割り当てていない場合のみです。たとえば、自動ディスクおよびテープ・チャネルを 関連項目: |
DORECOVER |
スタンバイ・データベースの作成後に、RMANがそのスタンバイ・データベースをリカバリするように指定します。untilClause を指定すると、RMANは、指定されたSCNまたは時点までリカバリし、データベースをマウント状態のままにします。
RMANは、メディア・リカバリの完了後にスタンバイ・データベースをマウント状態のままにしますが、スタンバイ・データベースを手動リカバリ・モードおよび管理リカバリ・モードには設定しません。RMANがスタンバイ・データベースを作成した後、スタンバイ・データベースを手動リカバリ・モードまたは管理リカバリ・モードに設定したり、読取り専用モードでオープンする前に、すべてのギャップ・シーケンスの問題を解決する必要があります。 制御ファイルのチェックポイントSCNは、スタンバイ・サイトから使用できるかRMANバックアップに含まれるアーカイブREDOログに含める必要があります。たとえば、スタンバイ制御ファイルを作成し、その直後に順序が100の現行ログをアーカイブするとします。この場合、スタンバイ制御ファイルのバックアップはその時点以後に取られるため、少なくともログ順序100までスタンバイ・データベースをリカバリしないと、データベースから |
fileNameConversionSpec |
ソース・データベースのファイル名を複製データベースのファイル名にマップする1つ以上のパターンを指定します(例2-75を参照)。
指定リストのファイルが 注意: SPFILE句を指定した場合に、 関連項目: |
FROM ACTIVE DATABASE |
複製データベースのファイルは、ソース・データベースのバックアップからではなく、ソース・データベースから直接提供されるように指定します(例2-72を参照)。
関連項目: コマンドの前提条件については、「アクティブなデータベースの複製に固有の前提条件」を参照してください。 |
LOGFILE |
スタンバイ・データベースではない複製データベースを作成するときのオンラインREDOログ作成のオプションを指定します(例2-75を参照)。 |
INSTANCE ' inst_name ' |
指定されたインスタンスのオンラインREDOログをReal Applications Cluster(Oracle RAC)データベースに作成します。インスタンス名は、最大80文字の文字列です。
RMANは、指定されたインスタンスにマップされたスレッドを自動的に使用します。 この句は、 |
logSpec |
オンラインREDOログ・ファイルのファイル名およびグループを指定します。
関連項目: 有効なオプションについては、 |
NOFILENAMECHECK |
ソース・データベース・ファイルが複製データベース・ファイルと同じ名前を共有するときに、ソース・データベースのデータファイルおよびオンラインREDOログ・ファイルが使用中であるかどうかのチェックを、RMANでチェックしないようにします。複製操作によって有用なデータが上書きされないかどうかを確認するのは、ユーザーの責任です。
このオプションが必要になるのは、ディスク構成、ディレクトリ構造およびファイル名がソース・データベースのホストと同じであるが、それとは別のホストに複製データベースを作成する場合です。たとえば、 /oracle/dbs/system_prod1.dbf /oracle/dbs/users_prod1.dbf /oracle/dbs/rbs_prod1.dbf このデータベースを、同じファイル・システムである ソース・データベースと同じホストにデータベースを複製する場合は、 RMAN-10035: exception raised in RPC: ORA-19504: failed to create file "/oracle/dbs/tbs_01.f" ORA-27086: skgfglk: unable to lock file - already in use SVR4 Error: 11: Resource temporarily unavailable Additional information: 8 RMAN-10031: ORA-19624 occurred during call to DBMS_BACKUP_RESTORE.RESTOREBACKUPPIECE |
NOREDO |
次のいずれかが該当する場合は、一貫性バックアップのリカバリ時にアーカイブREDOログ・ファイルが適用されないように指定します。
|
NORESUME |
複製操作に失敗したときに自動的にリカバリするRMANの機能を無効にします。複製の初回起動時にNORESUME を使用すると、新しいデータベースに対するそれ以降のすべての複製コマンドで、この自動最適化機能が永久に無効になります。
関連項目: DUPLICATE操作失敗時の自動リカバリの詳細は、 |
OPEN RESTRICTED |
SQL文ALTER SYSTEM ENABLE RESTRICTED SESSION を発行して、制限されたセッションを複製データベースで有効にします。RMANは、複製データベースがオープン状態になる直前にこの文を発行します。 |
PASSWORD FILE |
補助インスタンスで現在使用されているパスワード・ファイルを、ソース・データベースのパスワード・ファイルで上書きするように指定します(例2-72を参照)。このオプションは、FROM ACTIVE DATABASE が指定されている場合にのみ有効です。指定されていない場合は、RMANによりエラーが発行されます。
|
PFILE filename |
補助インスタンスで使用するテキストベースの初期化パラメータ・ファイルを指定します(例2-75を参照)。RMANでは、複製中に補助インスタンスが自動的に停止され、再起動されます。デフォルトの場所にあるサーバー・パラメータ・ファイルを補助インスタンスで使用しない場合は、補助インスタンスの起動時にRMANで使用するテキストベースの初期化パラメータ・ファイルを指定する必要があります。初期化パラメータ・ファイルは、複製の実行に使用するRMANクライアントと同じホストに存在する必要があります。
デフォルトの場所にあるサーバー・パラメータ・ファイルを補助インスタンスで使用する場合は、 |
SKIP READONLY |
現行の読取り専用表領域にあるデータファイルを複製データベースから除外します。デフォルトでは、RMANは現在の読取り専用表領域を複製します。
表領域は現在読み書き両用に設定されていますが、 注意: このオプションで |
SKIP TABLESPACE tbs_name |
指定した表領域を複製データベースから除外します(例2-75を参照)。
注意: SYSが所有するオブジェクト、ロールバック・セグメントが含まれている表領域、またはマテリアライズド・ビューが含まれている表領域は除外しないでください。また、複製する表領域のセットは自己完結型である必要があります。 ソース・データベースのバックアップの一部が存在しない場合にそのデータベースを複製するには、
|
SPFILE |
サーバー・パラメータ・ファイルをソース・データベースから複製データベースにコピーします。複製データベースで以前設定された初期化パラメータは使用されません。 |
setParameter |
指定された初期化パラメータを指定された値に設定します。「setParameter」 を参照してください。 |
PARAMETER_VALUE_CONVERT string_pattern [ setParameter ] |
最初の文字列に一致するすべての初期化パラメータ値を、2番目の文字列で置換します。
「dupOptionList」のPARAMETER_VALUE_CONVERT の説明を参照してください。 |
TABLESPACE tablespace_name |
指定したデータベースに入れる表領域を指定します。複製データベースから除外する 表領域を指定するSKIP TABLESPACEとは異なり、このオプションを使用すると、含める表領域が指定された後、残りの表領域はスキップされます。
注意: |
UNDO TABLESPACE tablespace_name |
UNDOセグメントが含まれている表領域の名前を指定します。このオプションは、表領域のサブセットがSKIP TABLESPACE 句およびTABLESPACE 句を使用して複製される場合にのみ必要です。次の場合は、UNDOセグメントを持つ表領域のリストを指定する必要があります。
|
TO RESTORE POINT restore_point_name |
リストア・ポイントを作成した時点のSCNを上限として、バックアップベースの複製のリストア・ポイントを指定します。指定した値は含まれます。上限値が含まれるため、RMANは、対応するSCN以前のデータベースの複製に使用できるファイルのみを選択します。
注意: |
untilClause |
バックアップベースの複製のPoint-in-Timeリカバリの終了時刻、SCNまたはログ順序番号を設定します(例2-75を参照)。UNTIL 句は、アクティブなデータベース複製ではサポートされません。
|
この副次句は、サーバー・パラメータ・ファイルの値を指定します。
構文要素 | 説明 |
---|---|
SET identifier string |
指定された初期化パラメータを指定された値に設定します(例2-73を参照)。SET を使用すると、メモリー内の差異を調整し、レプリケーション・オプションを無効化し、複製データベースの他のオプションを設定できます。
この RMANでは、 注意: DUPLICATEコマンドで |
COMMENT ' string ' |
パラメータ設定のオプションのコメントを指定します。 |
RESET identifier string |
指定した初期化パラメータをパラメータ・ファイルから削除します。RESET を使用して不要な初期化パラメータを削除できます。
この |
この副次句では、スタンバイ・データベースではない複製データベースを作成するときのオンラインREDOログを指定します。構文図は、「logSpec::=」を参照してください。
LOGFILE
を指定しないと、RMANはまずLOG_FILE_NAME_CONVERT、DB_CREATE_FILE_DEST、DB_RECOVERY_FILE_DEST
またはDB_CREATE_ONLINE_LOG_DEST_n
初期化パラメータのいずれかが設定されているかどうかを確認します。これらのパラメータが設定されている場合、RMANはこれらのパラメータ設定に基づいて、複製データベースのオンラインREDOログ・ファイルをOracle管理ストレージに格納します。これらの初期化パラメータのいずれも設定されていない場合、RMANは複製データベースのREDOログ・ファイルにソース・データベースの元のREDOログ・ファイル名を使用します。この場合は、NOFILENAMECHECK
オプションを指定する必要があります。
構文要素 | 説明 |
---|---|
' filename ' SIZE sizeSpec |
オンラインREDOログ・メンバーのファイル名と、KB単位(K )またはMB単位(M )によるファイル・サイズを指定します。デフォルトはバイト単位です。 |
REUSE |
データベースで既存のファイルを再利用できます。ファイルが存在している場合は、そのサイズがSIZE パラメータと一致しているかどうかがデータベースで検証されます。ファイルが存在しない場合は作成されます。 |
GROUP integer (' filename ', ...) SIZE sizeSpec |
オンラインREDOログ・メンバーを含むグループ、オンラインREDOログ・メンバーのファイル名、およびKB単位(K )またはMB単位(M )のファイル・サイズを指定します。デフォルトはバイト単位です。 |
REUSE |
データベースで既存のログを再利用できます。 |
例2-72 アクティブなデータベースから同じディレクトリ構造を持つホストへの複製
データベースprod1
を基にしてテスト・データベースを新しいホストに作成するとします。新しいホストのディレクトリ構造はソース・ホストと同じであるため、複製データベースのファイルには、ソース・データベースのファイルと同じ名前を使用できます。データベースは、RMANバックアップを使用せずに作成でき、複製中もprod1
をオープン状態のままにしておくことができます。
prod1
でサーバー・パラメータ・ファイルが使用されている場合は、任意の値に設定されたDB_NAME
パラメータのみを含む初期化パラメータ・ファイルをトランスポート先ホストに作成できます。補助インスタンスを起動する前に、ソース・データベースと同じSYSDBA
パスワードを使用するパスワード・ファイルを作成する必要があります。その後、補助インスタンスはspfileを使用して(使用可能な場合)起動します。pfileを使用して補助インスタンスを起動すると、RMANはデフォルトの場所にspfileを作成し、spfileファイルが存在する場合はそれを上書きします。
デフォルトでは、RMANはスタンバイ・データベースではない複製データベースを作成するときにパスワード・ファイルを複製しません。PASSWORD FILE
オプションを指定すると、RMANはパスワード・ファイルをトランスポート先ホストにコピーします。ソース・データベースで使用可能なすべてのパスワードを複製データベースに組み込む場合は、PASSWORD FILE
オプションを使用します。
補助チャネルを構成する必要はありません。RMANは、ソース・データベースに構成された通常のチャネルを使用してデータベース・ファイルをコピーします。RMANを起動し、ソース・データベース・インスタンスおよび補助データベース・インスタンスに次のように接続して、データベースを複製します。
% rman RMAN> CONNECT TARGET SYS@prod1 target database Password: password connected to target database: PROD1 (DBID=39525561) RMAN> CONNECT AUXILIARY SYS@dup1 auxiliary database Password: password connected to auxiliary database: DUP1 (not mounted) RMAN> DUPLICATE TARGET DATABASE TO dup1 2> FROM ACTIVE DATABASE 3> NOFILENAMECHECK 4> PASSWORD FILE 5> SPFILE;
例2-73 アクティブなデータベース複製でのサーバー・パラメータ・ファイルのコピー
データベースprod1
を基にしてスタンバイ・データベースを新しいホストに作成するとします。トランスポート先ホストとソース・ホストはディレクトリ構造が異なるため、スタンバイ・データベース・ファイルは、/disk1
ではなく/disk2
に保存されます。スタンバイ・データベースは、RMANバックアップを使用せずに作成でき、複製中もprod1
をオープン状態のままにしておくことができます。
最初に実行するのは、スタンバイ・データベース用に必要最小限の初期化パラメータ・ファイルを作成することです。次に、スタンバイ・インスタンスを起動します。このパラメータ・ファイルは、必要最小限のものとします。それは、SPFILE
オプションを使用すると、RMANでは、サーバー・パラメータ・ファイルが新規ホストにコピーされ、各種パラメータが新しい指定値に設定されるためです。スタンバイ・インスタンスの起動に使用されたパラメータは無視されます。
RMANクライアントを起動し、CONNECT
を実行してTARGET
としてソース・データベースに接続して、補助インスタンスに接続します。次に示すように、ターゲット・インスタンスに複数のチャネルを割り当て、補助インスタンスに1つのチャネルを割り当てます。
ALLOCATE CHANNEL tgt10 TYPE DISK; ALLOCATE CHANNEL tgt20 TYPE DISK; ALLOCATE CHANNEL tgt30 TYPE DISK; ALLOCATE CHANNEL tgt40 TYPE DISK; ALLOCATE AUXILIARY CHANNEL dup1 TYPE DISK;
次のコマンドを入力できます。
DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE PASSWORD FILE SPFILE PARAMETER_VALUE_CONVERT '/disk1', '/disk2' SET DB_FILE_NAME_CONVERT '/disk1','/disk2' SET LOG_FILE_NAME_CONVERT '/disk1','/disk2' SET DB_UNIQUE_NAME 'dup1' SET SGA_MAX_SIZE 200M SET SGA_TARGET 125M;
例2-74 同じディレクトリ構造を持つホストへのターゲット接続なしのデータベース複製
バックアップを使用してソース・データベースprod
を複製し、このデータベースにRMANをTARGET
として接続しない(このソース・データベースはメンテナンスのためにシャットダウンされているため)とします。環境は次のとおりです。
ソース・ホストとトランスポート先ホストのディレクトリ構造は同じです。複製データベース内のデータファイルとオンラインREDOログの名前は、ソース・データベースでの名前と同じである必要があります。
オンラインREDOログ・ファイルでの番号と同じ番号が複製データベースで使用されます。
リカバリ・カタログを使用できます。ソース・データベース名prod
は、リカバリ・カタログで一意です。
補助チャネルはCONFIGURE CHANNEL
コマンドを使用して構成されています。
次のコマンドによって、dupdb
という名前の複製データベースが作成されます。
% rman RMAN> CONNECT CATALOG rman@catdb; recovery catalog database Password: password connected to recovery catalog database RMAN> CONNECT AUXILIARY SYS@dupdb; auxiliary database Password: password connected to auxiliary database: DUPDB (not mounted) RMAN> DUPLICATE DATABASE 'PROD' TO 'DUPDB' NOFILENAMECHECK;
データベース名prod
がリカバリ・カタログで一意ではない別の例を想定します。次のDUPLICATE
コマンドは、DBID
パラメータを使用してソース・データベースを一意に識別します。
RMAN> DUPLICATE DATABASE 'PROD' DBID 39525561 TO 'DUPDB' NOFILENAMECHECK;
例2-75 DUPLICATEコマンドでの新しいファイル名の設定
srchost
上のソース・データベースprod
をdesthost
上のnewdb
に複製するためにテープ・バックアップを使用すると想定します。
この使用例では、ソース・データベースでサーバー・パラメータ・ファイルが使用されません。テキストベースの初期化パラメータ・ファイルをdesthost
上に作成し、それを使用してデータベース・インスタンスを起動します。したがって、バックアップベースの複製ではターゲット接続を使用する必要があります(表2-6を参照)。
desthost
でDUPLICATE
を実行する場合は、PFILE
パラメータを使用して、初期化パラメータ・ファイルの場所を指定する必要があります。RMANクライアントは、複製データベースの初期化パラメータ・ファイルと同じホストで使用する必要があります。
表領域のexample
とhistory
は、複製データベースに含めないことにします。したがって、これらの表領域については、DUPLICATE ...SKIP TABLESPACE
を指定します。また、複製データベースの状態は、24時間前の本番データベースと同じにします。したがって、DUPLICATE ...UNTIL TIME
を使用します。
この例は、ソース・データベースのデータファイルがsrchost
のディレクトリ/h1/oracle/dbs/trgt
に存在していることを前提としています。データファイルをディレクトリ/h2/oracle/oradata/newdb
に複製するため、DUPLICATE ... DB_FILE_NAME_CONVERT
で複製データファイルの名前を生成するように指定します。複製データベース内のオンラインREDOログ・ファイルの名前は、DUPLICATE ...LOGFILE
を使用して指定します。
desthost
上でRMANクライアントを起動し、CONNECT
を実行してTARGET
としてソース・データベースに接続して、補助インスタンスに接続します。次のRUN
コマンドを入力できます。
RUN { ALLOCATE AUXILIARY CHANNEL newdb DEVICE TYPE sbt; DUPLICATE TARGET DATABASE TO newdb PFILE ?/dbs/initNEWDB.ora UNTIL TIME 'SYSDATE-1' # specifies incomplete recovery SKIP TABLESPACE example, history # skip desired tablespaces DB_FILE_NAME_CONVERT ('/h1/oracle/dbs/trgt/','/h2/oracle/oradata/newdb/') LOGFILE GROUP 1 ('/h2/oradata/newdb/redo01_1.f', '/h2/oradata/newdb/redo01_2.f') SIZE 4M, GROUP 2 ('/h2/oradata/newdb/redo02_1.f', '/h2/oradata/newdb/redo02_2.f') SIZE 4M, GROUP 3 ('/h2/oradata/newdb/redo03_1.f', '/h2/oradata/newdb/redo03_2.f') SIZE 4M REUSE; }
例2-76 SET NEWNAME FOR DATABASEを使用した複製ファイル名の設定
この使用例では、ターゲット接続なしでバックアップベースの複製を実行します。
ソース・データベースprod
には、複数のディレクトリに分散している8つのデータファイルが含まれています。このデータファイルはOracle Managed Filesではありません。トランスポート先ホストdesthost
上のdupdb
にソース・データベースを複製します。
この使用例では、srchost
とdesthost
のディレクトリ構造は異なっています。データファイルを/oradata1
サブディレクトリ内のdesthost
に格納するために、SET NEWNAME FOR DATABASE
を使用してディレクトリ・パスを除いたファイル名を指定します。たとえば、ソース・データベースの名前が/oradata/prod/financial.dbf
の場合、%b
を使用するとfinancial.dbf
に変換されます。
ソース・データベースではサーバー・パラメータ・ファイルが使用されないため、SPFILE
方法を使用して複製データファイルの名前を指定することはできません。すべての複製データファイルをトランスポート先ホスト上の同じディレクトリに格納するために、SET NEWNAME DATABASE
コマンドを使用することにします。
サイズが200KBのメンバーがそれぞれに2つ含まれている2つのオンラインREDOログ・グループを、トランスポート先ホスト上の/duplogs
ディレクトリに作成します。srchost
およびdesthost
では、NFSなどの手段によってお互いのファイル・システムをマウントできないとします。
ソース・データベース内のすべてのデータファイルおよびアーカイブREDOログ・ファイルに対して、ディスク上にディスク・コピーまたはバックアップ・セットを格納し、オペレーティング・システムのユーティリティを使用してそれらをdesthost
に手動でコピーしてあります。これらのバックアップおよびコピーは、desthost
上のsrchost
と同じ場所に存在します。
オペレーティング・システムのユーティリティを使用して、srchost
からdesthost
の適切な場所に初期化パラメータ・ファイルをコピーします。末尾が_DEST
のすべての初期化パラメータを再設定し、パス名を指定します。RUN
コマンド自体にデータファイルおよびオンライン・ログの名前を指定しているため、DB_FILE_NAME_CONVERT
およびLOG_FILE_NAME_CONVERT
は設定しません。補助インスタンスではデフォルトの場所にあるサーバー側初期化パラメータ・ファイルが使用されるため、DUPLICATE
コマンドにPFILE
パラメータは必要ありません。
次のサンプル・スクリプトでは、複製データベースが作成されます。SET NEWNAME
を実行できるのはRUN
コマンド内のみのため、RUN
コマンドが必要です。
RUN { SET NEWNAME FOR DATABASE TO '/oradata1/%b'; DUPLICATE TARGET DATABASE TO dupdb LOGFILE GROUP 1 ('/duplogs/redo01a.log', '/duplogs/redo01b.log') SIZE 4M REUSE, GROUP 2 ('/duplogs/redo02a.log', '/duplogs/redo02b.log') SIZE 4M REUSE; }
例2-77 SET NEWNAME FOR DATAFILEおよびSET NEWNAME FOR TABLESPACEを使用した複製ファイル名の設定
この使用例では、バックアップベースの複製を使用してデータベースを複製します。
ソース・データベースprod
がsrchost
にあり、これには複数のディレクトリに分散されている9つのデータファイルが含まれているとします。リモート・ホストdesthost
上のデータベースdupdb
にソース・データベースを複製します。dupdb
データベースでは、表領域tools
は除外されますが、その他の表領域はすべて保持されます。
ソース・データベースではサーバー・パラメータ・ファイルが使用されないため、SPFILE
方法を使用して複製データファイルの名前を指定することはできません。複製データファイルは複数のディレクトリに分散されるため、SET NEWNAME
コマンドを使用してファイル名を指定することにします。
この使用例では、srchost
とdesthost
のディレクトリ構造は異なっています。データファイルを/oradata1
から/oradata7
までのサブディレクトリ内のdesthost
に格納します。/oradata7
に複製する2つのデータファイルが含まれているusers
表領域を除き、各データファイルを異なるディレクトリに配置します。
サイズが200KBのメンバーがそれぞれに2つ含まれている2つのオンラインREDOログ・グループを、トランスポート先ホスト上の/duplogs
ディレクトリに作成します。srchost
およびdesthost
では、NFSなどの手段によってお互いのファイル・システムをマウントできないとします。
ソース・データベース内のすべてのデータファイルおよびアーカイブREDOログ・ファイルに対して、ディスク上にディスク・コピーまたはバックアップ・セットを格納し、オペレーティング・システムのユーティリティを使用してそれらをdesthost
に手動でコピーしてあります。これらのバックアップおよびコピーは、desthost
上のsrchost
と同じ場所に存在します。
オペレーティング・システムのユーティリティを使用して、srchost
からdesthost
の適切な場所に初期化パラメータ・ファイルをコピーします。末尾が_DEST
のすべての初期化パラメータを再設定し、パス名を指定します。RUN
コマンド自体にデータファイルおよびオンライン・ログの名前を指定しているため、DB_FILE_NAME_CONVERT
およびLOG_FILE_NAME_CONVERT
は設定しません。補助インスタンスではデフォルトの場所にあるサーバー側初期化パラメータ・ファイルが使用されるため、DUPLICATE
コマンドにPFILE
パラメータは必要ありません。
次のサンプル・スクリプトでは、複製データベースが作成されます。SET NEWNAME
を実行できるのはRUN
コマンド内のみのため、RUN
コマンドが必要です。
RUN { SET NEWNAME FOR DATAFILE 1 TO '/oradata1/system01.dbf'; SET NEWNAME FOR DATAFILE 2 TO '/oradata2/undotbs01.dbf'; SET NEWNAME FOR DATAFILE 3 TO '/oradata3/cwmlite01.dbf'; SET NEWNAME FOR DATAFILE 4 TO '/oradata4/drsys01'; SET NEWNAME FOR DATAFILE 5 TO '/oradata5/example01.dbf'; # because the users tablespace contains 2 datafiles, the following command # generates unique names for both datafiles, placing them in /oradata7 SET NEWNAME FOR TABLESPACE users TO '/oradata7/users%b.dbf'; DUPLICATE TARGET DATABASE TO dupdb SKIP TABLESPACE tools LOGFILE GROUP 1 ('/duplogs/redo01a.log', '/duplogs/redo01b.log') SIZE 4M REUSE, GROUP 2 ('/duplogs/redo02a.log', '/duplogs/redo02b.log') SIZE 4M REUSE; }
例2-78 SET NEWNAME FOR DATAFILEを使用したOracle Managed Files名の設定
特定のデータファイルまたは一時ファイルを、他のデータベース・ファイルの場所から独立したOracle Managed Filesのトランスポート先に格納する方法は2通りあります。
補助インスタンスの初期化パラメータ・ファイル内のDB_CREATE_FILE_DEST
パラメータを目的の場所に設定します。
初期化パラメータDB_CREATE_FILE_DEST
およびDB_FILE_NAME_CONVERT
を設定します。この時点で、DB_FILE_NAME_CONVERT
による変換を行わないデータファイルに対してSET NEWNAME
コマンドを使用できます。
指定したデータファイルまたは一時ファイルが、DB_CREATE_FILE_DEST
で指定した場所にOracle Managed Files名で作成されます。
次のサンプル・スクリプトに示すとおり、個々のデータファイルまたは一時ファイルを特定のASMディスク・グループに指定するためにSET
NEWNAME
を使用することもできます。
RUN { SET NEWNAME FOR DATAFILE 1 TO "+DGROUP1"; SET NEWNAME FOR DATAFILE 2 TO "+DGROUP2"; . . . DUPLICATE TARGET DATABASE TO dupdb FROM ACTIVE DATABASE SPFILE SET DB_CREATE_FILE_DEST +DGROUP3; }
例2-79 CONFIGURE AUXNAMEを使用した複製ファイル名の設定
この項では、例2-77「SET NEWNAME FOR DATAFILEおよびSET NEWNAME FOR TABLESPACEを使用した複製ファイル名の設定」で説明した状況と同じ状況を想定しています。この例は、SET NEWNAME
のかわりにCONFIGURE AUXNAME
を使用して新しいデータファイル名を指定する方法を部分的に変更したものです。これらの新しいファイル名は、制御ファイルに記録され、複製を今後実行するたびに使用されます。
この例では、データベースを複製するために自動チャネルおよびクライアント側初期化パラメータ、オンラインREDOログ・ファイルの名前およびサイズを指定するためにLOGFILE
句も使用されます。この場合、SET NEWNAME
は使用しないため、RUN
コマンドは必要ありません。
CONFIGURE AUXNAME FOR DATAFILE 1 TO '/oradata1/system01.dbf'; CONFIGURE AUXNAME FOR DATAFILE 2 TO '/oradata2/undotbs01.dbf'; CONFIGURE AUXNAME FOR DATAFILE 3 TO '/oradata3/cwmlite01.dbf'; CONFIGURE AUXNAME FOR DATAFILE 4 TO '/oradata4/drsys01'; CONFIGURE AUXNAME FOR DATAFILE 5 TO '/oradata5/example01.dbf'; CONFIGURE AUXNAME FOR DATAFILE 6 TO '/oradata6/indx01.dbf'; DUPLICATE TARGET DATABASE TO dupdb SKIP TABLESPACE tools LOGFILE GROUP 1 ('/duplogs/redo01a.log', '/duplogs/redo01b.log') SIZE 4M REUSE, GROUP 2 ('/duplogs/redo02a.log', '/duplogs/redo02b.log') SIZE 4M REUSE;
RMANは、すべての増分バックアップ、アーカイブREDOログ・バックアップおよびアーカイブREDOログ・ファイルを使用して不完全リカバリを実行し、次に、オンラインREDOログを作成するためにRESETLOGS
オプションでデータベースをオープンします。
複製が完了した後、複製データベース内のデータファイルに構成された補助名を消去して、今後の操作で上書きされないようにすることができます。たとえば、次のコマンド入力します。
CONFIGURE AUXNAME FOR DATAFILE 1 CLEAR; CONFIGURE AUXNAME FOR DATAFILE 2 CLEAR; CONFIGURE AUXNAME FOR DATAFILE 3 CLEAR; CONFIGURE AUXNAME FOR DATAFILE 4 CLEAR; CONFIGURE AUXNAME FOR DATAFILE 5 CLEAR; CONFIGURE AUXNAME FOR DATAFILE 6 CLEAR;
また、複製データベースを複製元のデータベースと定期的に同期させることもできます。この場合、DUPLICATE
コマンドを再度実行すると、複製データベースを基本的に再作成できます。この方法では、複製データベースのデータファイルの完全なコピーを作成する必要があります。複製データベースをソース・データベースと同期させる場合は、常に次のスクリプトを実行します。たとえば、このスクリプトを毎日または毎週実行します。
DUPLICATE TARGET DATABASE TO dupdb SKIP TABLESPACE tools LOGFILE GROUP 1 ('/duplogs/redo01a.log', '/duplogs/redo01b.log') SIZE 4M REUSE, GROUP 2 ('/duplogs/redo02a.log', '/duplogs/redo02b.log') SIZE 4M REUSE;
例2-80 同じディレクトリ構造を持つスタンバイ・データベースの作成
RMANバックアップを使用して、ソース・ホストと同じディレクトリ構造を持つリモート・ホストにスタンバイ・データベースを作成するとします。ソース・データベースはprod1
と呼ばれ、Data Guard環境のプライマリ・データベースになります。
最初に、RMANクライアントを起動し、CONNECT
を実行してTARGET
としてソース・データベースprod1
に接続して、補助インスタンスに接続します。次に、CONFIGURE
を実行して、DB_UNIQUE_NAME
がstandby1
のスタンバイ・データベースのデフォルトのデバイス・タイプをsbt
に構成できます。
CONFIGURE DEFAULT DEVICE TYPE sbt FOR DB_UNIQUE_NAME standby1; CONFIGURE DEVICE TYPE sbt PARALLELISM 2 FOR DB_UNIQUE_NAME standby1;
スタンバイ・データベースの作成に必要なすべてのバックアップがテープにあるとします。スタンバイ・データベースの初期化パラメータ・ファイルで、DB_UNIQUE_NAME
をstandby1
に設定します。
スタンバイ・データベースでは、初期化パラメータ・ファイルのデフォルトの場所が使用されています。スタンバイ・インスタンスNOMOUNT
が起動したら、RMANクライアントを起動し、CONNECT
を実行してTARGET
としてソース・データベースに接続して、補助インスタンスとリカバリ・カタログに接続します。次のDUPLICATE
コマンドを実行して、NOFILENAMECHECK
オプションを指定します(スタンバイとプライマリのデータファイルおよびオンラインREDOログ・ファイルの名前は同じです)。
DUPLICATE TARGET DATABASE FOR STANDBY NOFILENAMECHECK;
例2-81 OMFおよびASMでのスタンバイ・データベースの作成
RMANバックアップを使用して、OMFおよびASMを使用するホストにスタンバイ・データベースを作成するとします。ソース・データベースはprod1
と呼ばれ、Data Guard環境のプライマリ・データベースになります。
最初に、RMANクライアントを起動し、CONNECT
を実行してTARGET
としてデータベースprod1
に接続して、リカバリ・カタログに接続します。次のCONFIGURE
コマンドを実行して、DB_UNIQUE_NAME
がstandby1
、ネット・サービス名がsby1
となるスタンバイ・データベースのデフォルト・デバイス・タイプをsbt
に構成します。
CONFIGURE CONNECT IDENTIFIER "sby1" FOR DB_UNIQUE_NAME standby1; CONFIGURE DEFAULT DEVICE TYPE TO sbt FOR DB_UNIQUE_NAME standby1; CONFIGURE DEVICE TYPE sbt PARALLELISM 2 FOR DB_UNIQUE_NAME standby1;
スタンバイ・データベースの作成に必要なバックアップは、すべてテープに保存されているとします。データベースstandby1
の初期化パラメータ・ファイルで、次のパラメータを設定します。
DB_UNIQUE_NAME
の値をstandby1
に設定します。
DB_CREATE_FILE_DEST
およびDB_RECOVERY_FILE_DEST
を、スタンバイ・ホスト上の目的のASMディスク・グループに設定します。たとえば、DB_CREATE_FILE_DEST
を+DATAFILE
に、DB_RECOVERY_FILE_DEST
を+FLASH_REC_AREA
に設定します。
スタンバイ・インスタンスがNOMOUNT
モードであることを確認します。RMANクライアントを起動し、CONNECT
を実行してTARGET
としてデータベースprod1
に接続して、AUXILIARY
としてstandby1
インスタンスに接続し、リカバリ・カタログに接続します。次のコマンドを入力して、スタンバイ・データベースを作成します。
DUPLICATE TARGET DATABASE FOR STANDBY;
リストアされるデータファイルの新しいOMF/ASMデータファイル名は、RMANで自動的に生成されます。
例2-82 ターゲット・データベースおよびリカバリ・カタログへの接続なしのデータベース複製
この例では、データベースprod
の必要なすべてのデータファイル、制御ファイルおよびアーカイブ・ログのバックアップに、/net/prod/backups
からアクセスできるとします。この場所には、データベースprod
のバックアップのみが格納されています。AUXILIARY
として新しいインスタンスにのみ接続します。
リカバリ・カタログまたはターゲット・データベースへの接続がない場合は、次のコマンドを入力してテスト・データベースを作成します。
DUPLICATE DATABASE TO 'TEST' BACKUP LOCATION '/net/prod/backups' NOFILENAMECHECK;
例2-83 ターゲット・データベースおよびリカバリ・カタログへの接続なしの複製での特定データベースの選択
この例では、/backups
に複数のデータベースからのバックアップが含まれ、PROD
という名前のデータベースが3つ以上存在しているとします。この場合、複製するデータベースのDBNAME
およびDBID
を指定する必要があります。補助インスタンスにのみ接続します。
DUPLICATE DATABASE 'PROD' dbid 8675309 to 'TEST' UNTIL TIME "to_date('11/01/2007', 'MM/DD/YYYY')" BACKUP LOCATION '/backups' NOFILENAMECHECK PFILE='?/dbs/inittest.ora' db_file_name_convert='prod','test';