※本ページは、”ASM Cluster File System Snapshots on Exadata“の翻訳です

データベーススナップショットは、アプリケーション開発プロジェクトで定期的に必要とされる機能です。 Oracle DatabaseおよびOracle Exadataでは、PDBクローン、Full Database Clone、Exadataスパースクローン、ExadataでのACFSスナップショットクローンなど、データベースのクローンまたはコピーを作成および保守する方法が多数あります。

データベースクローンは、組織が本番環境のようなデータベース環境に対してテストおよび開発できるようにするために必要です。データの量が重要な場合もあれば、それほど重要でない場合もあります。コードをシステムテスト、統合、パフォーマンステスト環境に移行する前に、各開発者が作業用に個別の環境を用意する(または必要とする)場合があります。データベースクローンの一部のユースケースは、開発やテストとは関係がない場合があります(少なくとも、これらの用語のITの意味では)。一部の組織は、What-If分析または分析モデルのトレーニング、チューニングなどのためのデータベースをデータアナリストに提供したい場合があります。本番データベースに影響を与えることなく。データベースのクローンが必要になる理由はたくさんあります。前述したように、Exadataでこの要件をサポートする方法はたくさんあります。

ASM Cluster File System(ACFS)は、POSIX準拠の汎用ファイルシステムであり、Exadataにデータベースファイルを格納するためにも使用できます。 ACFSは、サードパーティのコピーオンライトスタイルのファイルシステムスナップショットと同様の高度なスナップショット機能をサポートしています。 ACFSスナップショットを使用する場合は特に注意が必要ですが、お客様は複数のタイムラインにまたがる読み取り/書き込みテストマスターを作成できます。

概念的には、次のようなことが可能です。

それを少し詳しく見てみましょう。

まず、ACFSスナップショットを使用するには、ACFS上にデータベース(たとえば、Data Guardスタンバイデータベース)が必要です。 gDBCloneスクリプトを使用するか、RMANを使用してACFS上に複製データベースを作成することもできます。 ACFSスナップショットはファイルシステムのスナップショットであり、読み取り専用のデータファイルを指すスパースファイルであるExadataスパースクローンとは異なります。

「ソース」データベースを作成したら、REDO適用を停止し、ACFSスナップショット(上の図のテストマスター)を作成してから、スタンバイデータベースでREDO適用を再開します。

この時点での状況は、ACFSスナップショットが静的であるということですが、プライマリデータベースがREDOを送信するため、スタンバイデータベースは再び更新されています。スタンバイデータベースの更新が進むと、ACFSは変更されたブロックをスナップショットディレクトリにコピーするため、ブロックの「元の」イメージをクエリとDMLで使用できます。初期スナップショットレベルは読み取り専用であることに注意してください。

次に、データファイルを使用するための複数の読み取り/書き込みACFSスナップショットとデータベースインスタンスを作成できます。これらは、後続の読み取り/書き込みスナップショットおよびデータベースの読み取り/書き込み「テストマスター」になることができます。

もしもData Guardスタンバイ・データベースを使用し始めた場合は、REDO適用を停止し、新しいACFSスナップショットを作成し(現時点で)、REDO適用を再開するプロセスを繰り返して、データブロックの最後のソースとなる同じスタンバイを使用して、複数のタイムラインを同時に存在させることができます。

これを表す別の方法は次のとおりです。上部の不明瞭なデータベースは、ACFS上のスタンバイデータベースであり、REDOを受信して​​適用するときに、時間の経過とともに継続的に前進します。さまざまな間隔で、読み取り専用のテストマスターとして機能するACFSスナップショットが作成され、読み取り専用または読み取り/書き込みのスナップショットデータベースとして使用するためにさまざまなレベルの複数のスナップショットが作成されます。

いくつかの重要なポイント:

  • Exadata上のACFSは、Exadata Flash Cache機能のみをサポートします-スマートスキャン、ストレージインデックス、永続メモリデータアクセラレータ、永続メモリコミットアクセラレータなどの機能は、ACFS上にあるデータベースでは使用できません。
  • ExadataのACFSスナップショットは開発/テス用途での利用に限られます
  • Oracle Grid Infrastructure 19.10(パフォーマンスパッチ付き)以降が必要になります。Grid Infrastructure 19.11以降をお勧めします
  • ACFS暗号化はデータベースデータファイルではサポートされていません。Oracleデータベースのデータを暗号化する必要がある場合は、透過的データ暗号化機能(Transparent Data Encryption)を使用する必要があります。
  • ACFSスナップショットは、すべてのタイプのOracleデータベースをサポートします。
    • CDBデータベースおよび当該CDB内のすべてのプラガブルデータベース
    • 個々のプラガブルデータベース
    • 非CDBデータベース
  • ACFSでData Guardを使用している場合は、ASMに「真の」DR Data Guardスタンバイデータベースがあることを確認してください。 DRにフェイルオーバーする必要がある場合、すべてのExadataパフォーマンス機能を発揮するためです。
  • 最高の可用性を実現するには、ACFSファイルシステムの作成元となるASMディスクグループを高冗長ディスクグループにする必要があります。
  • Database Home、diagnostics、またはauditファイルの置き場にACFSを使用しないでください
  • 開発/テストデータベースを同じRACまたはVMクラスター上の本番データベースと同じ場所に配置しないでください

MAAチームからのこのプレゼンテーションで、ACFSスナップショットとExadataスパースクローンの詳細を確認できます。

これらのMOSノートとドキュメントのリンクも、データベースクローンの作成に行き詰まったときに、チェックする価値があります。

ExadataでのACFSスナップショットの配信とテストに費やしたすべての作業について、MAA、Exadata、およびもちろんACFS開発チームに感謝します。

以下のコメントで、ACFSスナップショットとExadataスパースクローンについてのご意見をお聞かせください。

ハッピースナップショット!