マルチテナントを使用する前にクリアすべき前提条件
12cで注目の機能と言えば、データベース層でマルチテナントを実現できるOracle Multitenantです。コンテナ・データベース(CDB)と呼ばれる器の中に、プラガブル・データベース(PDB)を最大252個作成でき、インスタンスやバックグラウンド・プロセスを共有することで集約率を大幅に高めることができます。
※Oracle Multitenantの概要は「連載:徹底解説!Oracle Database 12cのすべて」の中で解説していますので、併せてご参照ください。
プライベート・クラウドやデータベース統合といったシーンでの活用が期待される機能ですが、使用にあたってはいくつか前提条件があります。まずはこれらの前提条件をクリアしているか確認し、Oracle Multitenantがそもそも検討の土台に乗るものなのかを判断しましょう。
①エディションによる機能制限がある
Oracle Multitenantは、Enterprise Edition(以下、EE)で利用可能なオプションとして提供されています。EE以外のエディションでもCDBを作成することはできますが、PDBの数が1つまでに制限されており、実質「シングルテナント」の構成になります。プライベート・クラウドやデータベース統合を目的とするならば、EEの環境が必要です。
エディション | 機能制限 | PDB作成数の上限 |
Standard Edition One | 制限あり | 1 |
Standard Edition | 制限あり | 1 |
Enterprise Edition +オプション | 制限なし | 252 |
②組み合わせて使用できない機能がある
Oracle MulititenantはReal Application Clusters(RAC)やData Guardといった既存の機能と組み合わせて使用できますが、一部対応していなかったり使用が制限されている機能もあります。将来のリリースやパッチで解消されるかもしれませんが、初期リリースでは注意が必要です。
設定 | 組み合わせ可否 |
Heat Map (※1) | 使用不可 |
Automatic Data Optimizaion(※1) | 使用不可 |
フラッシュバック | 機能制限あり。PDBに対しては使用不可 |
Enterprise Manager Database Express(※2) | 各PDBに対して構成が必要。CDB全体を管理する場合、Cloud Controlが必要。 |
(※1) 12cの新機能です。概要については「こちらの資料」(日本オラクル社作成)をご参照ください。
(※2) 12cではEnterprise Manager Database Controlが廃止され、Database Expressに変更されました。
③マルチテナント化できないケースもある
Oracle Multitenantには、「PDB単位で設定できるもの」と「CDB単位で設定できるもの」があります。例えばデータベースのタイム・ゾーンはPDB単位で個別に設定できるため、マルチテナント化したとしても全く影響はありませんが、データベースのキャラクタ・セットや標準ブロック・サイズはCDB単位でしか設定できません。要件があまりに違うデータベースが存在する場合、マルチテナント化できないこともあります。その場合、CDBを分けるという選択肢も視野に入れる必要があります。
上記3つの前提条件をクリアできれば、Oracle Multitenantの採用を本格的に検討できる状態にあると言えます。最も大きな壁はエディションによる機能制限で、オプションという新規投資が必要になりますが、マルチテナント化によるハードウェアや管理コストの削減といったメリットも生まれます。Oracle Multitenantが集約率を高めるための機能であることを理解し、ソフトウェアだけではないトータル・コストで検討できるかが採用のポイントになります。