米Oracle製DBMSの最新バージョン「Oracle Database 12c」の国内販売が開始された。最大の特徴である「マルチテナント・アーキテクチャ」によって、構築の仕方、リソース制御、接続の仕方、パッチ適用やバージョンアップ、バックアップの仕方がどう変わるのかを、製品担当者が解説する。

 Oracle Database 12cは、前版のOracle Database 11gのリリース以来、約5年ぶりのメジャーバージョンである。末尾の「c」はクラウドを意味する。つまり、12cは、クラウド環境のために開発されたDBMSなのである。

 12cに追加した新機能は、セキュリティ向上や高可用性のための機能など合計で約500個に上る。その中で最も重要なのが、クラウドの運用で必要となる「マルチテナント・アーキテクチャ」だ(図1)。以下ではマルチテナント・アーキテクチャについて、実際の構築・運用のイメージを通して紹介したい。

図1●Oracle Database 12cの主な新機能
エンジニアにとって最も影響のある新機能が「マルチテナント・アーキテクチャ」である
[画像のクリックで拡大表示]

11gまでとの違いは何か?
→一つのインスタンスで複数DBを稼働

 12cで採用されたマルチテナント・アーキテクチャについて、11gと比較して解説する。

 Oracle DBの実体は、「Oracleインスタンス」である。これは、メモリー領域やバックグラウンドプロセスなどから構成される。11gで複数DBを構築するには、その数と同じだけOracleインスタンスが必要だった。サーバーリソースもOracleインスタンス数に応じて必要である(図2左)。

図2●Oracle Database 12cに採用されたマルチテナント・アーキテクチャの概要
一つのOracleインスタンスに複数の仮想DBを構築できることが特徴
[画像のクリックで拡大表示]

 これに対して12cのマルチテナント・アーキテクチャでは、「マルチテナント・コンテナ・データベース(CDB)」という方式を採用している。この方式により、一つのOracleインスタンスに「プラガブル・データベース(PDB)」と呼ぶ仮想DBを複数構築できる。メモリー領域やバックグラウンドプロセスは全PDBで共有するので、サーバーリソースを最小限に抑えられる。

 CDBの構成要素をもう少し詳しく見てみよう。CDBは、ルート、PDB、シードの三つの要素からなる(図2右)。

 ルートにあるのは、PDB間で共有すべきファイル。具体的には、制御ファイル、REDOログファイル、アーカイブREDOログファイル、データファイルだ。

 PDBは仮想DBで、データファイルやユーザー情報などからなる。一つのCDBで最大252個のPDBを作成可能だ(シードとルートは除く)。

 シードは、PDBを新規作成するときに使うテンプレートである。CDB作成時に一つだけ作成される。読み取り専用のため、新規のオブジェクトを追加することはできない。

 データファイルはPDBにもルートにもある。USERSなどのユーザーのデータはPDBのデータファイルに、全PDBで共有して保持すべきデータはルートのデータファイルに格納する。CDBのデータを利用できるようにするため、PDBのデータファイルにはCDBのデータファイルへのポインタ情報を格納している。

 このようにデータを2層に分けることで、全体の運用管理に必要なデータと、個々のシステム(テナント)を管理するのに必要なデータを分け、テナントごとの独立性を保っている。

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

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