3 マルチテナント環境の構成と管理の概要

マルチテナント環境の構成と管理に関する基本的な概念を理解します。

この章のトピックは、次のとおりです:

マルチテナント環境の構成と管理について

Oracle Multitenantオプションを使用してマルチテナント環境を構成および管理できます。

マルチテナント環境を構成および管理する前に、特定の前提条件を満たす必要があります。そのためには、いくつかの共通タスクを実行し、一連のツールを使用してこれらのタスクを完了します。

マルチテナント・アーキテクチャを使用すると、Oracle Databaseを、ユーザーが作成した1つ以上のプラガブル・データベース(PDB)を含むマルチテナント・コンテナ・データベース(CDB)として機能させることができます。PDBは、Oracle Netクライアントに非CDBとして表示されるスキーマ、スキーマ・オブジェクトおよび非スキーマ・オブジェクトのポータブル・コレクションです。Oracle Database 12cより前のOracle Databaseはすべて非CDBでした。

この項では、次の項目について説明します。

共通ユーザーとローカル・ユーザー

共通ユーザーは、ルート、および既存と将来のすべてのPDBにおいて同じIDを持つユーザーです。

共通ユーザーは、ルートおよびCREATE SESSION権限が付与されているすべてのコンテナにログインできます。共通ユーザーが実行できる操作は、その共通ユーザーに付与されている権限によって異なります。PDBの作成やPDBの切断などの一部の管理タスクは、共通ユーザーが実行する必要があります。

CDBでは、ローカル・ユーザーもサポートされています。ローカル・ユーザーは、1つのPDBにのみ存在するユーザーです。

関連項目:

CDB管理とPDB管理の業務の分離

一部のデータベース管理者はCDB全体を管理し、他のデータベース管理者は個々のPDBを管理します。

CDB全体を管理するデータベース管理者は共通ユーザーとしてCDBに接続し、CDB全体とルートの属性、およびPDBの一部の属性を管理します。たとえば、これらのデータベース管理者は、PDBの作成、切断、接続および削除を実行できます。また、一時表領域やルートのデフォルト表領域を指定したり、PDBのオープン・モードを変更することもできます。

データベース管理者は、ローカルPDB管理者として特定のPDBに接続し、データベース管理者が非CDBで実行する管理タスクのサブセットをそのPDBで実行できます。サブセットには、PDBがアプリケーションをサポートするために必要なタスクが含まれています。たとえば、PDB内の表領域およびスキーマの管理、そのPDBの記憶域パラメータの指定、現在のPDBのオープン・モードの変更、PDBレベルの初期化パラメータの設定などのタスクがあります。

マルチテナント環境の前提条件

マルチテナント環境の前提条件を満たす必要があります。

マルチテナント環境を作成して使用する前に、次の前提条件を満たしている必要があります。

  • Oracle Database 12cをインストールします。

    インストールには、オペレーティング・システム固有の各環境変数の設定、およびソフトウェアとデータベース・ファイルのディレクトリ構造の設定が含まれます。

  • データベースの互換性レベルを少なくとも12.0.0に設定します。

関連項目:

マルチテナント環境のタスクおよびツール

マルチテナント環境で実行する一般的なタスクおよびタスクを完了するために使用するツールがあります。

この項では、次の項目について説明します。

マルチテナント環境のタスク

マルチテナント環境を使用すると、複数の目標を達成できます。一般的なタスクを実行することによって、マルチテナント環境を構成および使用できます。

これらの目標は、「マルチテナント・アーキテクチャの利点」で説明されています。そのためには、次の一般的なタスクを実行する必要があります。

タスク1   マルチテナント環境のプラン

データベースを作成および構成するには、綿密な計画が必要です。CDBには特別な注意が必要です。たとえば、CDBを計画するときは、次のことを考慮する必要があります。

  • 各CDBに接続するPDBの数

  • 計画しているCDBのサポートに必要なリソース

  • CDB全体に対してまとめて実行されるか、個別のPDBでローカルに実行されるコンテナ管理ポリシー

  • アプリケーション・コンテナとアプリケーションPDB、CDBとPDB、またはその両方の組合せで構成されるコンテナ・データベース・トポロジ

CDBの計画の詳細は、「CDB作成計画」を参照してください。

タスク2   1つ以上のCDBの作成

必要な計画を完了すると、Database Configuration Assistant (DBCA)またはCREATE DATABASE文を使用して、1つ以上のCDBを作成できます。いずれの場合も、各CDBの構成の詳細を指定する必要があります。

CDBの作成の詳細は、「DBCAを使用したCDB作成について」および「CDBの作成」を参照してください。

CDBは、作成されると、図3-1に示すようにルートおよびPDB$SEEDで構成されます。CDBルートにはOracleによって保守されるオブジェクトおよびデータ構造のみが含まれ、PDB$SEEDはクローニングのための汎用的なシード・データベースです。

図3-1 新しく作成されたCDB

図3-1の説明が続きます
「図3-1 新しく作成されたCDB」の説明
タスク3   オプションでのアプリケーション・コンテナの作成

アプリケーション・コンテナは、アプリケーション・ルートとそれに関連付けられたアプリケーションPDBから構成されるCDBのオプション・コンポーネントです。アプリケーション・コンテナには、1つ以上のアプリケーションのデータが格納されています。

次の図は、1つの空のアプリケーション・コンテナがあるCDBを示しています。

図3-2 アプリケーション・コンテナ

図3-2の説明が続きます
「図3-2 アプリケーション・コンテナ」の説明

「アプリケーション・コンテナ内のアプリケーションの概要」を参照してください。

タスク4   PDBの作成、接続および切断

PDBにはユーザー・データが含まれています。CDBの作成後、PDBを作成し、切断されたPDBをそのCDBに接続し、必要な場合はいつでもPDBをそのCDBから切断できます。CDBからPDBを切断して、このPDBを異なるCDBに接続できます。PDBのワークロードをあるサーバーから別のサーバーに移動する必要がある場合など、PDBをあるCDBから別のCDBに移動することがあります。

PDBの作成、PDBの接続およびPDBの切断の詳細は、「PDBおよびアプリケーション・コンテナの作成および削除」および「Cloud Controlを使用したPDBの作成および削除」を参照してください。

図3-3に、複数のPDBが含まれるCDBを示します。

図3-3 PDBが含まれるCDB

図3-3の説明が続きます
「図3-3 PDBが含まれるCDB」の説明

図3-4は、PDB、アプリケーション・コンテナおよびアプリケーションPDBが含まれるCDBを示しています。

図3-4 PDB、アプリケーション・コンテナおよびアプリケーションPDBが含まれるCDB

図3-4の説明が続きます
「図3-4 PDB、アプリケーション・コンテナおよびアプリケーションPDBが含まれるCDB」の説明
タスク5   CDBおよびアプリケーション・コンテナの管理および監視

CDBの管理および監視には、CDB全体、ルート、およびPDBの一部の属性の管理が含まれます。CDBと非CDBで同じ管理タスクもあれば、異なる管理タスクもあります。

アプリケーション・コンテナの管理および監視は、CDBの管理および監視と似ていますが、アクションはアプリケーション・ルートとアプリケーション・コンテナに属するアプリケーションPDBにのみ影響します。

類似のタスクおよび異なるタスクの詳細は、「CDBの作成後」を参照してください。「CDBの管理」「Cloud ControlでのCDBおよびPDBの管理」「CDBおよびPDBの監視」も参照してください。

Oracle Resource Managerを使用して、CDB内でホストされているPDB間でリソースを割り当てて管理したり、PDB内のユーザー・プロセス間でリソース使用量を割り当てて管理できます。「PDBに対するOracle Resource Managerの使用」を参照してください。

Oracle Schedulerを使用して、CDB内のジョブ、および個々のPDB内のジョブをスケジュールすることもできます。「CDBでのOracle Schedulerの使用」を参照してください。

タスク6   PDBおよびアプリケーションPDBの管理および監視

PDBまたはアプリケーションPDBの管理および監視は、非CDBの管理および監視に似ていますが、異なる点もあります。「Cloud ControlでのCDBおよびPDBの管理」「PDBの管理」および「CDBおよびPDBの監視」を参照してください。

マルチテナント環境のツール

様々なツールを使用して、マルチテナント環境を構成および管理できます。

表3-1 マルチテナント環境のツール

ツール 説明 関連項目

SQL*Plus

SQL*Plusとは、CDBおよびPDBを作成、管理および監視できるコマンドライン・ツールです。SQL文およびオラクル社が提供するPL/SQLパッケージを使用して、SQL*Plusでこれらのタスクを実行します。

SQL*Plusユーザーズ・ガイドおよびリファレンス

DBCA

Oracle Database Configuration Assistant (DBCA)は、CDBの構成、CDBの複製、PDBの作成およびクローニング、PDBの接続およびPDBの切断に使用できるグラフィカル・ユーザー・インタフェースが含まれたユーティリティです。

Oracle Database 2日でデータベース管理者Oracle Databaseインストレーション・ガイドおよびDBCAオンライン・ヘルプ

Oracle Enterprise Manager Cloud Control。

Cloud Controlとは、CDBおよびそのPDBの管理および監視に使用できるグラフィカル・ユーザー・インタフェースが含まれたシステム管理ツールです。

Cloud Controlオンライン・ヘルプ

Oracle SQL Developer

Oracle SQL Developerは、CDBの構成、PDBの作成、PDBの接続と切断、PDBの状態の変更、Oracle CloudへのPDBのクローニング、PDBのホット・クローニング/リフレッシュ、アプリケーション・ルート間でのPDBの再配置などを行うことのできるグラフィカル・ユーザー・インタフェースのあるクライアント・アプリケーションです。

また、Oracle SQL Developerには、リソース管理、記憶域、セキュリティ、構成およびCDB内のコンテナとプラガブル・データベースに関するパフォーマンス・メトリックのレポートのためのグラフィカル・インタフェースがあります。

ダウンロードとドキュメントについては、https://www.oracle.com/database/technologies/appdev/sql-developer.htmlを参照してください。

サーバー制御(SRVCTL)ユーティリティ

SRVCTLユーティリティを使用して、PDBのサービスを作成および管理できます。

「PDBのサービスの管理」

EM Express

EM Expressは、グラフィカル・ユーザー・インタフェースを持つ管理および監視ツールであり、Oracle Databaseに同梱されています。これは、CDB、ホストされる個別のPDB、またはその両方のために構成できます。このツールはPDBを管理するために使用することが意図されており、PDBのコンテキストで、アプリケーションDBAとしてアプリケーション開発を管理および監視するために使用します。

Oracle Database 2日でデータベース管理者

Oracle Multitenant Self-Service Provisioningアプリケーション

このアプリケーションを使用すると、PDBのセルフサービス・プロビジョニングが可能になります。CDB管理者は、このセルフサービス・アプリケーションへのアクセスを制御し、PDBに対する割当てを管理します。

http://www.oracle.com/goto/multitenant

アプリケーションにアクセスするには、「ダウンロード」タブをクリックして、Oracle Multitenentのダウンロード・セクションでOracle Pluggable Database Self-Service Provisioningアプリケーションを選択します。