スナップ・クローンは、ストレージに依存せずに大規模データベースの迅速で効率的な領域を持つクローンを作成するためのアプローチを提供します。テストや開発のために本番データベースのクローンが頻繁に必要となりますが、データベースが巨大な場合には特に、クローンの作成は困難で時間のかかる作業となります。
Enterprise Managerではこの問題への対処としてスナップ・クローンが提供されていますので、一部のストレージ・システムで利用可能なコピー・オン・ライト・テクノロジを使用して本番データベースからシン・クローンを作成できます。これは、クローンが最初はわずかな領域(数テラバイトのデータベースのシン・クローンに対して約2GBの書込み可能領域)を占有し、挿入、更新および削除が行われるにつれて大きくなることを意味します。Enterprise Managerでは、スナップ・クローンに次の2つのソリューションが提供されています。
ハードウェア・ソリューション: NetApps、Oracle Sun ZFSストレージ・アプライアンス、EMC VMAXおよびVNXがサポートされるベンダー固有のハードウェア・ソリューション。
ソフトウェア・ソリューション: すべてのNASストレージ・デバイスおよびSANストレージ・デバイスがサポートされるストレージ非依存型のソフトウェア・ソリューション。このソリューションは、ZFSファイル・システムおよびCloneDB機能を使用してサポートされています。
スナップ・クローンの主な機能は次のとおりです。
セルフ・サービス駆動型のアプローチ: セルフ・サービス・ユーザーは、必要に応じて非定型ベースでデータベースをクローニングできます。
迅速なクローニング: データベースは、数日や数週間ではなく数分のうちにクローニングできます。
領域の効率性: この機能によって、ユーザーは、ストレージ・フットプリントを大幅に削減できます。
Enterprise Managerのデータ・ライフサイクル管理ソリューションは、本番環境からテスト環境までデータを移動する、エンド・ツー・エンドの完結した自動化フローを提供します。
本番環境で、データベース管理者はまずこの本番データベースをバックアップし、バックアップからテスト・マスター・データベースを作成し、機密データをマスクして、最後にテスト・マスターからクローンを作成します。クローンは、データが本番データと確実に同期するように、必要に応じてリフレッシュされる必要があります。データ・ライフサイクル管理ソリューションでは、このプロセスは完全に自動化され、「クローニング」ダッシュボードから、または、セルフ・サービス・ポータルを介して実行できます。
管理ダッシュボードからスナップ・クローンを作成し、そのスナップ・クローンをテスト・マスター・データベースとして昇格できます。この項では、スナップ・クローン・データベースの作成と管理に使用できる次の手順について説明します。
テスト・マスター・データベースを作成するには、次のいずれかのソリューションを使用できます。
テスト・マスター・データベースとは、本番データベースのサニタイズされたバージョンです。テスト・マスターが作成される前に、オプションで本番データをマスキングできます。テスト・マスターは、前のポイント・イン・タイムで取得され、特定の間隔でリフレッシュされるスナップショットまたはRMANバックアップ・プロファイルから作成できます。このオプションは、ソース・データをマスクして機密データを隠す必要がある場合に便利です。
テスト・マスターを作成するには、次の手順に従います。
テスト・マスター・データベースを作成するには、動詞emcli create_clone -inputFile=/tmp/create_test_master.props
を実行します(create_test_master.props
は、テスト・マスターの作成に必要なパラメータと値が含まれたプロパティ・ファイルです)。
プロパティ・ファイルの例(create_test_master.props):
CLONE_TYPE=DUPLICATE COMMON_DB_DBSNMP_PASSWORD=password COMMON_DB_SID=clonedb COMMON_DB_SYSTEM_PASSWORD=sunrise COMMON_DB_SYS_PASSWORD=sunrise DATABASE_PASSWORDS=Sumrise1 COMMON_GLOBAL_DB_NAME=clonedb.xyz.com DB_ADMIN_PASSWORD_SAME=true DEST_LISTENER_SELECTION=DEST_DB_HOME HOST_NORMAL_NAMED_CRED=HOST:SYSCO IS_TESTMASTER_DATABASE=Y USAGE_MODE = testMaster CLOUD_TARGET = true LISTENER_PORT=1526 ORACLE_BASE_LOC=/scratch/app ORACLE_HOME_LOC=/scratch/app/product/11.2.0./dbhome_1 EM_USER=sys EM_PWD=Sunrise1 SRC_DB_CRED=DB:SYSCO SRC_DB_TARGET_NAME=ora.xyz.com SRC_HOST_NORMAL_NAMED_CRED=HOST:SYSCO TARGET_HOST_LIST=bl1.xyz.com
テスト・マスター・データベース作成のステータスを確認するには、EM CLI動詞emcli get_instance_status -instance={instance GUI}
を実行します。
テスト・マスターPDBを作成するには、次のいずれかのソリューションを使用できます。
Enterprise Manager for Oracle Database 12.1.0.8プラグインがシステムにデプロイされている場合は、新しいPDBのクローニング・ウィザードを使用して、ソースPDBからテスト・マスターPDBを作成できます。
ソースPDBからテスト・マスターPDBを作成するには、次の手順を実行します。
テスト・マスター・プラガブル・データベースを作成するには、コマンドemcli pdb_clone_management -input_file=data:/xyz/sdf/pdb_test_master.props
を実行します(pdb_test_master.props
ファイルの内容の例を次に示します)。
テスト・マスターPDBを作成するためのプロパティ・ファイルの例:
SRC_PDB_TARGET=cdb_prod_PDB SRC_HOST_CREDS=NC_HOST_SCY:SYCO SRC_CDB_CREDS=NC_HOST_SYC:SYCO SRC_WORK_DIR=/tmp/source DEST_HOST_CREDS=NC_SLCO_SSH:SYS DEST_LOCATION=/scratch/sray/app/sray/cdb_tm/HR_TM_PDB6 DEST_CDB_TARGET=cdb_tm DEST_CDB_TYPE=oracle_database DEST_CDB_CREDS=NC_HOST_SYC:SYCO DEST_PDB_NAME=HR_TM_PDB6 IS_CREATE_AS_TESTMASTER=true MASKING_DEFINITION_NAME=CRM_Masking_Defn
注意:
Exadata ASMにテスト・マスターを作成する必要がある場合は、さらに2つのパラメータ(ACL_DF_OWNER=oracle
およびACL_DF_GROUP=oinstall
)を追加する必要があります。
CloneDBデータベースは、RMANイメージ・バックアップがある場合にのみ作成できます。
CloneDBデータベースを作成するには、次の手順に従います。
クローンおよびリフレッシュ・ページでは、クローン・データベースの追加、クローン・データベースの削除およびテスト・マスターとしてのクローン・データベースの昇格を行うことでクローン・データベースを管理できます。
クローンおよびリフレッシュ・ページにアクセスするには、Oracleデータベース・ターゲットのホームページに移動します。ホームページで、「Oracleデータベース」 をクリックし、「プロビジョニング」 を選択して、「クローンおよびリフレッシュ」を選択します。
クローン・データベースの追加
「追加」ボタンを使用して、すでに作成されている現在のデータベースのクローンを追加します。データベース・クローン・インスタンスを追加するには、「追加」をクリックします。表示された「ターゲットの選択」ダイアログ・ボックスでデータベース・ターゲットを選択し、「選択」 をクリックします。データベース・インスタンスが、データベースのクローニング・ページの「クローン」セクションに追加されます。
クローン・データベースの削除
「削除」ボタンを使用して削除できるのは、「追加」ボタンを使用して追加されたデータベースのみです。
データベース・クローン・インスタンスを削除するには、削除するデータベース・クローン・インスタンスを「クローン」セクションから選択します。「削除」をクリックします。
クローン・データベースのテスト・マスターとしての昇格
データベース・クローン・データベース・インスタンスをテスト・マスターとして昇格するには、再作成するクローン・インスタンスを「クローン」セクションから選択します。テスト・マスターとして昇格をクリックします。
クローン・データベース・インスタンスのテスト・マスターからの削除は、「クローン」セクションからクローン・データベース・インスタンスを選択し、テスト・マスターから削除をクリックして行うこともできます。
クローン・データベースのリフレッシュ
クローン・データベースをリフレッシュするには、「クローン」セクションからクローン・データベース・インスタンスを選択し、「リフレッシュ」をクリックします。「クローン・データベースのリフレッシュ」を参照してください。
データ・プロファイルの作成
クローンおよびリフレッシュ・ページの「データ・プロファイル」タブには、クローン・データベースから作成したデータ・プロファイルが表示されます。データ・プロファイル・ページで、既存のデータ・プロファイルのコンテンツを表示できます。これらのデータ・プロファイルの「編集」および「リフレッシュ」も実行できます。
「作成」をクリックして、新規データ・プロファイルを作成することもできます。これにより、プロビジョニング・プロファイルの作成ウィザードが起動します。このウィザードを使用したプロビジョニング・プロファイルの作成方法は、Enterprise Manager Cloud Control管理者ガイドを参照してください。
リフレッシュ・ページに次のセクションが表示されます。
ソース・データベースからドリフト
このセクションには、このデータベースのクローニング元のソース・データベースの名前が表示されます。クローン・データベースがリフレッシュされた後の日数が表示されます。「リフレッシュ」をクリックしてクローン・データベースをリフレッシュします。
データベース・ボリュームの詳細
このセクションには、選択したデータベースのストレージ詳細が表示されます。「ファイルの表示」をクリックして、ボリューム内のデータベース・ファイルのレイアウトを表示します。選択したデータベースのストレージ・レイアウトとファイル・レイアウトを示す表示ボックスが表示されます。
履歴
このセクションには、データベースの過去のリフレッシュが表示されます。リフレッシュの日時、リフレッシュ元、データベースの所有者およびリフレッシュ・アクションのステータスが表示されます。
記憶域の使用状況
この項には、データベースのストレージ・ボリューム、ストレージ・コンテンツ、マウント・ポイント、使用されている書込み可能ストレージの量および同期日が表示されます。
テスト・マスター・データベースとして指定されているスタンバイ・データベースを使用してスナップ・クローンを作成できます。テスト・マスター・データベースは常に最新で、本番データベースと同期しています。このアプローチを使用してスナップ・クローンを作成するには、次の手順に従います。
表26-1 スナップ・クローンの作成(連続フロー)
ステップ | タスク | ロール |
---|---|---|
1 |
DBaaSを有効にする「はじめに」の項の手順に従います。 |
「はじめに」を参照してください。 |
2 |
ストレージ・サーバーを登録します。 |
「ストレージ・サーバーの登録」を参照してください。 |
3 |
1つ以上のリソース・プロバイダを作成します。 |
「リソース・プロバイダの作成」を参照してください。 |
4 |
リクエスト設定を構成します。 |
「リクエスト設定の構成」を参照してください。 |
5 |
各セルフ・サービス・ユーザーの割当て制限を定義します。 |
「割当て制限の定義」を参照してください |
7 |
スタンバイ・データベースを追加し、テスト・マスターとして指定します。 |
「テスト・マスターとしてのフィジカル・スタンバイ・データベースの使用」を参照してください。 注意: このスタンバイ・データベースは、スナップ・クローンの作成が可能な登録されたストレージ・サーバー(NetApp、Sun ZFS、EMCなど)に存在する必要があります。 |
6 |
スナップ・クローンのテスト・マスターを有効にします。 |
「スナップ・クローンのテスト・マスターの有効化」を参照してください。 |
7 |
テスト・マスターからスナップショット・プロファイルを作成します。 |
|
8 |
サービス・テンプレートを作成します。 |
「スナップ・クローン・プロファイルを使用したサービス・テンプレートの作成」を参照してください。 |
9 |
チャージバック・サービスを構成します(この手順はオプションです)。 |
「チャージバックの構成」を参照してください。 |
10 |
データベースのデプロイ時に、作成したサービス・テンプレートを選択します。 |
「データベースのリクエスト」を参照してください |
ストレージ・サーバーの登録対象は次のとおりです。
NetAppおよびSun ZFSストレージ・サーバー: 「NetAppまたはSun ZFSストレージ・サーバーの登録」を参照してください。
Solarisファイル・システム(ZFS): 「Solaris File System (ZFS)ストレージ・サーバーの登録」を参照してください。
EMCストレージ・サーバー: 「EMCストレージ・サーバーの登録」を参照してください。
次のような1つ以上のリソース・プロバイダを作成する必要があります。
PaaSインフラストラクチャ・ゾーン: 「PaaSインフラストラクチャ・ゾーンの作成」を参照してください。
データベース・プール: 「Database as a Service用のデータベース・プールの作成」を参照してください
テスト・マスター・データベースとは、本番データベースのサニタイズされたバージョンです。テスト・マスターは、Oracle Data Guard機能を使用してライブ・スタンバイ・データベースから作成できます。プロファイルまたはスナップショットは、テスト・マスターから作成でき(第「スナップショットを使用したデータベース・プロビジョニング・プロファイルの作成」を参照)、それらのプロファイルを使用して、スナップ・クローンを作成できます(「データベースのリクエスト」を参照)。テスト・マスターは、ライブ・データを含むフィジカル・スタンバイ・データベースであるため、プロファイルに最新のデータが取得されるように、定期的にプロファイルとスナップショットをスケジュールおよび作成する必要があります(「テスト・マスターのスナップショットの作成およびリフレッシュ」を参照)。セルフ・サービス・ユーザーは、各プロファイルから複数のスナップ・クローンを作成し、新しいプロファイルまたはスナップショットが使用できるようになったときに、それらのスナップ・クローンをリフレッシュできます(「データベースのリフレッシュ」を参照)。
テスト・マスターを作成するには、次の手順に従います。
テスト・マスター・データベースを作成した後に、データベース上でスナップ・クローンを有効にする必要があります。
注意:
スナップ・クローンを有効にするには、データベースに対するSNAP_CLONE_TARGET
またはFULL_TARGET
権限が必要です。
スナップ・クローンを有効にするには、次の手順に従います。
ストレージを登録するストレージ・サーバーがネットワーク上で使用可能であることを確認します。ストレージ・サーバーを登録するには、「ストレージ・サーバーの登録および管理」を参照してください。
注意:
Enterprise Manager Cloud Control 12cではNetApp、Sun ZFS、Solaris ZFSおよびEMCストレージ・サーバーがサポートされます。
記憶域サーバーが通信用のEnterprise Manager Cloud Controlでインストールおよびモニターされる管理エージェントに接続されていることを確認します。
ストレージ・サーバーが登録され、スナップ・クローンに有効な少なくとも1つのデータベースが存在することを確認します。
プロファイルを作成するには、EM_STORAGE_OPERATOR
権限またはEM_STORAGE_ADMINISTRATOR
権限を持っている必要があります。
スナップショットを使用したデータベース・プロビジョニング・プロファイルの作成
データベース・プロビジョニング・プロファイルを作成するには、次の手順に従います。
注意:
スナップショットがデータベースによって使用されている場合は、削除できません。スナップショットを削除すると、廃止されます。
つまり、廃止されたスナップショットを使用して新しいデータベースをリクエストすることはできません。これは、データベースに対する赤いプッシュピンで示され、スナップショットが固定され、使用できないことを意味します。
そのスナップショットを使用しているデータベースが削除されると、次回実行時に自動的にパージされます。
スナップショット・プロファイルが作成された後で、スケジュールされた間隔でプロファイルをリフレッシュし、プロファイルの新規バージョンを作成できます。
テスト・マスター(またはフィジカル・スタンバイ・データベース)のスナップショット・プロファイルを作成するには、「スナップショットを使用したデータベース・プロビジョニング・プロファイルの作成」にリストされている手順に従います。スナップショット・プロファイルをリフレッシュするには、次の手順に従います。
セルフ・サービス・ユーザーは、データベース・テンプレート・プロファイルに基づいてサービス・テンプレートを選択し、データベースを作成できるようになりました。「データベースのリクエスト」を参照してください。
注意:
このオプションは、EMCストレージに作成されたスナップショットにのみ使用できます。
前提条件
EMCストレージにスナップ・クローンを作成するには、その前に、「EMCストレージ・サーバーの構成」で説明した前提条件が満たされていることを確認する必要があります。
既存のデータベースを使用してサービス・テンプレートを作成するには、次の手順に従います。
テスト・マスターがNASストレージ・デバイスに存在する場合、個別に同期されたテスト・マスターからスナップ・クローンを作成できます。この表では、スナップショット・プロファイルを使用したスナップ・クローンの作成に必要な手順を示します。
表26-2 スナップ・クローンの作成 - 個別フロー
ステップ | タスク | ロール |
---|---|---|
1 |
DBaaSを有効にする「はじめに」の項の手順に従います。 |
「はじめに」を参照してください |
2 |
ストレージ・サーバーを登録します。 |
「ストレージ・サーバーの登録」を参照してください |
3 |
1つ以上のリソース・プロバイダを作成します。 |
「リソース・プロバイダの作成」を参照してください。 |
4 |
リクエスト設定を構成します。 |
「リクエスト設定の構成」を参照してください。 |
4 |
各セルフ・サービス・ユーザーの割当て制限を定義します。 |
「割当て制限の定義」を参照してください |
5 |
RMANバックアップからテスト・マスター・データベースを作成します。 |
「個別に同期されたテスト・マスターの作成」を参照してください。 |
6 |
スナップ・クローンのテスト・マスターを有効にします |
「スナップ・クローンのテスト・マスターの有効化」を参照してください。 |
6 |
テスト・マスターからスナップ・クローン・プロファイルを作成します。 |
|
9 |
作成したプロファイルに基づくサービス・テンプレートを作成します。 |
「スナップ・クローン・プロファイルを使用したサービス・テンプレートの作成」を参照してください。 |
10 |
チャージバック・サービスを構成します(この手順はオプションです)。 |
「チャージバックの構成」を参照してください。 |
11 |
作成したサービス・テンプレートを選択してデータベースをリクエストします。 |
「データベースのリクエスト」を参照してください |
12 |
テスト・マスターとデータベース・インスタンスをリフレッシュします。
|
次を参照してください。 |
テスト・マスター・データベースとは、本番データベースのサニタイズされたバージョンです。テスト・マスターが作成される前に、オプションで本番データをマスキングできます。テスト・マスターは、前のポイント・イン・タイムで取得され、特定の間隔でリフレッシュされるスナップショットまたはRMANバックアップ・プロファイルから作成できます。このオプションは、ソース・データをマスクして機密データを隠す必要がある場合に便利です。
テスト・マスターを作成するには、次の手順に従います。
注意:
emcli create_clone
コマンドを使用してテスト・マスターを作成することもできます。詳細は、「EM CLI動詞を使用したデータベース・クローンの作成」を参照してください。
セルフ・サービス・ユーザーは、データベース・テンプレート・プロファイルに基づいてサービス・テンプレートを選択し、データベースを作成できるようになりました。「データベースのリクエスト」を参照してください。
テスト・マスター・データベースは、特定の時点で取得された本番データベースのRMANバックアップ・プロファイルから作成されます。本番データベースは継続的に更新されるため、テスト・マスターは、最新の本番データを使用できるように定期的にリフレッシュする必要があります。
テスト・マスターがリフレッシュされたら、更新されたテスト・マスターに基づいて新しいプロファイルを作成できます。セルフ・サービス・ユーザーは、データベース・インスタンスを最新のプロファイルにリフレッシュできます。テスト・マスターの古いバージョンによって使用されていたストレージ領域は、更新(リフレッシュ)されたテスト・マスターによって再利用されます。
テスト・マスターをリフレッシュした後、スナップショット・プロファイルの新しいリビジョンを作成する必要があります。それには、次の手順に従って、スナップショット・プロファイルをリフレッシュする必要があります。
次の例は、個別の間隔でリフレッシュされるテスト・マスター・データベースからスナップ・クローンを作成する方法を示しています。
テスト・マスターのストレージ・スナップショットを使用してスナップ・クローンを作成できます。この表は、ストレージ・テスト・マスターを使用したスナップ・クローンの作成に関連する手順を示しています。
表26-3 スナップ・クローンの作成 - 個別フロー
ステップ | タスク | ロール |
---|---|---|
1 |
DBaaSを有効にする「はじめに」の項の手順に従います。 |
「はじめに」を参照してください |
2 |
ストレージ・サーバーを登録します。 |
「ストレージ・サーバーの登録」を参照してください |
3 |
1つ以上のリソース・プロバイダを作成します。 |
「リソース・プロバイダの作成」を参照してください。 |
4 |
リクエスト設定を構成します。 |
「リクエスト設定の構成」を参照してください。 |
4 |
各セルフ・サービス・ユーザーの割当て制限を定義します。 |
「割当て制限の定義」を参照してください |
5 |
ストレージ・テスト・マスターを作成します。 |
「ストレージ・テスト・マスターの作成」を参照してください |
9 |
ストレージ・テスト・マスターに基づいてサービス・テンプレートを作成します。 |
「ストレージ・テスト・マスターからのサービス・テンプレートの作成」を参照してください。 |
10 |
チャージバック・サービスを構成します(この手順はオプションです)。 |
「チャージバックの構成」を参照してください。 |
11 |
作成したサービス・テンプレートを選択してデータベースをリクエストします。 |
「データベースのリクエスト」を参照してください |
12 |
ストレージ・テスト・マスターとデータベース・インスタンスをリフレッシュします。
|
次を参照してください。 |
セルフ・サービス・ユーザーは、データベース・テンプレート・プロファイルに基づいてサービス・テンプレートを選択し、データベースを作成できるようになりました。「データベースのリクエスト」を参照してください。
CloneDB機能を使用すると、様々な場所にデータをコピーすることなく、データベースを複数回クローニングできます。Oracle Databaseでは、かわりにcopy-on-writeテクノロジを使用してCloneDBデータベースにファイルを作成するため、ディスク上に追加の記憶域が必要となるのは、CloneDBデータベースで変更されたブロックのみとなります。CloneDBによって、テスト目的で必要とされる記憶域の容量を削減し、複数のデータベース・クローンを迅速に作成できます。CloneDBは、11.2.0.3以上のリリースのデータベースでサポートされます。
次の手順に従って、個別に同期されたテスト・マスターを使用することで、CloneDBデータベースを作成できます。
表26-4 スナップ・クローンの作成 - 個別フロー
ステップ | タスク | ロール |
---|---|---|
1 |
DBaaSを有効にする「はじめに」の項の手順に従います。 |
「はじめに」を参照してください |
3 |
1つ以上のリソース・プロバイダを作成します。 |
「リソース・プロバイダの作成」を参照してください。 |
4 |
リクエスト設定を構成します。 |
「リクエスト設定の構成」を参照してください。 |
5 |
各セルフ・サービス・ユーザーの割当て制限を定義します。 |
「割当て制限の定義」を参照してください |
6 |
スナップショットを使用してRMANイメージ・バックアップからデータベース・プロビジョニング・プロファイルを作成します。 |
|
9 |
作成したプロファイルに基づくサービス・テンプレートを作成します。 |
「RMANイメージ・プロファイルを使用したサービス・テンプレートの作成」を参照してください。 |
10 |
チャージバック・サービスを構成します(この手順はオプションです)。 |
「チャージバックの構成」を参照してください。 |
11 |
作成したサービス・テンプレートを選択してデータベースをリクエストします。 |
「データベースのリクエスト」を参照してください |