第33回:Oracle Databaseのバージョンアップとマルチテナント構成

技術者向け・データベースの技術情報発信

Oracle11gまで標準構成であった非CDB構成がOracle20c以降はサポート対象外となり、マルチテナント構成で構築する必要があります。

バージョンアップを機に従来型の非CDB構成からマルチテナント構成を検討している方に向けて、マルチテナント構成についてご紹介します。

1.Oracleサポート期限の確認を!

みなさんが現在ご利用のOracle Databaseのバージョンはいくつでしょうか?
Oracle Databaseはリリースバージョンごとにサポート期間が決められています。

●Oracle Lifetime Support Policy – Oracle Technology Products

dbexpt33_01.png

※画像は2022年8月時点の情報です

サポート期間が過ぎると、新たなパッチの提供が受けられなかったり、障害時のサポートも受けられなくなります。
現在ご利用のバージョンを確認し、期限切れまたは期限切れ間近の方はぜひバージョンアップをご検討ください。

2.従来型DB構成とマルチテナント構成

従来型のDBをご利用の方にとっては、マルチテナント構成は「どこが違うの?」「何が変わるの?」という疑問が出てくると思います。
実際、DB更改案件に携わると同様の質問をいただくことがあります。

すっかりおなじみの構成かと思いますが、従来型のDBはメモリとプロセスのまとまりであるインスタンスとデータファイル群で構成されています。

Oracle RAC構成を除き、インスタンスとデータファイル群は1:1のシンプルな構成となります。

dbexpt33_02.png

一方、マルチテナント構成では、複数のDBが存在する環境でもメモリは集約されます。
これにより、複数DBを用意する必要がある場合でも、従来型DBよりも効率よくメモリを利用することができます。

また、大きな違いはCDB(CDB$CDBROOT)が存在することでしょうか。
DB利用時は、まずCDBを起動してから利用したいPDBを起動し利用します。
作業が1つ増えることになりますが、設定によりワンステップでCDB、PDBを起動することも可能です!

dbexpt33_03.png

3.使い勝手は?

DBの構成が変わることで、起動停止を含む運用が大きく変わるのではないか?という質問をいただくことがあります。

実際に使った感想は、「多少の変更点はあったものの大きな違いは無かった」というところでしょうか。
上記の通り、ワンステップで起動/停止することもできるため、それほど不便を感じることはありませんでした。

使い勝手という意味で、私がぜひお勧めしたいのが「PDBクローン」の技術です。
PDBクローンとは、その名の通りPDBを複製することができます。
※12.1.0ではPDBを“READ ONLY”にする必要があります。

DBやアプリの開発においては、本番環境の他に開発環境やステージング環境が必要なことがありますが、マルチテナント構成では簡単に環境の複製ができます。
参考までにコマンドを記載しますが、作成はとても簡単です。

>CREATE PLUGGABLE DATABASE NEWPDB FROM ORCL1;

4.おわりに

従来型DB構成とマルチテナント構成の使い勝手に大きな違いはありませんでしたが、余程の理由がない限り、運用中の環境の構成を変えることは難しいと思います。
このような構成変更はバージョンアップやサーバ移行のタイミングに合わせて計画することを推奨します。

Oracle Databaseはバージョンアップを繰り返し、便利な機能がたくさん実装されています。
是非、計画的なバージョンアップをご検討ください。