Database Support Blog

  • Oracle Database
2013.08.23

徹底解説!Oracle Database 12cのすべて Vol.1

徹底解説!Oracle Database 12cのすべて Vol.1

2013年7月17日、およそ5年半振りのメジャー・バージョンアップとなるOracle Database 12cの国内提供が開始されました。本連載では、500を超える新機能の中から、代表的なものをピックアップしてわかりやすく解説していきます。第1回目となる今回は、12c最大の目玉であるマルチテナント機能について解説します。


Vol.1 クラウド時代の新しいアーキテクチャ、Oracle Database 12cのマルチテナント機能

クラウドのために開発された、初めてのデータベース


Oracle Open World 2012での発表から10ヵ月、ついにOracle Database 12c(以下、12c)の国内提供が開始されました。クラウドの『c』を製品名に掲げ、コンテナ、プラガブル、マルチテナントなど、これまでのOracle Databaseにはなかった多くのコンセプトを引っさげて登場した12cには、実に500を超える新機能が実装されています。

新機能を理解しやすくするために、まずはこれまでのバージョンについて少しだけ振り返ってみましょう。Oracle Databaseは、その時代のトレンドにフィットするための機能を実装しながら進化を続けています。8iと9iではインターネット環境の大量トランザクション、大量データに対応するためにOracle Real Application Clusters(RAC)やPartitioningを実装し、10gと11gではグリッド・コンピューティングに対応するためにGrid InfrastructureやAutomatic Storage Management(ASM)を実装してきました。この流れで考えると、12cにはクラウド対応を考慮した機能が実装されているというのがイメージできるのではないでしょうか。

Oracle Database進化の歴史

Oracle Database進化の歴史

12cの主要な新機能を見てみると、データベースのマルチテナントを実現するOracle Multitenant以外にも、データ運用を自動化するAutomatic Data Optimizationや、動的なデータマスキングを行うData Redactionなど、運用を自動的かつシンプルに行える機能が実装されています。また、データロスのない災害対策構成を採るためのData Guard Far Syncや複数サイトをまとめてサービス化できるGlobal Data Servicesなど、可用性をさらに高める機能もあります。これらすべてが、Oracle Databaseがクラウド対応となるのに必要な機能なのです。

12cの主要な新機能

12cの主要な新機能

とは言え、急にクラウド対応と言われてピンと来ない方もいるかもしれません。ここで言うクラウドとは、パブリック・クラウドだけを指すのではなく、プライベート・クラウドや企業内における複数システムの統合なども含まれます。オンプレミスで稼働させる場合でも、マルチテナントによってデータベースの集約率を高めるといった使い方ができますので、多くのユーザが新機能のメリットを得られるようになっています。

マルチテナントはこうして生まれた


12cにおける最大の特徴は、データベースのマルチテナントを実現する機能が実装された点にあります。マルチテナントとは、1つのシステム上に複数のサービス(ユーザ)が同居している環境のことで、1つの建物内に複数の店舗や企業が同居している雑居ビルによく似ています。集約率が高まるので、運営側にとっては必要な資源や運用コストを削減できるというメリットがあります。利用者側にとっても、自社ビルを建築するよりはワンフロアを借りたほうが安価でビジネスを始められます。

データベースをマルチテナント化するための手法はこれまでいくつか登場しており、代表的なものとして『仮想マシンを複数作成する』、『データベースを複数作成する』、『スキーマを複数作成する』などがあります。これらのメリット、デメリットを整理すると、12cのマルチテナントが理解しやすくなります。以下は1つのサーバ上に3つのサービスを同居させた場合のイメージ図です。

データベースをマルチテナント化するための手法

データベースをマルチテナント化するための手法

サーバ仮想化は、サービスの数だけ仮想マシンを起動し、その上でさらにデータベースを起動するという手法です。OSやデータベースのバージョンが異なっていてもマルチテナント化できるというメリットはありますが、サーバの台数は減っても管理しなければならないOSやデータベースの数は変わらないため、運用管理コストを抑える効果はありません。また、仮想化によるオーバーヘッドがあるため、他の手法と比べて集約率があまり高くならないというデメリットもあります。

データベースを複数作成してマルチテナント化した場合、サーバ仮想化と比べて管理するOSの数は減りますが、データベースの数は変わりません。データベースを起動するにはインスタンスに一定のメモリを割り当てる必要があるため、集約率には限界があります。

スキーマを複数作成した場合は集約率を高めることができますが、スキーマ名が競合している場合はスキーマ統合を検討したり、アプリケーションの改修をしたりといった作業が必要になります。また、仮想化や複数データベースの場合に確保されていた分離性がなくなるため、メモリやCPUといったリソースの割り当て方法やセキュリティ対策を十分に検討しなければなりません。

このように、従来のマルチテナント手法にはメリット、デメリットがあるため、一概に正解を導き出せないという課題がありました。この状況を打破するために登場したのが、12cのOracle Multitenantと呼ばれる機能です。Oracle Multitenantは、Enterprise Editionのオプションとして提供されます。

Oracle Multitenant

Oracle Multitenant

アーキテクチャを大幅に変更


Oracle Multitenantを一言で表現すると、「データベースの中にデータベースを作成する機能」です。11g以前と比較すると、アーキテクチャが大きく変更されていることがわかります。

11g以前とのアーキテクチャ比較

11g以前とのアーキテクチャ比較

メモリ領域とバックグラウンド・プロセス群から構成されるOracleインスタンスは特に変更されていませんが、データベースがコンテナ・データベース(CDB)という名前になり、その中にあるデータ・ファイルがプラガブル・データベース(PDB)として独立しています。アプリケーションから見ると、PDBの数だけデータベースがあるように見えるという仕組みです。

1番のポイントは、PDBがいくつあってもインスタンスは1つだけというところです。PDBごとにメモリやプロセスを割り当てていたのでは、従来型のデータベースを複数作成する場合と同じで無駄なリソースを多く使用してしまいます。インスタンスを各PDBが共同利用することで、リソースを節約しようというのがOracle Multitenantの考え方なのです。こうして集約率を高め、さらにPDBとして独立性を持たせることで、スキーマ名の競合やセキュリティの見直しといった統合にありがちな課題まで、まとめて解決することができます。

12cのマルチテナントでは運用も簡単になる


Oracle Multitenantでは11g以前と比べてアーキテクチャが大きく変更されましたが、パッチ適用やアップグレード、バックアップといった運用手順はこれまでと変わりません。それどころか、むしろ簡単になる場合もあります。例えばパッチ適用やアップグレードを行う場合、PDBがいくつ作成されていたとしても、作業は1回で済みます。PDB1つひとつにパッチを適用するといった面倒な作業は必要ありません。

マルチテナントのアップグレード、パッチ適用

マルチテナントのアップグレード、パッチ適用

マルチテナントのバックアップにはRecovery Manager(RMAN)やEnterprise Manager Cloud Controlを使用します。RMANでは『BACKUP DATABASE』コマンドを実行するだけで、1度にすべてのPDBのバックアップを取得することができます。また、『PDBごとにバックアップ開始時間を変えたい』、『PDBごとにバックアップ頻度を変えたい』といった運用に対応するため、RMANに『BACKUP PLUGGABLE DATABASE』コマンドが追加されています。PDB単位でリカバリを行うこともできます。

マルチテナントのバックアップ

マルチテナントのバックアップ

さらに、プラガブル(着脱可能)という発想を活かしたユニークな機能も備わっています。作成したPDBは取り外しが可能で、別のCDBに簡単に移動させることができます。PDBは1つひとつが独立してデータを保持しているため、USBメモリのように抜き差しするだけで移動が完了します。PDBを取り外すことを『Unplug』、取り付けることを『Plug』と呼びます。

PDBのUnplugとPlug

PDBのUnplugとPlug

このUnplugとPlugは移行やバージョンアップ、パッチ適用において効果を発揮します。例えば、ハードウェアの入替えによってデータ移行が必要になる場合、これまではExport/ImportユーティリティやData Pumpなどを利用していましたが、それがUnplugとPlugだけで済むようになります。なお、バージョンアップやパッチ適用はPDBではなくCDBに対して1度行うだけで良いため、あらかじめバージョンアップ済のCDBを別の場所に用意しておけば、UnplugとPlugでバージョンが違う環境にPDBを移動させることができます。「このPDBだけは暫く旧バージョンで稼働させておきたい」という場合や、「バージョンアップした環境で問題が起きたらすぐ切り戻しをしたい」という場合にも対応できます。

また、PDBにはコピー(クローニング)機能もあり、開発やテストのために同じデータを持ったPDBを複数作成することができます。

PDBのコピー

PDBのコピー

同一のCDB内にコピーを作成できるのはもちろんのこと、ネットワーク上にある別のCDBにコピーを作成することもできます。コピーはPDBのサイズが大きいほど時間が掛かりますが、ストレージのスナップショット(Oracle ASM Cluster File System、ZFS、NetApp)に対応したコマンドも用意されているため、それらを組み合わせると短時間でコピーを作成できます。

今回はマルチテナント機能の概要についてお伝えしました。次回はマルチテナントの環境を実際に構築し、Unplug/Plugなどの操作を行いながら内部動作を解説します。


連載記事

徹底解説!Oracle Database 12cのすべて Vol.2
徹底解説!Oracle Database 12cのすべて Vol.3
徹底解説!Oracle Database 12cのすべて Vol.4
徹底解説!Oracle Database 12cのすべて Vol.5


執筆者のご紹介

岸和田 隆
ビジネス推進本部

1995年入社。Oracle Database の研修講師、フィールドサポート、新バージョンの検証を経て、2007年 自社ブランド「DODAI」の準アプライアンス製品の企画・開発、2009年 PostgreSQL、2011年 EDB Postgres、MySQL /MariaDB、2012年 Oracle Database Appliance、2016年 Delphix の事業立上を経験。 現在は「データベースのアシスト」を目指した事業戦略やプロダクトマーケティングを担当している。
趣味:フットサル、ゴルフ、スキー、キャンプ、子供のサッカーチームのカメラマン担当。...show more

アシスト関 俊洋

関 俊洋
クラウド技術本部

2006年入社。データベース・システムの構築や運用トラブルの解決といった業務を経験し、その後新製品の検証やソリューションの立ち上げを経てエバンジェリストへ。2016年にクラウド事業を立ち上げ、現在はクラウドとデータベースの二足の草鞋を履いている。...show more

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

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


■本記事の内容について
 本記事に示した定義及び条件は変更される場合があります。あらかじめご了承ください。

■商標に関して
 ・Oracle®、Java、MySQL及びNetSuiteは、Oracle、その子会社及び関連会社の米国及びその他の国における登録商標です。
 ・Amazon Web Services、AWS、Powered by AWS ロゴ、[およびかかる資料で使用されるその他の AWS 商標] は、Amazon.com, Inc. またはその関連会社の商標です。
  文中の社名、商品名等は各社の商標または登録商標である場合があります。

関連している記事

  • Oracle Database
2024.04.08

【Oracle Database】FAQで安定運用に貢献!サポートセンターのナレッジ公開の取り組み

アシストオラクルサポートセンターが公開しているFAQは、仕様に関するQAやエラー発生時の対処方法などはもちろん、不具合情報や障害発生時の情報取得方法といった安定運用に役立つ内容も扱っています。そのFAQをどのように作成しているのか、サポートセンターの取り組みをご紹介します。

  • Oracle Cloud
  • Oracle Database
2024.02.02

OCIにおけるOracle Database 11g R2、12g R1、12g R2の新規プロビジョニング終了とその影響

Oracle Databaseのバージョン11g R2、12g.R1、12g.R2は既にすべてのメーカーサポートが終了しています。OCIのBase Database Serviceでも2024年1月中旬ころから11g R2、12g R1、12g R2での新規プロビジョニングができなくなりました。

  • Oracle Database
  • その他
2023.12.21

【Oracle Database】サポートセンターでの生成AI(Glean)活用

アシストでは全社員にAIアシスタントGleanを導入しました。サポートセンターで2ヶ月間使ってみて感じた効果やメリットをお伝えします。

ページの先頭へ戻る