トップ > DBA上級 マルチテナント > 1章
1章 マルチテナントアーキテクチャ
本章では12cの新機能であるマルチテナントアーキテクチャについて学んでいきます。

新機能 マルチテナントアーキテクチャ


Oracle 12cではマルチテナントアーキテクチャと呼ばれる、新しい機能が追加されました。

Oracleのシングルデータベースの構成はインスタンス:データベースは1:1となっています。 RAC構成の場合、インスタンス:データベースは多:1となります。
シングルDB、RAC
マルチテナントアーキテクチャは、1:多の構成をとることが出来るアーキテクチャです。


マルチテナント
インスタンスはメモリやプロセス郡である為、複数のインスタンスを構成する場合は、それなりのサーバリソースが必要でしたが、この構成であれば、 インスタンスが1つで複数のDBに対応することが出来ます。

マルチコンテナを使用するメリット

・サーバーリソース使用量の削減
- 削減することにより複数DBを1つのサーバに集約することができる

・運用コストの削減
- 分散していたDBが1つのサーバに集約される為、パッチ適用やバックアップを1つにまとめることが出来る

・データ移行の簡略化
- アンプラグ、プラグインなどの方法によりサーバ交換によるデータ移行が簡単

個人的なメリットとしては3点目が大きいと思います。今までEOSL(サーバの保守期間切れ)により、 サーバを新規にする場合、管理者は新規サーバへDBデータを移行する為に、手順を検討しアプリケーションに影響なく、データを移行する必要がありました。 しかし、マルチコンテナを使用することでこの問題が解消されます。


データ移行方式はマルチコンテナを使用すると、ほぼゼロダウンタイムでデータの移行が可能です。 こちらは後ほどご紹介します。

デメリットとしては、ライセンス費用が高いことです。マルチコンテナデータベースを使用する場合、 Enterprise Edition製品かつOracle Mulititenantオプションを購入する必要がある為、高額なライセンス費用がかかります。

マルチコンテナデータベース構成


マルチコンテナデータベースは以下のような構成となっています。


マルチテナント構成
マルチコンテナデータベースを作成すると上記のDBが作成されます。
ルートDBは管理用データベースであり、CDBと呼ばれます。

シードPDBはPDBを作成する為の雛形用のPDBです。そして複数のPDBで構成されます。

マルチテナント構成
PDBは複数作成が可能です。PDBにはユーザオブジェクトを格納します。
CDBは管理用DBであり、通常オブジェクトは作成可能ですが、
ユーザオブジェクトはPDBに作成し、管理DBとユーザDBを分けたほうが運用的にも楽です。
また各DBにSYSTEM、SYSAUX、TEMP表領域が存在しますが、UNDO、REDOログなどはCDB上にのみ存在し、PDBで生成されたREDOログやUNDOはCDB上のREDOログ、UNDOに保持されます。 ただし12cR2(12.2以降)ではローカルUNDOという新機能により各PDBごとにUNDOを構成することができるようになりました。

シードDBはPDBを作成する為のテンプレート用DBであり、読み取り専用となっています。基本的に使用することはありません。

SPFILEも1つのみとなりますが、各PDBごとにパラメータを設定できます。

本章はマルチコンテナデータベースのアーキテクチャとなります。
次章からは実際にコンテナデータベースを作成していきます。