テスト・データベースと本番データベースの同期化について

クラウドにデプロイされた開発およびテスト環境がある場合、大量のストレージ・コストを発生させることなく、テスト・データを本番環境で迅速かつ効率的にリフレッシュまたは同期する方法が必要です。

クラウド内で環境を管理するときは、複雑で記憶域を処理する必要はありません。データベースの完全なコピーを作成するのに必要なストレージ容量と時間の割合を使用してデータを同期するために、Oracle Databaseのシン・クローンを作成できます。

始める前に

テスト・データベースと本番データベースの同期を開始する前に、データベースの移行に関連する概念を確認します。データベース移行時の停止時間の短縮について参照してください。

アーキテクチャ

このアーキテクチャは、本番データベースのテスト・マスター・バージョンを作成し、その後、開発環境およびテスト環境にシン・クローンまたはスナップショットをデプロイするための3つのオプションを示します。
Prod-testmaster-snap-db.pngの説明が続きます
図prod-testmaster-snap-db.pngの説明

次のコンポーネントがアーキテクチャの一部です。

  • 本番データベース:本番データを含むデータベース。テスト・マスターの作成に使用するソースです。
  • テスト・マスター・データベース:本番データベースのコピーで、スナップショットの作成に使用します。
  • スナップショット:テスト・マスターから作成されるシン・クローンで、開発環境またはテスト環境に使用できます。

最初のステップでは、本番データベースのテスト・マスター・データベースを作成します。次の3つの方法のいずれかを実行できます。

  • 本番データベースからフィジカル・スタンバイ・データベースを作成します。フィジカル・スタンバイは、テスト・マスターとして機能します。

    このオプションは、本番データベースのクローンを頻繁に作成する場合(毎日または毎週など)、クローンを迅速に作成する場合、または非常に大規模な本番データベースがある場合に使用します。テスト・マスターがフィジカル・スタンバイ・データベースの場合、テスト・マスターは常に本番と同期されるため、データをリフレッシュする必要はありません。大規模データベースの場合、テスト・マスターを迅速にリフレッシュできません。

  • Oracle Recovery Manager (RMAN)アクティブな複製を使用して本番データベースのクローンを作成し、テスト・マスターとしてこのクローンを使用します。

    このオプションは、半月ごとまたは毎月など、本番環境のクローンを作成する場合に使用します。テスト・マスターをこの方法で作成すると、RMANアクティブな複製を使用してテスト・マスターを1回作成し、テスト・マスターを使用して1か月に複数回クローンを作成できます。

  • 本番データベースの完全なバックアップ・コピーを作成し、バックアップを使用してクローンを作成し、テスト・マスターとしてクローンを使用します。

    このオプションは、クローンを頻繁にリフレッシュしない場合に使用します(四半期、半年、年次など)。テスト・マスターを作成するこの方法では、データベースの全体バックアップは本番データベースから作成され、その本番バックアップを使用してテスト・マスターが作成されます。必要に応じて、テスト・マスターを使用してクローンを複数回作成できます。

テスト・マスターを使用して、テスト環境および開発環境用にデータベースの領域効率的なコピー(スナップショット)を作成できます。

次のアーキテクチャ図は、テスト・マスターの作成方法と管理方法に関するいくつかのガイダンスを提供します。ご使用の環境に最適なオプションおよびデータベースをリフレッシュする必要がある頻度を選択してください。

オプションI:本番データベースが非常に大規模なデータベースで、本番環境から(数分以内に)開発環境およびテスト環境をリフレッシュする必要がある場合、Oracle Data Guardを使用してテスト・マスターとしてスタンバイ・データベースを作成します。この方法の利点は、テスト・マスターが常に本番データベースと同期され、テスト・マスターをリフレッシュする必要がないことです。

Testmaster-dataguard.pngの説明が続きます
図testmaster-dataguard.pngの説明

このアーキテクチャでは、次のフローがサポートされます。

  1. Oracle Data Guardを使用して、テスト・マスター・データベースを作成します。このシナリオでは、テスト・マスターは本番データベースのフィジカル・スタンバイであり、常に本番環境と同期されます。
  2. テスト環境用の読取り/書込みスナップショットを作成します。スナップショットは、テスト・マスター・サーバーに作成されます。テスト・マスター・サーバーは、Oracle ASMクラスタ・ファイル・システム(Oracle ACFS)を使用します。

このアーキテクチャでは、次のコンポーネントがサポートされています。

  • 本番Oracle Database:本番データベースでOracle Automatic Storage Management (Oracle ASM)、Oracle ACFSまたはUNIXファイルシステムを使用できます。
  • テスト・マスター・データベース: Oracle ACFS上の本番データベースの完全に同期化されたフィジカル・スタンバイ。
  • スナップショット:テスト環境用に作成されたテスト・マスターの1つ以上の読取り/書込みコピー。

オプションII:隔週や月次などのテスト環境を定期的にリフレッシュする必要がある場合は、RMANのアクティブな複製を使用して本番データベースをクローニングし、テスト・マスターを作成します。

Testmaster-rman-duplicate.pngの説明が続きます
図testmaster-rman-duplicate.pngの説明

このアーキテクチャでは、次のフローがサポートされます。

  1. 本番データベースをクローニングして、テスト・マスター・データベースRMANアクティブな複製を作成します。本番データベースからRMANアクティブな複製コマンドを実行して、テスト・マスター・データベースを作成します。
  2. テスト環境用の読取り/書込みスナップショットを作成します。スナップショットは、テスト・マスター(テスト・マスター・サーバー)と同じサーバー上に作成されます。テスト・マスター・サーバーはOracle ACFSを使用します。
  3. テスト・マスターを削除し、本番データベースのクローンを再作成することにより、テスト・マスターをリフレッシュします。

このアーキテクチャでは、次のコンポーネントがサポートされています。

  • 本番Oracle Database:本番データベースでは、Oracle ASM、Oracle ACFSまたはUNIXファイルシステムを使用できます。
  • テスト・マスター・データベース: Oracle ACFSファイルシステム上の本番データベースのフル・クローン。
  • スナップショット:テスト環境用に作成されたテスト・マスターの1つ以上の読取り/書込みスナップショット。

オプションIII:本番からのリフレッシュが必要な場合(数か月ごと)、RMANの本番からの全体バックアップを使用して、テスト・マスター・データベースを作成できます。リフレッシュ・プロセスを簡単にするには、Oracle Cloud Infrastructure File Storageサービスを作成し、本番データベース・サーバーおよびテスト・マスター・データベース・サーバーにマウントします。Oracle Cloud Infrastructure File Storageで本番データベースのRMANバックアップを実行すると、バックアップはテスト・マスター・サーバーでも使用可能であり、テスト・マスターの作成に使用できます。

Testmaster-rmanull.pngの説明が続きます
図testmaster-rmanull.pngの説明

このアーキテクチャでは、次のフローがサポートされます。

  1. Oracle Cloud Infrastructure File Storageサービスで本番データベースの全体バックアップ・コピーを作成し、バックアップをテスト・マスター・サーバーにマウントします。
  2. テスト環境用の読取り/書込みスナップショットを作成します。スナップショットは、テスト・マスター・サーバーに作成されます。テスト・マスター・サーバーはOracle ACFSを使用します。
  3. 必要に応じて、既存のテスト・マスターを削除し、本番データベースの新しいバックアップを使用してテスト・マスターを再作成します。

このアーキテクチャでは、次のコンポーネントがサポートされています。

  • 本番Oracle Database:本番データベースでは、Oracle ASM、Oracle ACFSまたはUNIXファイルシステムを使用できます。
  • Oracle RMAN Full Backup: RMANユーティリティによって、本番データベースの完全バックアップがOracle Cloud Infrastructure File Storageサービスで作成されます。
  • テスト・マスター・データベース: Oracle ACFSファイルシステム上の本番データベースのフル・クローン。
  • スナップショット:テスト環境用に作成されたテスト・マスターの1つ以上の読取り/書込みスナップショット。

gDBCloneユーティリティによるシン・クローニングについて

データベース・クローン・スナップショット管理((gDBClone)ユーティリティは、スナップショット・クローンを作成し、テスト環境と開発環境用のデータベースを管理する簡単で効率的な方法を提供するように設計されています。

ユーティリティでは、Oracle ASMクラスタ・ファイル・システム(Oracle ACFS)が使用されます。Oracle ACFS Point - in - Timeスナップショット・テクノロジおよびgDBCloneユーティリティは、強力で柔軟性のある、簡単なツールを提供し、テスト・サーバーと開発サーバーの管理の時間と複雑さを軽減します。これらのツールを使用して、テスト、開発および本番の各データベース間で、定期的に、または必要に応じてデータを迅速かつ効率的に同期します。

Oracle ACFSスナップショットは、Oracle ACFSファイル・システムのオンライン、読取り専用または読取り/書込みポイントのコピーです。スナップショット・コピーは領域効率がよく、Oracle ACFSのリダイレクト操作(ROW)機能を使用します。Oracle ACFSファイル・エクステントの変更または削除前には、その現行値はスナップショット内に保持されて、ファイルシステムのポイント・イン・タイム・ビューを保持します。Oracle ACFSでは、ファイル・システムごとに1023個のスナップショットがサポートされています。

gDBCloneスクリプトでは、次の主要な機能を実行できます。

  • Clone:本番データベースからクローン・データベースを作成します。クローンはテスト・マスター・データベースです。データベース・クローンを作成する時間は、データベース・サイズとネットワーク・スループットによって異なります。
    • ソース・データベースは、Oracle Automatic Storage Management(Oracle ASM)を含むあらゆるタイプのファイル・システム上に存在する可能性があります
    • データベースがリモートの場合、gDBCloneは、Oracle Real Application Clusters (Oracle RAC)のリスナーまたはSCAN (単一クライアント・アクセス・ネットワーク)リスナーを介してリモート・データベースに接続する必要があります。
    • クローン(テスト・マスター)は、プライマリ・データベースまたはスタンバイ・データベースです。
    • Oracle Recovery Manager (RMAN)のアクティブ・データベースからの複製を使用する場合、gDBCloneは3つのRMANチャネルを割り当てます。-channels RMAN channels numberコマンド・オプションを使用することで、デフォルトを上書きできます。
  • Snap: Oracle Databaseの疎なスナップショット(Thinクローン)を作成します。スナップショット・コピーは領域効率がよく、リダイレクト操作(ACFS ROW)機能を使用します。
  • Convert:特定のデータベースをOracle Real Application Clusters (Oracle RAC)に変換します。1つのノードOracle RACまたは非コンテナ・データベースから、特定のコンテナ・データベース(CDB)のプラガブル・データベース(PDB )に変換します
  • ListDBs:クローン・データベースおよびそのスナップショットをリストします
  • DelDB:クローン・データベースまたはそのスナップショットを削除します
  • ListHomes:使用可能なOracleホームをリストします。
  • ACFS
  • SYSPwF:暗号化されたパスワード・ファイルを作成します。

必要なサービス、製品およびロールについて

このソリューションには、次の製品、サービスおよびロールが必要です。

ソース・システム(本番データベース)は、次のいずれかです。

  • 1ノードのOracle Cloud Infrastructure仮想マシンのデータベース・システム
  • 2ノードのOracle RAC仮想マシン・データベース・システム
  • 1 -ノード・バー金属Oracle Databaseシステム
  • Oracle Database Exadata Cloud Serviceデータベース・システム

本番データベースでは、Oracle Automatic Storage Management (Oracle ASM)、Oracle ASM Cluster File System (Oracle ACFS)、またはUNIXファイルシステムを使用できます。

ターゲット・システム(テスト・マスター・サーバー)には、次のいずれかを指定できます。

  • 1ノード(シングル・インスタンス)ベアメタル・データベース・システム

    仮想マシンのデータベース・システムは複数のデータベースをサポートしていないため、テスト・マスターは仮想マシンのデータベース・システムにできません。

  • Oracle Database Exadata Cloud Service

テスト・マスター・データベース・インスタンスの場合、Oracle DatabaseはローカルのOracle ACFSファイルシステムに格納する必要があります。

ソースとターゲットのDBホームが同じエディションとバージョンであることをお薦めします。DBホームは両方とも、バンドル・パッチと1回限りのパッチの両方の同じパッチ・レベルにすることをお薦めします。

これらは、各サービスに必要なロールです。

製品名:ロール 必須項目
Oracle Database: rootシステム権限またはrootとしてコマンドを実行できるsudo。 本番データベースをクローニングするか、スタンバイ・データベースを作成するか、または全体バックアップ・コピーを作成することによって、テスト・マスターを作成します。
gDBCloneユーティリティ: rootシステム権限またはsudoを、rootとしてコマンドを実行する機能があります。 クローニングおよびスナップショットを含むほとんどのgDBCloneタスクを実行します。
Oracle Cloud Infrastructure File Storageサービス: OCI_Administratorsグループのメンバー。 Oracle Cloud Infrastructure File StorageサービスでOracle Recovery Manager (RMAN)を使用してデータベースの全体バックアップを作成します。

必要なクラウド・サービスを取得するには、「Oracle Cloud Services for Oracle Solutions」を参照してください。