この章では、ボリューム・シャドウ・コピー・サービス(VSS)・アプリケーションを使用してOracle Databaseをバックアップおよびリカバリする方法について説明します。この章の項目は次のとおりです。
この項では、コンポーネント・ベースのシャドウ・コピーを使用したバックアップおよびリカバリの基本概念と関連タスクについて説明します。この項の項目は次のとおりです。
VSSのWindows固有のインタフェースを使用すると、データをバックアップするリクエスタ、ディスク上のデータを更新するライター、およびストレージを管理するプロバイダをそれぞれ調整できます。Oracle Databaseは、VSS対応アプリケーションと統合されたライターとして機能します。
Windows上でVSS対応ソフトウェアとストレージ・システムを使用して、Oracle Databaseをバックアップおよびリストアできます。主な利点は、VSS対応アプリケーションを使用して、データベース全体のオンライン・バックアップを作成できることです。
この章は、VSSアプリケーションと、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』に記載されているOracle Databaseのパックアップとリカバリの基本原則と技法の両方に対する知識があることを前提としています。この章では、バックアップおよびリストアの概要を説明するわけではありません。VSSインフラストラクチャでのデータベースのバックアップおよびリカバリの実行方法に限って説明します。
VSSは、アプリケーションによるシャドウ・コピーの作成を可能にするWindowsサーバー・プラットフォーム上のインフラストラクチャです。シャドウ・コピーは、明確に定義された時点においてボリュームまたはコンポーネントに保持されているデータの一貫性のあるスナップショットです。シャドウ・コピー・セットは、同時に取得されたすべてのシャドウ・コピーの集合です。VSSでは、永続的なグローバル一意識別子(GUID)によって各シャドウ・コピーおよびシャドウ・コピー・セットを識別します。
VSSにより、VSSアプリケーションを実行するための次のインフラストラクチャが提供されます。
シャドウ・コピーの作成および使用時におけるリクエスタ、プロバイダおよびライターのアクティビティの調整
デフォルトのシステム・プロバイダの提供
プロバイダの実行に必要な低レベルのドライバ機能の実装
VSSリクエスタは、VSSサービスにシャドウ・コピーの作成をリクエストするアプリケーションです。通常、VSSリクエスタはバックアップ・アプリケーションです。リクエスタは、ライターと通信してシステム・データを収集し、ライターにデータのバックアップ準備を行うよう通知します。
VSSプロバイダはストレージ・ボリュームを管理し、必要に応じてシャドウ・コピーを作成します。プロバイダは、リクエスタの要求に応じて、シャドウ・コピーが必要になっていることをアプリケーションに通知するCOMイベントを生成し、必要がなくなるまで、そのコピーの作成と維持を行います。プロバイダは、シャドウ・コピーのライフ・サイクルの間に、バックアップのためにタイプの異なる2種類のコピーを効率的にサポートします。1つは動的に更新されるディスクで、もう1つは内容的に変わらない固定的なコピーです。
VSSライターは、データをディスクに書き込み、VSSプロバイダおよびリクエスタと連携動作するアプリケーションまたはサービスです。バックアップ中は、ライターにより、データがシャドウ・コピー用として適切な状態にあることが保証されます。
Oracle VSSライターは、Oracle Databaseインスタンスと他のVSSコンポーネントを調整するWindowsサービスです。SYSDBA
権限を持つユーザー・アカウントにより起動されるライター・サービスは、データベース・インスタンスとは独立して実行されます。サード・パーティのリクエスタを使用して、VSSインフラストラクチャ内でバックアップおよびリカバリを実行する必要があります。
後続の項で説明するとおり、Oracle VSSライターでは、ボリューム・ベースとコンポーネント・ベースのシャドウ・コピーがサポートされます。これらのシャドウ・コピーは、バックアップおよびリカバリ計画で使用するか、元のデータベースのコピーを作成するために使用できます。複製データベースは、テスト用に、またはスタンバイ・データベースとして使用できます。
Oracle VSSライターでは、データベース・ファイルのセットであるコンポーネント・ベースのシャドウ・コピーがサポートされます。VSSライターを使用したOracle Databaseのバックアップに推奨される方法は、コンポーネントのシャドウ・コピーを作成することです。バックアップ中に、Oracle VSSライターは、スナップショットの作成時に生成されたREDOをメタデータ・ドキュメントに保存します。リストア操作中に、ライターは、メタデータ・ドキュメントからREDOを自動的に抽出し、それをスナップショットからリストアされたファイルに適用します。
Oracle VSSライターでは、ドライブまたはボリューム全体のスナップショットであるボリューム・ベースのシャドウ・コピーがサポートされます。Oracle Databaseにより、シャドウ・コピーを作成するのに適した状態で管理されたファイルが用意されます。たとえば、データ・ファイルはホット・バックアップ・モードで配置され、新規スナップショットの制御ファイルはARCHIVELOG
モードでデータベースに作成されます。Oracle VSSライターでは、現行の制御ファイルやオンラインREDOログなどのファイルはシャドウ・コピーから除外されます。また、ライターでは、スナップショットを取得できない場合、エラーが戻されます。たとえば、NOARCHIVELOG
モードのデータベースが読取り/書込みモードでオープンされている場合、ライターにより、スナップショットを取得できないというエラーが戻されます。
注意: Oracle Automatic Storage ManagementファイルおよびRAWファイルは、Oracle VSSスナップショットではサポートされていません。 |
Oracle VSSライターでは、ログ、コピー、全体、差分および増分バックアップがサポートされています。VSSライターは、増分および差分バックアップに対してタイムスタンプのメカニズムを使用し、SetBackupStamp()
APIを使用してタイムスタンプをバックアップ・ドキュメントに格納します。このバックアップ・スタンプは、増分または差分バックアップ時に、AddDifferencedFilesByLastModifyTime()
APIを使用した最後の全体または増分バックアップ以降に変更されたファイルを指定するためにOracle VSSライターで使用します。
Oracle VSSライターはバックアップとリストアのメタデータも保存します。リストア操作の際には、これらのメタデータが使用可能になっていなければなりません。そうなっていれば、VSSライターがリストア後の操作を効率よく実施できるようになります。フル・バックアップまたはコピー・バックアップの場合は、リストア対象のファイルの整合性が取れるように、リストアのメタデータに重要なREDO情報が保存されます。したがって、リストア操作の際には必ずOracle VSSライターをコールして、リカバリ操作を実行するようにしてください。
Oracle VSSライターは、データベースの一部として自動的にインストールされます。ライターを手動でインストールまたはアンインストールする場合は、「Oracle VSSライター・サービスのインストールとアンインストールについて」を参照してください。
最も一般的なバックアップ・シナリオでは、使用しているVSS対応アプリケーションでOracle Database
コンポーネントを選択してからシャドウ・コピーを作成します。シャドウ・コピーは、データベース・ファイル、制御ファイルおよびサーバー・パラメータ・ファイルを含みます。データベースがARCHIVELOG
モードである場合は、データベースを開くか閉じるときにシャドウ・コピーを作成できます。それ以外のモードでは、閉じるときのみにシャドウ・コピーを作成できます。
一般的なリカバリ・シナリオでは、使用しているVSS対応アプリケーションでOracle Database
コンポーネントを選択してリストアします。その後、データベースを読取り専用モードまたはRESETLOGS
オプション付きでオープンできます。Oracle VSSライターでは、ポイント・イン・タイム・リカバリを実行するアプリケーションもサポートされます。
データベース・ファイルのサブセットをリストアするには、個々のコンポーネントを選択してリストアします。Oracle VSSライターは、リストア後のフェーズに自動的に適切なアクションを実行して、リストア操作の最後にファイルを使用できるように(オンラインに移行できるように)します。たとえば、リストアのためにデータ・ファイル・コンポーネントを選択すると、ライターはRMANを使用してデータ・ファイルを自動的にリカバリします。
関連項目:
|
Oracle VSSライターは、Oracle Databaseインスタンスとは独立して実行されます。データベースの観点からすると、VSSライターは単なるOCIクライアントです。
Oracle VSSライター・インスタンスは、インスタンスの設定時に自動的に作成されます。インスタンスを設定するoradim.exe
ユーティリティも、Oracle VSSライター・ユーティリティを開始して、指定されたOracleインスタンスを管理するためのVSSライター・インスタンスを設定します。さらに、Oracle VSSライターには、ライター・サービスをインストールおよびアンインストールするためのコマンドライン・オプションがあります。/user
オプションが使用され、/password
オプションが使用されない場合、oravssw
はstdin
を介してパスワードを待ちます。インストール時に、サービスを起動するためのWindowsアカウントを指定できます。ライターでは、データベース・インスタンスに接続する際にオペレーティング・システム認証が使用されます。したがって、Windowsユーザーは、ライター・サービスにより管理されるOracle DatabaseインスタンスにSYSDBA
としてログインできる必要があります。
Oracle VSSは、Oracle Databaseによってサポートされているのと同じオペレーティング・システムでサポートされています。サポートされているオペレーティング・システムのリストは、『Oracle Databaseインストレーション・ガイドfor Microsoft Windows』を参照してください。
Oracle VSSライターのコマンドライン構文は、次のとおりです。
oravssw {/q [/start | /stop | /status]}| oravssw {SID [/tltrace_level
] [/tftrace_file
]}| oravssw {SID [/i {/user:userid
/password:password
}]}| oravssw {SID
[/d]}
注意: ユーザーIDとパスワードは、「サービス」スナップインを使用して変更できます。 |
表9-1では、Oracle VSSライターのオプションについて説明します。
表9-1 Oracle VSSライターのオプション
オプション | 説明 |
---|---|
|
サービスの接続先となるOracleインスタンスの |
/i {/user: |
指定した |
|
Oracle VSSライター・サービスを問い合せます。ただし、 |
|
すべてのOracleライター・サービスの現在のステータスを表示します。 |
|
すべてのOracle VSSライター・サービスを起動します。 |
|
すべてのOracle VSSライター・サービスを停止します。 |
|
指定した |
|
指定した |
|
指定した |
例9-1では、prod1
インスタンスに接続するサービスをインストールします。
注意:
|
データベースのバックアップ方法は、データベースのアーカイブ・モードと、コンポーネント・ベースまたはボリューム・ベースのどちらのバックアップを作成するかによって異なります。VSSライターを使用してOracle Databaseをバックアップする場合、コンポーネント・モードで取得したシャドウ・コピーを使用することをお薦めします。Oracle VSSライターは、データベース・ファイルのセットを含むコンポーネントを定義します。その後、Oracle VSSライターは、スナップショットの作成時にホット・バックアップ・モードで生成されたREDOをバックアップのライター・メタデータ・ドキュメントに保存します。
Oracle VSSライターによって定義されるコンポーネント階層を図9-1に示します。
「コンポーネント・ベースのバックアップについて」では、コンポーネント・ベースのバックアップの作成時に選択できるコンポーネントについて説明します。
表9-2に、Oracle VSSライターでサポートされるコンポーネントを示します。コンポーネントの名前は、OnIdentify
VSSメッセージによって戻される値です。「バックアップに選択可能か」列は、そのコンポーネントをVSSシャドウ・コピーに選択できるかどうかを示しています。
表9-2 Oracle VSSライターによりバックアップされるコンポーネント
コンポーネント | 説明 | バックアップに選択可能か |
---|---|---|
Oracle Database |
データベース・ファイル、制御ファイルおよびサーバー・パラメータ・ファイルを含みます。 |
はい |
制御ファイル |
注意: 制御ファイル・コンポーネントに含まれるファイルにより、現行の制御ファイルまたはスナップショット制御ファイルのどちらが除外されるかが決定されます。たとえば、データベースが読取り専用モードでオープンされている場合、スナップショット制御ファイルの場所は、スナップショットから除外されます。 |
いいえ |
サーバー・パラメータ・ファイル |
サーバー・パラメータ・ファイルの場所を含みます(インスタンスがサーバー・パラメータ・ファイルを使用している場合)。 |
いいえ |
すべての表領域 |
スナップショットにすべての表領域を含みます。 |
いいえ |
tablespace_names |
表領域を個別に選択します。 |
いいえ |
データ・ファイル番号=n |
データ・ファイルを個別に選択します。メタデータには、 |
いいえ |
ArchiveLogDest_n |
高速リカバリ領域以外のローカルのアーカイブ先を個別に選択します。 |
はい |
高速リカバリ領域 |
VSSスナップショットに高速リカバリ領域内のすべてのバックアップ・ファイルおよびアーカイブ・ログを含みます。 高速リカバリ領域からVSSによりバックアップされたファイルは、領域制限のために削除される可能性があります。 |
はい |
アーカイブ・ログ |
高速リカバリ領域内のログ |
いいえ |
バックアップ・ファイル |
高速リカバリ領域からのバックアップ |
いいえ |
バックアップ時にOracle VSSライターによって公開される、Oracle Database
、ArchiveLogDest_
n
およびFast Recovery Area
のみ選択できます。表9-2のコンポーネントの可用性は、データベースの状態に応じて変化します。たとえば、データベースがNOARCHIVELOG
モードの場合、Archived Logs
コンポーネントは戻されません。同様に、インスタンスがサーバー・パラメータ・ファイルを使用して起動されない場合、Server Parameter File
コンポーネントは戻されません。
注意: バックアップに選択可能であると示されていないコンポーネントは、バックアップに選択可能であると示されているコンポーネントに暗黙的に含まれます。 |
バックアップまたはリストアでOracle
Database
コンポーネントを選択すると、他のすべてのコンポーネントは暗黙的にバックアップまたはリストアで選択されます。これは、選択されたコンポーネントの一部であるすべてのファイルが、バックアップまたはリストアの候補であることを意味します。
ArchiveLogDest_n
およびFast
Recovery
Area
コンポーネントは、ログ・ファイルまたは増分ファイルのみを含むように定義されます。これは、リクエスタが、増分または差分バックアップのログの作成時にのみ、これらのコンポーネントのファイルをバックアップすることを意味します。同様に、リクエスタは、増分または差分バックアップのログからのリストア時にのみ、これらのコンポーネントのファイルをリストアします。
ArchiveLogDest_n
およびFast
Recovery
Area
以外のすべてのコンポーネント内のファイルは、データベース・ファイルを定義します。これは、リクエスタが、全体またはコピー・バックアップの作成時にのみ、これらのコンポーネントのファイルをバックアップすることを意味します。同様に、リクエスタは、全体またはコピー・バックアップからのリストア時にのみ、これらのコンポーネントのファイルをリストアします。
この項の手順では、データベースが読取り/書込みモードでオープンしていると仮定します。「NOARCHIVELOGモードのデータベースのバックアップについて」の手順を使用して、完結した一貫性のあるバックアップを作成することもできます。
この項では、データベース全体をバックアップする方法について説明します。バックアップできるのは、Oracle Database
、ArchiveLogDest_
n
およびFast Recovery Area
のみです(表9-2「Oracle VSSライターによりバックアップされるコンポーネント」を参照)。
データベース全体をバックアップするには、次のようにします。
ターゲット・データベースでSQL*Plusセッションを開始し、データベースがREAD WRITE
モードでオープンしていることを確認します。
サード・パーティのVSSリクエスタを使用して、Oracle Database
コンポーネントを選択します。
データベースのスナップショットを作成します。
Oracle VSSライターのスナップショットには、サーバー・パラメータ・ファイル、制御ファイルおよびデータ・ファイルが含まれます。オンラインREDOログは、スナップショットに含まれません。
読取り/書込みモードでオープンしているOracle Databaseのボリューム・ベースのシャドウ・コピーを作成するには、アーカイブREDOログが、Oracleのデータ・ファイル、制御ファイル、サーバー・パラメータ・ファイルおよびオンラインREDOログを含むボリュームとは異なるボリュームに物理的に存在している必要があります。
ボリューム単位でデータベースおよびアーカイブREDOログをバックアップするには、次のようにします。
ターゲット・データベースでSQL*Plusセッションを開始し、データベースがREAD WRITE
モードでオープンしていることを確認します。
サード・パーティのVSSリクエスタを使用して、データ・ファイル、制御ファイルおよびサーバー・パラメータ・ファイルが物理的に存在しているボリュームを選択します。
データベース・ファイルのスナップショットを作成します。
Oracle VSSライターのスナップショットには、サーバー・パラメータ・ファイル、制御ファイルおよびデータ・ファイルが含まれます。オンラインREDOログは、スナップショットに含まれません。サーバー・パラメータ・ファイルは個別にリストアできますが、制御ファイルとデータ・ファイルは常に一緒にリストアする必要があります。
サード・パーティのVSSリクエスタを使用して、すべてのアーカイブREDOログ(または高速リカバリ領域)が物理的に存在しているボリュームを選択します。
アーカイブREDOログのスナップショットを作成します。
NOARCHIVELOG
モードで稼働しているOracle Databaseの場合、VSSスナップショットを作成する際にデータベースが一貫性のある状態である必要があります。データベースが読取り/書込みモードでオープンしているときに作成されるバックアップは、サポートされません。
NOARCHIVELOG
モードのOracle Databaseでは、タイプがフル、デフォルトまたはコピーの場合、サポートされるコンポーネント・ベースのVSSスナップショットは、Oracle Database
のみです。
コンポーネント単位でデータベースをバックアップするには、次のようにします。
ターゲット・データベースでSQL*Plusセッションを開始し、データベースを一貫性のある状態にします。たとえば、次のコマンドを入力します。
SHUTDOWN STARTUP MOUNT
サード・パーティのVSSリクエスタを使用して、Oracle Database
コンポーネントを選択します。
ボリューム・ベースのVSSスナップショットを作成します。
Oracle VSSライターのスナップショットには、サーバー・パラメータ・ファイル、制御ファイルおよびデータ・ファイルが含まれます。オンラインREDOログは、スナップショットに含まれません。
ボリューム単位でデータベースをバックアップするには、次のようにします。
ターゲット・データベースでSQL*Plusセッションを開始し、データベースを一貫性のある状態にします。たとえば、次のコマンドを入力します。
SHUTDOWN STARTUP MOUNT
サード・パーティのVSSリクエスタを使用して、データ・ファイル、制御ファイルおよびサーバー・パラメータ・ファイルが物理的に存在しているボリュームを選択します。
ボリューム・ベースのVSSスナップショットを作成します。
Oracle VSSライターのスナップショットには、サーバー・パラメータ・ファイル、制御ファイルおよびデータ・ファイルが含まれます。オンラインREDOログは、スナップショットに含まれません。サーバー・パラメータ・ファイルは個別にリストアできますが、制御ファイルとデータ・ファイルは常に一緒にリストアする必要があります。
この項では、VSSスナップショットをリストアおよびリカバリする方法について説明します。その手順は、バックアップの場合と同様に、データベースのアーカイブ・モードと、リストアするスナップショットのタイプによって異なります。この項の項目は次のとおりです。
リストアおよびリカバリ操作では、表9-3「リストア操作で使用可能なコンポーネント」にリストされたコンポーネントを選択できます。この表は、Oracle VSSライターがリストア前のフェーズ中にコンポーネントに対して実行する確認作業と、リストアの完了後に実行するアクションを示しています。
表9-3 リストア操作で使用可能なコンポーネント
コンポーネント | リストア前のフェーズ | リストア後のフェーズ | 参照先 |
---|---|---|---|
サーバー・パラメータ・ファイル |
データベース・インスタンスが起動していないことを確認します。起動している場合、ライターによりリストア前の障害エラーが戻されます。 |
データベースが |
|
制御ファイル |
インスタンスが |
インスタンスによって示された現在のすべての制御ファイルの場所に制御ファイルをレプリケートした後に、制御ファイルをマウントします。 |
|
表領域またはデータ・ファイル・コンポーネント |
データベースがマウントされていること、または指定されたデータ・ファイルまたは表領域がオフラインであることを確認します。 |
これらの表領域またはデータ・ファイルの完全リカバリを実行します。リクエスタ・アプリケーションは、デフォルトのリカバリ動作を上書きできます。 |
|
すべての表領域 |
データベースがマウントされていることを確認します。 |
バックアップのライター・メタデータ・ドキュメントからREDOを抽出し、リストアされたすべてのデータ・ファイルを対象に、スナップショットの作成時点までの不完全リカバリを実行します。リクエスタ・アプリケーションは、デフォルトのリカバリ動作を上書きできます。 |
|
Oracle Database |
インスタンスが起動していないことを確認します。 |
データベース・インスタンスを起動して制御ファイルをマウントし、リカバリを実行します。サーバー・パラメータ・ファイル、制御ファイル、およびすべての表領域のリストア後の動作に関する説明を参照してください。 |
|
アーカイブREDOログまたは高速リカバリ領域 |
なし。 |
このコンポーネントのデフォルト・リカバリは実行されません。ただし、リクエスタ・アプリケーションでは必要なRMANコマンドを実行できます。 |
この項では、サーバー・パラメータ・ファイルをリストアする方法について説明します。
サーバー・パラメータ・ファイルをリストアするには、次のようにします。
VSSスナップショットからServer Parameter File
というコンポーネントを選択します。
サーバー・パラメータ・ファイルをリストアします。
Oracle VSSライターは、サーバー・パラメータ・ファイルを最初にコピーした元の場所にリストアします。このファイルは、別の新しい場所にリストアすることもできます。
この項では、すべての多重制御ファイルが失われた状態からリカバリする方法について説明します。
すべての制御ファイルが失われた状態からリカバリするには、次のようにします。
データベースがNOMOUNT
状態にあるか、データベースをOracle VSSライターによってNOMOUNT
状態で起動できることを確認します。
VSSスナップショットからControl File
というコンポーネントを選択します。
失われた制御ファイルを含むコンポーネントをリストアします。
Oracle VSSライターは、リストアされた制御ファイルを使用してデータベースを自動的にマウントします。制御ファイルのリカバリのみが必要な場合、VSSリクエスタ・アプリケーションは、Oracleライターに完全リカバリを実行するよう指示します。
必要に応じて他のデータベース・コンポーネントをリストアおよびリカバリします。
RESETLOGS
オプション付きでデータベースをオープンします。
この項では、1つ以上の表領域またはデータ・ファイルが失われた状態からリカバリする方法について説明します。この手順では、データ・ファイルの一部が失われたものと仮定します。
損失した表領域またはデータ・ファイルをすべてリカバリするには、次のようにします。
データベースがマウントされているか、オープンしていることを確認します。データベースがオープンしている場合、リカバリを必要とするデータ・ファイルまたは表領域をALTER DATABASE ... OFFLINE
文を使用してオフラインに移行します。
データ・ファイルまたは表領域のリカバリにアーカイブREDOログが必要な場合、そのアーカイブREDOログをリストアします。
失われたデータ・ファイルを含む、または失われた表領域のすべてのデータ・ファイルを含むVSSスナップショットからコンポーネントを選択します。
失われたデータ・ファイルを含むコンポーネントをリストアします。
Oracle VSSライターは、リストアされたデータ・ファイルを自動的にリカバリします。一部のアーカイブ・ログが失われている場合、ログをリストアしてSQL*PlusまたはRMANでデータ・ファイルをリカバリできます。
オフラインのデータ・ファイルまたは表領域をオンラインに戻します。
この項では、すべての表領域が失われた状態からリカバリする方法について説明します。
すべてのデータファイルをリカバリするには、次の手順を実行します。
データベースがマウントされていることを確認します。
データ・ファイルまたは表領域のリカバリにアーカイブREDOログが必要な場合、そのアーカイブREDOログをリストアします。
VSSスナップショットからAll Tablespaces
というコンポーネントを選択します。
表領域をリストアします。
Oracle VSSライターは、リストアされたデータ・ファイルを自動的にリカバリします。一部のアーカイブ・ログが失われている場合、ログをリストアしてSQL*PlusまたはRMANでデータ・ファイルをリカバリできます。
データベースをオープンします。
この項では、サーバー・パラメータ・ファイル、制御ファイル、およびすべてのデータ・ファイルが失われた状態からリカバリする方法について説明します。
障害時リカバリを実行するには、次のようにします。
インスタンスが起動していないことを確認します。
データ・ファイルまたは表領域のリカバリにアーカイブREDOログが必要な場合、そのアーカイブREDOログをリストアします。
VSSスナップショットからOracle Database
というコンポーネントを選択します。
データベースをリストアします。
Oracle VSSライターは、自動的にインスタンスを起動してデータベースをマウントし、リストアされたデータ・ファイルをリカバリします。一部のアーカイブ・ログが失われている場合、ログをリストアしてSQL*PlusまたはRMANでデータ・ファイルをリカバリできます。
RESETLOGS
オプション付きでデータベースをオープンします。
NOARCHIVELOG
モードで稼働しているOracle Databaseの場合、アーカイブREDOログは生成されないため、メディア・リカバリは実行できません。データベース・ファイルは、追加のリカバリが要求されない一貫性のある状態で存在している必要があります。
コンポーネント・ベースのバックアップをリストアするには、次のようにします。
サード・パーティのVSSリクエスタを使用して、Oracle Database
コンポーネントを選択します。
Oracle VSSライターは、自動的にデータ・ファイルをリストアし、データベースをマウントします。
RESETLOGS
オプション付きでデータベースをオープンします。
ボリューム・ベースのバックアップをリストアするには、次のようにします。
サード・パーティのVSSリクエスタを使用して、データ・ファイル、制御ファイルおよびサーバー・パラメータ・ファイルが物理的に存在しているボリュームを選択します。
データ・ファイルとログが存在するすべてのボリュームをリストアします。
RESETLOGS
オプション付きでデータベースをオープンします。
Oracle VSSライターを使用すると、サード・パーティのリクエスタ・アプリケーションでリカバリおよびバックアップ・セッションの動作を制御できます。サード・パーティのリクエスタ・アプリケーションはVSS API setBackupOptions
またはsetRestoreOptions
を使用して、適切な文字列をライターに渡します。ライターはgetBackupOptions
またはgetRestoreOptions
を使用して、リクエスタから文字列セットを取得し、バックアップおよびリストアの前または後にアクションを実行します。
ライターが提供するリカバリ操作の柔軟性を利用する際に従うプロトコルを次に示します。
ライターの制御コマンドは、リストア後のフェーズでリストされたすべてのコンポーネントに適用できます。コマンドの形式は次のとおりです。
OP1=CMD1, OP2=CMD2, . . .
次の順序でコマンドを実行します。
POST_WTRCMD=NORECOVER
リストアされたコンポーネントに対して、リストア後のデフォルトのリカバリ操作で定義されたリストア後のリカバリ・アクティビティを実行しないように、ライターに指示します。それ以外の場合は、リストア後のフェーズのデフォルトのアクションが実行されます。
POST_RMANCMD=
cmdstr
現在の操作の後、デフォルトの操作ではなく特定のRMANコマンドを実行するようにライターに指示します。
PRE_SQLCMD=
cmdstr
他の検証を実行する前に、OnPrepareBackup
またはOnPreRestore
コールバックで特定のSQLコマンドを実行するようにライターに指示します。VSSスナップショットが作成される前にスタンバイ・データベースでMRPを停止する場合、またはデータベースのコールド・バックアップを作成するデータベース・インスタンスを停止する場合に使用されます。
POST_SQLCMD=
cmdstr
PostSnapshotまたはPostRestoreコールバックで特定のSQLコマンドを実行するようにライターに指示します。VSSスナップショットの作成後にスタンバイ・データベースでMRPを再起動する場合、またはデータベースのコールド・バックアップの実行後にデータベース・インスタンスを再起動する場合に使用されます。
VSSシャドウ・コピーを転送できる場合、それらのシャドウ・コピーを使用してプライマリ・データベースを複製できます。この章の文脈では、複製とは、異なるデータベースのシャドウ・コピーから新規データベースを作成することを意味します。シャドウ・コピーから作成した複製データベースは、Data Guard環境で非スタンバイ・データベースまたはスタンバイ・データベースとして使用できます。DUPLICATE
コマンドを使用するRMANの複製とは異なる手順となることに注意してください。
この項の項目は次のとおりです。
この項では、プライマリ・データベースと同じファイル・システム構造を持つホストにデータベースを複製するものと仮定します。
シャドウ・コピーから非スタンバイ・データベースを作成するには、次のようにします。
「障害時リカバリの実行」の手順に従って新規ホストにデータベースをリストアします。
複製データベースでSQL*Plusセッションを開始し、DBIDを取得します。次のようにDBIDを問い合せます。
SELECT DBID FROM V$DATABASE;
一貫性のある状態でデータベースを停止します。次のようにデータベースを停止します。
SHUTDOWN;
DBNEWIDユーティリティを使用してDBIDを変更します。
DBNEWIDの使用方法は、『Oracle Databaseユーティリティ』を参照してください。
データベースをオープンします。
複製データベースでSQL*Plusセッションを開始し、DBIDを問い合せます。次のようにDBIDを問い合せます。
SELECT DBID FROM V$DATABASE;
この項では、プライマリ・データベースと同じファイル・システム構造を持つホストにスタンバイ・データベースを作成するものと仮定します。また、この項では、読者が『Oracle Data Guard概要および管理』に目を通しており、スタンバイ・データベースの作成とメンテナンスについてよく理解していることを前提とします。
シャドウ・コピーからスタンバイ・データベースを作成するには、次のようにします。
「障害時リカバリの実行」の手順に従ってスタンバイ・ホストにデータベースをリストアします。
新しいデータベースに対してSQL*Plusセッションを開始します。プライマリ・データベースから新しいスタンバイ制御ファイルを取得する必要があります。SQL文ALTER DATABASE CREATE STANDBY CONTROLFILE
を使用して制御ファイルを作成できます。
インスタンスを起動してスタンバイ制御ファイルをマウントします。