テックノート

  • DB(Oracle Database)
2020.05.26

20cから従来構成は非サポート!Oracle Multitenantを攻めのITとして使おう!

20cから従来構成は非サポート!Oracle Multitenantを攻めのITとして使おう!

Oracle Database 12c R1(12.1.0.1)から登場したOracle Multitenant(以降、マルチテナント)。12.1.0.2以降このマルチテナント構成が推奨となり、ついに20cから従来構成はサポート対象からはずされることが公式ドキュメントに掲載されました。「サポート対象外になるので構成を変更しなければならない」とネガティブに捉えた方も多いかと思いますが、逆にマルチテナント構成にすることで大きなメリットが得られます。本記事ではマルチテナント構成への移行を計画する上において役立つまとめ情報や、アシスト的推し機能を動画を用いてご紹介します。守りのIT(現状を維持するIT業務)ではなく、攻めのIT(新しいものを生み出したり、業務を改善するためのIT業務)として、マルチテナント機能の採用を是非ご検討ください!


サラッとおさらい!Oracle Databaseのマルチテナントとは


マルチテナントはOracle Database 12c R1でリリースされました。データベース(DB)の中にDBを作れるという新しいコンセプトで、DBの統合・集約を容易に実現できる機能です。簡単に名称のおさらいをすると、コンテナ・データベース(以降、CDB)という器となるDBの中に、プラガブル・データベース(以降、PDB)と呼ばれるDBを複数作成できます。



このPDBは、アプリケーションから見ると従来のデータベースとまったく変わらないため、PDBを利用するにあたりアプリケーションに何かしら変更を加える必要はありません。また、複数のPDBでハードウェア(H/W)、OS、DBMSを共有し、単一のインフラ上で多くのDBを稼働させることが可能となるため、リソースの無駄が排除されるという大きな利点があります。

アシストではこれまでもマルチテナントに関する記事を多数出していますので、詳しいアーキテクチャやその他のメリットは「ユーザの意見をトコトン反映した12c R2のマルチテナント 」などをご参考ください。



20cから非サポート?!マルチテナント移行のデットラインは?


マルチテナント機能で作成可能なPDB数は、Oracle Databaseのライセンスやバージョンにより異なりますが、バージョンアップに伴い機能追加がなされ、ルールも順次変化しています。これまでの過程を整理してみたいと思います。



従来構成である「非CDB構成」は12.1.0.2から非推奨となり話題になりましたが、ついに2020年にリリース予定の20cから非サポートとなることが公式ドキュメントで公開 されました。


従来不定期にリリースされていたOracle Databaseは2018年から年次リリースとなり、リリース年の下二桁が製品バージョン名として採用されています。18cは12.2.0.2、19cは12.2.0.3に相当します。また、18cからExtended Support(所定の追加料金を支払うことにより新規パッチの提供が可能な長期サポート)は特定バージョンで設定されます。

2020年3月現在、最新版の19cは12.2の最終リリースの位置づけで、Extended Supportが2026年3月まで設定されています。つまり現時点では「19cを選択することで最長2026年3月までは、非CDB構成を使い続けることが可能。その次はマルチテナント構成への移行が必須。」と言えます。

  • 2020年3月現在の情報です。サポート規定は必ずオラクル社サイトにて最新の「ライフタイム・サポート・ポリシー」をご確認ください。


バージョンアップ検討時は、サポート期間に加え、マルチテナント構成を採用するかどうかも検討する必要があります。ご注意ください。


SE2やマルチテナントオプションが無くても3PDBまでは使える!


最終リリースは製品の安定性からも多く採用される傾向にあるため、特別な制約がない限りは19cを選択する企業が多いのではないでしょうか。その19cから、マルチテナントオプションを利用していなくてもCDB当たりのPDB作成可能数が1つから3つに拡張されました。これはEnterprise Editionだけではなく、Standard Edition2にも適用されます。



マルチテナントは”統合・集約”で大きな効果を発揮する機能です。18cまで許可されていたシングルテナント(1CDBに対して1PDBの構成)では十分にそのメリットが得られない背景から、この制限緩和も大きなニュースとなりました。

アシストのお客様企業におけるデータベース構築現場では、CDB構成の割合が着実に増えています。上記のルール緩和からも、20c以降を待たずに19cでマルチテナントを採用するケースが増えるものと予想しています。

マルチテナントを採用して、最大3つのDBを統合するだけでもリソース面で大きなメリットが生じます。しかし、マルチテナントの真骨頂はDBの運用管理の効率化にあります。せっかくならマルチテナントのその優れた機能を活用し、効率よく楽に運用していただきたいので、「アシスト的推し機能」を2つご紹介します。


PDBホットクローンで業務を止めずにDBを複製!


PDBホットクローンは、オンライン操作でPDBをクローンできる機能です。12.1のPDBクローン機能ではクローン元のPDBを読み取り専用に変更する必要がありましたが、12.2からはREAD/WRITE状態のままクローンが可能となりました。この機能を使えば、「業務を止めずに本番環境と同じデータベースを作成したい」などの希望が簡単に満たせます。



本当にクローン元のDBに影響なく、実行が可能なのか?という観点で検証した内容を、次の動画にまとめていますので、是非確認してみてください。




動画内ではベンチマークツールを用いてオンライン・トランザクションをコピー元に実行し続け、PDBホットクローンを実行してみたところ、コピー元のTPSに影響なくクローンが完了したことをご確認いただけたと思います。

また、操作も CREATE PLUGGABLE DATABASE <作成するPDB名> FROM <クローン元のPDB名>; のコマンドで完了します。難しい操作は必要ありません。動画内では別のCDBからPDBをクローンしていましたが、同一のCDB内でももちろん実行可能です。

PDBホットクローンでは、コマンド実行時点のデータでクローンが作成され、コマンド実行後にクローン元のDBにリクエストされた更新は反映されません。そこで、作成後のクローンDBを最新データにしたい…というニーズを叶える機能もあります。それが次に紹介する「PDBリフレッシュ」です。


クローンDBを最新データまで更新!PDBリフレッシュ


PDBリフレッシュの利用イメージも次の動画にまとめていますので、まずはご覧ください。




動画内では、リフレッシュ・モードでクローンが完了したDBに対し、任意のタイミングで ALTER PLUGGABLE DATABASE <クローンしたPDB名> REFRESH; を実行することで、クローン元の最新の情報を反映できることを紹介しました。

これらのマルチテナントの機能を活用することで、「本番環境の最新版のデータでテストを行いたい」といった開発・検証環境でのニーズを十分満たすことができます。


マルチテナントを攻めのITとして使おう!


日常から多忙なITシステム担当者にとって「20cから非CDB構成はサポート対象外」というニュースはネガティブに感じられたのではないでしょうか。「データベースの管理」といういわば守りの業務では、「サポート対象外になるので構成を変更しなければならない」、「新しい操作や概念を学習しなければならない」、「攻めのITに費やす時間がますますなくなる」と懸念されて当然のことと思います。

しかし、今回ご紹介したクローン系の機能のように、マルチテナント機能は開発・検証環境構築の効率化に大きな効果をもたらし、攻めのITに転じることができます。「検証用DBの作成・データ移行」などの守りの業務を効率化し、業務改善につながること間違いなしです。

また、マルチテナントの真価である「統合・集約」のメリットも、まずは3PDBまでで体感してみるのはいかがでしょうか。「これならXX個はDBを統合できそうだ」と判断がつけば、マルチテナントオプション購入とハードウェア購入とで比較が具体的になりますし、マルチテナント導入によりハードウェア費用が削減できれば成果を生み出すことになるでしょう。


執筆者のご紹介

アシスト長内 麻記

長内 麻記
ビジネスインフラ技術本部

2013年入社。データベース部隊に配属後、DBシステムの構築や、新機能のハンズオンセミナーの立ち上げ、講師などを経験。「分かりやすく楽しく伝える」を目標に、Oracle Databaseの新機能や魅力を広める活動を行っている。プライベートでは、活発すぎる我が子の対応に疲弊中。

本記事をご覧いただいている方へのご案内

最後までご覧いただきありがとうございました。
本記事でご紹介した製品・サービスに関するコンテンツをご用意しています。また、この記事の他にも、IT技術情報に関する執筆記事を多数公開しておりますのでぜひご覧ください。

関連している記事

  • DB(Oracle Database)
2020.09.30

もう怖くない!Oracle Databaseのパフォーマンスダウンにこう立ち向かえ!

本記事は、Oracle Databaseの運用で独り立ちされる方を想定し、Oracle Databaseのパフォーマンスダウンが発生する前に準備しておくべきことや、パフォーマンスダウンの原因別に対策をまとめています。

  • DB(Oracle Database)
2020.01.28

Oracle OpenWorld 2019 視察記

2019年9月16~19日に開催された世界最大規模のITイベントOracle OpenWorld 2019の様子を紹介します。

  • DB(Oracle Database)
2019.09.18

超入門「PL/SQL」

Oracle Database向けにデータベース言語 SQLを拡張したプログラミング言語であるPL/SQLを理解し、活用していくための実践講座です。

ページの先頭へ戻る