今回はマルチテナント・アーキテクチャの内部構造や、マルチテナント・アーキテクチャによりデータベースの運用管理がどのように変わるか、その概要を見ていく。

 前回解説したように、マルチテナント・アーキテクチャを使って構成したデータベース環境では、Oracleデータベース全体で共有する部分と、Pluggable Databaseそれぞれが個別に持つ部分で構成する。具体的には、メモリ領域とプロセスはデータベース全体で共有するが、表、ビュー、索引、プロシージャといったデータベースオブジェクトや、表領域やユーザーとその権限に関する情報などは、それぞれのPluggable Databaseが個別に所有する構造となっている(図1)。

図1●Pluggable Databaseの内部構造
[画像のクリックで拡大表示]

 それに伴い、Oracle Database 12cではcommon userとlocal userという2種類のユーザータイプを用意した。common userはデータベース全体に共通のユーザーであるのに対し、local userはそれぞれのPluggable Databaseに限定されたユーザーである。もう少し具体的に述べると、common userは、RootとすべてのPluggable Databaseにアクセス可能な権限を有するユーザーである。

 図1では、Pluggable DatabaseのPDB1とPDB2内にある「SYS」や「USER1」がcommon userに該当する。データベース全体で共有しているオブジェクトやメタデータを操作したい場合には、Rootへのアクセス権限が必要になるため、common userを使用する。また、Pluggable Database内にあるオブジェクトへのアクセスには、local userと呼ばれるユーザーを使用する。図1ではPDB2内にある「USER2」がlocal userに該当する。

 common userとlocal user両者の使い分けは、common userはデータベース管理者などデータベース全体を管理するユーザー、local userは個々のPluggable Databaseに格納されているデータを管理あるいは使用するユーザーであるとイメージしてもらえばよいだろう。このような2種類のユーザーを用意することで、プライベートクラウド環境を運用する際、データベース管理者はデータベース全体の構成や性能の管理にいっそう専念することができる。また、個々のPluggable Database内のオブジェクトの管理などは、それぞれのシステム担当者に委ねることができる。例えばPluggable Database単位でバックアップを実行したい場合には、local userから実行する。

 データベース統合後の環境においては、各システム(データベース)ごとにユーザーやアプリケーション側から異なる要件が求められる場合がある。その場合、local userのユーザー権限で対応する。

 Multitenant Container DatabaseおよびPluggable Databaseの管理には、オラクル製品を対象とした統合管理ツールである「Oracle Enterprise Manager 12c」が利用できる。Oracle Enterprise Managerは、アプリケーションやデータベースなどを含めたシステムの稼働状況を監視・管理する機能を備える。データベースの稼働状況をグラフなどで一元的に把握できる点、GUIにより直感的に操作できる点などが特徴である。

 複数のデータベースを統合した環境においては、データベースの数が増えるごとに運用管理の手間が増す傾向にある。そのため、マルチテナント・アーキテクチャにより統合されたデータベース環境においては、Oracle Enterprise Managerが備える管理機能が役に立つだろう。

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。