12cのマルチテナントは本当に“使える”機能なのか?(後編)

EnterpriseZine / 2014年2月10日 11時0分

▼300GBの非マルチテナント・データベースをPDBに移行するのに必要な時間

 前回はOracle Database 12c(以下、12c)の目玉機能であるOracle MultitenantのUnplug/Plugとクローンにおける内部動作、処理時間について解説しました。今回はOracle Multitenantのリソース制御や現行データベースからマルチテナントに移行する方法について取り上げます。

 

 ※Oracle Multitenantの概要は「連載:徹底解説!Oracle Database 12cのすべて」の中で解説していますので、併せてご参照ください。

■マルチテナントのリソース制御はどこまでできる?

 Oracle Multitenantはインスタンスやバックグラウンド・プロセスを共有しながらデータベース層でマルチテナントを実現する機能です。クラウドやデータベースの統合において集約率を高める効果が期待されますが、リソース制御というマルチテナントならではの考慮が必要になります。

 例えば同じサーバ内でA社、B社、C社のデータベースがそれぞれ稼働している場合、A社が負荷の高い処理を実行するとB社とC社にも影響が出てしまいます。このような状況を防ぐためにCPUやメモリ、I/Oといったリソースの上限を設けたり、あるいはデータベースの重要度に合わせて優劣をつけるなどの設定が必要になります。Oracle Multitenantがどのようなリソース制御に対応しているのか、また運用に合わせてどの程度柔軟に調整できるのかを理解しておかなければ、活用シーンは見えてこないでしょう。

 結論から言うと、Oracle Multitenantの機能として実装されているリソース制御は「CPU」、「I/O(Oracle Exadata Database Machineのみ)」、「パラレル実行」の3つです。メモリについてはインスタンスを共有して集約率を高めるという仕組みを採用しているため、プラガブル・データベース(PDB)単位での割り当て制御はできません。重要度の高いPDBとそうでないPDBで使用できるメモリ量に差をつけたい場合、コンテナ・データベース(CDB)を分ける必要があります。

 CPUについてはPDB単位とCDB単位の両方で制御することができ、PDB単位で制御する場合には以下のように「share」と呼ばれる比率を設定します。考え方は非常にシンプルで、例えばshareが1に設定されているPDBと2に設定されているPDBがある場合、CPU使用率が1:2の比率で調整されます。もし運用中にPDBが追加されたとしても、shareの設定値に基づいて比率が再計算されるため、ユーザがその都度設定を変更する必要はありません。

  • 前のページ
    • 1
    • 2
  • 次のページ
EnterpriseZine

この記事に関連するニュース

トピックスRSS

ランキング