「VMwareクラスタを拡張したら、Oracleライセンスで想定外の費用を請求された…」
「SE2とEEが混在する環境、HA構成を組みたいけど、ライセンスの考え方が全くわからない…」
多くのITエンジニアを悩ませる、仮想サーバー環境におけるOracleライセンス。特に、データベースのEditionの違いや可用性を考慮した構成では、その複雑さは増すばかりです。
以前掲載したコラム「第5回 仮想サーバー環境におけるOracleライセンスとOracle Linux KVM」は、現在もよくアクセスされ、質問も継続的に来ています。
本記事は、そんなOracleライセンスの「応用編」。SE2/EEの違いや可用性の有無といった、より実践的な5つのシナリオを取り上げ、具体的な構成図とともに正しいライセンスの考え方とコスト最適化のヒントを徹底解説します。また、Hard Partitioningを実現する仮想化基盤Oracle Linux KVMのOracle Linux Supportについても説明します。
ただし、前回の内容が基本なので、時間がある方は前回のコラムにも目を通すことをおすすめします。なお、前回の内容を簡単に振り返れるように、冒頭にまとめを記載しました。
- 1. 仮想サーバー環境におけるOracleライセンスまとめ
- 2. ライセンス種別やEditionは統一する
- 3. 代表的な構成例
- 4. Oracle Linux KVMのサポート費用
- 5. まとめ:仮想化のメリットを最大化するためのライセンス戦略
1. 仮想サーバー環境におけるOracleライセンスまとめ
仮想サーバー環境におけるOracleデータベースライセンスのまとめを記載します。
仮想サーバー環境におけるOracleライセンスの考え方
- 仮想サーバー環境では、基盤となる物理サーバーがライセンス課金の対象になる。
- 複数の物理サーバーで構成される仮想サーバー環境では、仮想マシンが移動可能なすべての物理サーバーがライセンス課金の対象になる。ライブマイグレーションだけでなくコールドマイグレーションも含む。
Hard PartitioningとSoft Partitioningについて
- サーバー上のCPUを分割して複数のシステムとして利用することを「Partitioning(パーティショニング)」と呼び、Oracle社ではテクノロジーごとに「Hard Partitioning(ハードパーティショニング)」と「Soft Partitioning(ソフトパーティショニング)」に分類している。
- 分割した特定サーバーだけにライセンスを制限できるのはHard Partitioningだけで、Soft Partitioningではライセンスを制限できない。
- VMwareをはじめHyper-VやLinux KVMなどのx86サーバーによる仮想サーバー環境はSoft Partitioningに分類されるためライセンスを制限できない。つまり、仮想マシンが移動可能なすべての物理サーバーが対象になる。
- Hard Partitioning対象となる例外として、Oracle Linux KVMとOracle VM Serverがある。Oracle社が提供する文書に記載されている方法で特定のコアを割り当てている場合に限り、Hard Partitioningとして認定される。ただし、ピニングしている仮想マシンをライブマイグレーションしたり、Oracle Linux Virtualization Managerのスケジューリングポリシーを有効化したりすると、Hard Partitioningとして認められないので注意すること。詳細は「Hard Partitioning with Oracle Linux KVM」を参照のこと。
2. ライセンス種別やEditionは統一する
前回書いていない注意事項として、ライセンス種別やEditionを仮想サーバー環境全体で統一することが挙げられます。つまり、ライセンスが必要となるサーバーで、異なるライセンス種別やEdition、Optionは混在できません。
例えば3台の物理サーバーから構成されるVMware環境があります。このとき下図のように同一環境内でライセンスの種類やEditionを統一する必要があります。ただし、この制限はSoft Partitioning環境だけに該当します。
1.ライセンス種別のProcessorとNamed User Plus(NUP)は、どちらか一方に統一する必要があります。

2.EditionやOptionは統一する必要があります。Oracle DB EEとSE2は別製品です。そのため同一環境内では混在できません。

3. 代表的な構成例
ここでは以下の具体的な構成例を挙げて必要ライセンス数の計算方法を説明します。
- 3.1. SE2利用でSoft Partitioning
- 3.2. EE利用でSoft Partitioning
- 3.3. SE2利用でHard Partitioning環境(可用性なし)
- 3.4. SE2利用でHard Partitioning環境(可用性あり)
- 3.5. EE利用でHard Partitioning環境(可用性あり)
本記事では、仮想サーバー環境を構成する物理サーバー(物理ホスト)はすべてハイパースレッディングを有効にした環境を前提とします。また仮想マシンには、CPUを仮想CPU(vCPU)単位で割り当てます。1vCPUは1CPUスレッドであるため、8vCPUを割り当てた場合、実際には4コア/8スレッドのCPUが割り当てられていることになります。
3.1. SE2利用でSoft Partitioning環境
下記条件で必要なOracleライセンスと補足事項を説明します。
【使用条件】
- 仮想サーバー環境は2ノードのVMware環境。直接アクセス可能なネットワークに、他のVMware環境なし
- Oracle Database Standard Edition 2(SE2)のProcessorライセンスを利用

【必要ライセンス数】
VMwareはSoft Partitioning対象のため、VMwareクラスタを構成する、すべての物理ホストCPUが課金対象となります。そのため必要なOracleライセンスは以下の通りです。
- Oracle Database Standard Edition 2(Processorライセンス) × 2
Named User Plus(NUP)ライセンスの場合には、SE2ではコンピューターあたりの最少ユーザー数が10です。そのため10×2=20 NUPが最少ユーザー数となります。
【補足事項】
- 上記図ではOracle DBが稼働する仮想マシンは1台だけですが、VMwareクラスタ全体でライセンスを取得しているため、複数の仮想マシンで利用できます。
- SE2では3ソケット以上のサーバーは利用できません。この制限は実際の搭載CPU数ではなく、サーバーのソケット数です。そのため、1CPUだけ搭載している4ソケットサーバーではSE2を利用できません。
- 特定のSE2インスタンスが利用できるのは8コア/16スレッドまでです。そのため物理ホストに十分余裕があり、32vCPUの仮想マシンを作成しても、Oracleデータベースインスタンスが利用できるのは16vCPUまでです。
- ただし、上記制限はOracleデータベースのインスタンス単位の制限です。そのため同一仮想マシン内に複数インスタンスがある構成の場合には、それぞれのインスタンスで制限があるだけで、仮想マシン単位では16vCPU以上のCPUを利用できます。
3.2. EE利用でSoft Partitioning環境
下記条件で必要なOracleライセンスと補足事項を説明します。
【使用条件】
- 上記図ではOracle DBが稼働する仮想マシンは1台だけですが、VMwareクラスタ全体でライセンスを取得しているため、複数の仮想マシンで利用できます。
- 仮想サーバー環境は2ノードのVMware環境。直接アクセス可能なネットワークに、他のVMware環境なし
- Oracle Database Enterprise Edition(EE)のProcessorライセンスを利用

【必要ライセンス数】
VMwareはSoft Partitioning対象のため、VMwareクラスタを構成する、すべての物理ホストCPUが課金対象となります。そのため必要なOracleライセンスは以下の通りです。
EEはコア単位の課金なので総コア数は 16+16=32 コア。x86のコア係数は0.5なので 32×0.5=16 コアです。
- Oracle Database Enterprise Edition(Processorライセンス) × 16
Named User Plus(NUP)ライセンスの場合には、EEはProcessorあたりの最少ユーザー数が25です。そのため25×16=400 NUPが最少ユーザー数となります。
【補足事項】
- PartitioningやMultitenantなどのデータベースOptionを利用する場合には、ライセンス数をすべて一致させる必要があります。
3.3. SE2利用でHard Partitioning環境(可用性なし)
下記条件で必要なOracleライセンスと補足事項を説明します。物理サーバーに障害が発生したとき、可用性の考慮が不要の場合です。
【使用条件】
- 仮想サーバー環境は2ノードのOracle Linux KVM環境
- Oracle Linux Virtualization Managerを使用してHard Partitioningを利用可能にし、Oracle DBが稼働する仮想マシンを特定コアに割り当て(Pinning)
- Oracle Database Standard Edition 2(SE2)のProcessorライセンスを利用

【必要ライセンス数】
Hard Partitioningで仮想マシンに特定コアを割り当てるため、仮想マシンが稼働するCPUコア(vCPU)が課金対象となります。仮想マシンは1CPUを搭載した1台の物理ホストだけで稼働し、SE2はProcessor単位の課金のため、必要なOracleライセンスは以下の通りです。
- Oracle Database Standard Edition 2(Processorライセンス) × 1
【補足事項】
- VMwareを利用したSoft Partitioningでは、VMwareクラスタをまたいだ仮想マシン移行(ライブマイグレーションなど)ができるため、すべてのVMwareホストが課金対象となる可能性があります。そのためライセンスを局所的に制限するには工夫が必要ですが、Hard Partitioning環境では考慮する必要がありません。
- 仮想マシンはコアを割り当てた特定の物理ホストだけで稼働できます。
- 使用する1台の物理サーバーが32Core/64Threadの2CPU構成だった場合、仮想マシンのコア数は8Coreで、1CPU(32Core)以下に収まるため、必要ライセンス数は変わりません。
3.4. SE2利用でHard Partitioning環境(可用性あり)
下記条件で必要なOracleライセンスと補足事項を説明します。物理サーバーに障害が発生したとき、可用性の考慮が必要な場合です。
【使用条件】
- 仮想サーバー環境は2ノードのOracle Linux KVM環境
- Oracle Linux Virtualization Managerを使用してHard Partitioningを利用可能にし、Oracle DBが稼働する仮想マシンを特定コアに割り当て(Pinning)
- Oracle Database Standard Edition 2(SE2)のProcessorライセンスを利用
- 単一障害に対応するため、待機系ホストでの稼働も考慮

【必要ライセンス数】
Hard Partitioningで仮想マシンに特定コアを割り当てるため、仮想マシンが稼働するCPUコア(vCPU)が課金対象となります。仮想環境はOracle社が定めるデータ・リカバリ・ポリシーの対象外のため、待機系を含めた2ホスト分のライセンスが必要です。
ただし、SE2のライセンスは物理サーバーのCPU(CPUソケット)数でカウントします。今回2CPUサーバーを利用していますが、複数CPUのうち、1CPU分(最大32Core/64Thread)に範囲を限定して使用するため、それぞれ1 Processor分のライセンスが対象となります。必要なOracleライセンスは以下の通りです。
- Oracle Database Standard Edition 2(Processorライセンス) × 2
【待機系ライセンスおよび実現方法】
物理サーバー環境ではデータ・リカバリ・ポリシーを適用できるため年間10日以内であれば待機系での利用が認められています。しかし、仮想環境はデータ・リカバリ・ポリシーの適用外です。そのため待機系サーバーにもライセンスが必要です。
可用性の実現方法としては、主に以下の方法があります。
- LifeKeeperやPacemakerなどのクラスタソフトを導入する
- SE2のStandard Edition High Availability(SEHA)を導入する
- 仮想マシンを手動で移動する
【補足事項】
- Processor単位でライセンスを取得しているため、1ホストあたり、最大1CPU(32コア/64スレッド)の範囲でOracle Databaseを利用する仮想マシンを利用できます。
3.5. EE利用でHard Partitioning環境(可用性あり)
下記条件で必要なOracleライセンスと補足事項を説明します。物理サーバーに障害が発生したとき、可用性の考慮が必要な場合です。
【使用条件】
- 仮想サーバー環境は2ノードのOracle Linux KVM環境
- Oracle Linux Virtualization Managerを使用してHard Partitioningを利用可能にし、Oracle DBが稼働する仮想マシンを特定コアに割り当て(Pinning)
- Oracle Database Enterprise Edition(EE)のProcessorライセンスを利用
- 単一障害に対応するため、待機系ホストでの稼働も考慮。今回はOracle RACを利用

【必要ライセンス数】
Hard Partitioningで仮想マシンに特定コアを割り当てるため、仮想マシンが稼働するCPUコア(vCPU)が課金対象となります。そのため必要なOracleライセンスは以下の通りです。
EEはコア単位の課金なので総コア数は 8+8=16 コア。x86のコア係数は0.5なので 16×0.5=8 コアです。
- Oracle Database Enterprise Edition(Processorライセンス) × 8
- Oracle Real Application Cluster(Processorライセンス) × 8
【補足事項】
- SE2と同様にEEでも仮想環境なのでデータ・リカバリ・ポリシーの適用外です。
- 可用性の実現方法として今回はOracle RACを使用していますが、ほかにも以下の方法があります。
- LifeKeeperやPacemakerなどのクラスタソフトを導入する
- 仮想マシンを手動で移動する
4. Oracle Linux KVMのサポート費用
Hard Partitioningの対象となっているため、Oracle Linux KVMは現在注目を集めています。また、Oracle Linux KVMのライセンス料は無料です。
ただし、サポートを受けるにはOracle Linux Supportのサポート契約が必要です。現在下記のサポート契約があり、主に仮想サーバー環境で使用するのは、仮想マシン数に制限のないOracle Linux Premier Plusです。
- Oracle Linux Basic
- Oracle Linux Premier(2VMまで)
- Oracle Linux Premier Plus(VM無制限)
【必要サポート数】
必要なサポート契約数は、1物理サーバーあたり2CPU(CPUソケット)ごとに1つです。つまり、1CPUサーバーでも2CPUサーバーでも同じ価格です。Oracle Linux KVMクラスタを構成する複数の物理サーバーがあるときには、次の式で計算できます。
1未満切り上げ(物理サーバー1台あたりのCPU数 ÷ 2) × サーバー台数
そのため下図のような2CPUサーバーが2台構成のOracle Linux KVM環境では以下の契約が必要です。価格などは弊社のOracle Linuxページをご覧ください。
1未満切り上げ(2 ÷ 2) × 2 = Oracle Linux Premier Plus × 2

【補足事項】
- 1CPUのサーバーが2台の場合でも、必要なサポート数は変わりません。
5. まとめ:仮想化のメリットを最大化するためのライセンス戦略
本記事では、仮想環境におけるOracleライセンスの応用的な考え方を、5つの具体的な構成例と共に解説しました。最後に、ライセンスコストで失敗しないための重要なポイントを振り返りましょう。
- Soft Partitioning (VMware等) は環境全体が対象
VMが移動可能な物理サーバーはすべてライセンス対象です 。安易なクラスタ拡張は、ライセンスコストの急増に直結します。 - Soft Partitioning環境ではライセンスの混在はNG
同一環境内では、ライセンス種別 (Processor/NUP) やEdition (SE2/EE) を統一する必要があります 。 - Hard Partitioningがコスト削減の鍵
Oracle Linux KVMでHard Partitioningを利用すると、ライセンス範囲を限定してコスト削減を実現できるだけでなく、ライセンス範囲の限定化のためのネットワーク設計は不要です。 - 仮想環境のHA構成は待機系もライセンスが必要
物理サーバーの場合、特定の条件を満たせば待機系のライセンスは不要です 。しかし、仮想環境ではデータ・リカバリー・ボリシーの適用外なので、待機系のサーバーにも稼働系と同等のライセンスが必要です。
Oracleライセンスのルールは、仮想化による柔軟性やコストメリットを大きく左右します。自社のシステム構成を決定する際は、これらのポイントを念頭に置き、必ず最新の公式ドキュメントや弊社「お問い合わせ窓口」までご確認ください。