16 マルチテナント・コンテナ・データベース

CDBの使用

Visual Studioからマルチテナント・アーキテクチャを管理するには、サーバー・エクスプローラでSYSDBAとしてCDBに接続します。

接続すると、「Pluggable Databases」ノードが表示されます。表示されない場合は、SYSDBA権限がないか、データベースが12.1以降でないか、CDBではなくPDBに誤って接続している可能性があります。

このノードには、次のような状況依存メニューがあります:

  • 新規プラガブル・データベース: 「New Pluggable Database」ダイアログを開き、シードPDBに基づいて新規PDBを作成できます。この操作の最後に、一般オプション・ページでオプションを選択すると、サーバー・エクスプローラでPDBへの新しい接続が確立され、CDBでTNS接続が使用されていた場合は、PDBの接続別名がtnsnames.oraファイルに追加されます。

  • 接続: 「Plug Pluggable Database」ダイアログを開きます。このダイアログでは、XMLメタデータ・ファイルへのパス、およびCDBと同じコンピュータ上のデータベース・ファイルへのパスを受け入れます。接続すると、PDBはサーバー・エクスプローラ内の他のPDBから参照できます。PDBにはCDBと同じ文字セットが必要です。そうしないと、この操作は失敗します。

「Pluggable Databases」ノードが展開されると、PDBごとに1つずつ子「Pluggable Database」ノードが表示されます。これらの各「Pluggable Database」ノードには、次の操作を可能にするメニュー・オプションがあります。

サーバー・エクスプローラでのPDBへの接続

一般オプション・ページでオプションが有効になっている場合、新規PDBを作成するかODTを使用してPDBをクローニングすると、サーバー・エクスプローラで管理者アカウントを使用して接続が行われ、該当する場合はtnsnames.oraファイルに接続別名が追加されます。

PDBに手動で接続するには、コンテナ・データベースのホスト名、ポート番号およびデータベース・サービス名が必要です。その後、同じホスト名とポート番号と、プラガブル・データベース名の後にコンテナ・データベース・サービス名の識別子の残りが続くデータベース・サービス名を使用して、PDBに接続できます。

例: CDBが次によって識別される場合:

ホスト: myhost.oracle.com

ポート: 1521

データベース・サービス名: CONTAINERDB.oracle.com

PDBの名前はPDBORCLです。

その後、PDBは次の情報を使用して接続できます:

ホスト: myhost.oracle.com

ポート: 1521

データベース・サービス名: PDBORCL.oracle.com

PDBおよびCDBの互換性

PDBをCDBに接続するには、次の要件を満たす必要があります:

  • 同じ文字セットを使用する必要があります。

  • エンディアンが同じである必要があります。

  • PDBおよびターゲットCDBを作成した元のCDBには、同じデータベース・オプション・セットがインストールされている必要があります。

PDBが特定のCDBと互換性があるかどうかを確認するには、CDBに接続し、サーバーにコピーされたデータベース・ファイルを使用して、次のSQL*PlusスクリプトをSYSDBAとして実行します:

SET SERVEROUTPUT ON
DECLARE
  compatible CONSTANT VARCHAR2(3) :=
    CASE DBMS_PDB.CHECK_PLUG_COMPATIBILITY(
           pdb_descr_file => '<<<PDB PATH>>>',
           pdb_name       => '<<<PDB NAME>>>')
    WHEN TRUE THEN 'YES'
    ELSE 'NO'
END;
BEGIN
  DBMS_OUTPUT.PUT_LINE(compatible);
END;
/
select type, message from PDB_PLUG_IN_VIOLATIONS where name=''<<<PDB NAME>>>';

関連項目:

PDBおよびCDBの互換性の詳細は、『Oracle Database管理者ガイド』を参照してください