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ライターでは、データベース・ファイルのセットであるコンポーネント・ベースのシャドウ・コピーがサポートされます。 - ボリューム・ベースのシャドウ・コピー
Oracle VSSライターでは、ドライブまたはボリューム全体のスナップショットであるボリューム・ベースのシャドウ・コピーがサポートされます。 - Oracle 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ライターのオプション
Oracle VSSライターでは、ログ、コピー、全体、差分および増分バックアップがサポートされています。
VSSライターは、増分および差分バックアップに対してタイムスタンプのメカニズムを使用し、SetBackupStamp()
APIを使用してタイムスタンプをバックアップ・ドキュメントに格納します。このバックアップ・スタンプは、増分または差分バックアップ時に、AddDifferencedFilesByLastModifyTime()
APIを使用した最後の全体または増分バックアップ以降に変更されたファイルを指定するためにOracle VSSライターで使用します。
Oracle VSSライターはバックアップとリストアのメタデータも保存します。リストア操作の際には、これらのメタデータが使用可能になっていなければなりません。そうなっていれば、VSSライターがリストア後の操作を効率よく実施できるようになります。フル・バックアップまたはコピー・バックアップの場合は、リストア対象のファイルの整合性が取れるように、リストアのメタデータに重要なREDO情報が保存されます。したがって、リストア操作の際には必ずOracle VSSライターをコールして、リカバリ操作を実行するようにしてください。