データベース管理システムの運用でトラブルが発生したらどうするか。データベースサポートスペシャリストが現場目線の解決Tipsをお届けします。Oracleの新ライセンス形態「Standard Edition 2」の機能制限がどのように行われるのか、今回は「Oracle RAC環境の場合のCPUスレッド数制限」を検証します。
前回、前々回と、Oracle Databaseの新ライセンス体系「Standard Edition 2(SE2)」で多くのデータベース管理者が気になる、「CPUスレッド数の制限」がどう制御されているのか、その仕組みを検証してきました。
今回はその続きとして、「スレッド数の制限は、Oracle Real Application Clusters(以下、Oracle RAC)環境ではどのように制御されるのか」を検証します。
Oracleの新ライセンス体系「SE2(Standard Edition 2)」におけるCPUスレッド数は、シングルインスタンス環境ではデータベース単位で「16」まで、Oracle RAC環境では「8」までに制限されます。
Oracle RACは、ロードバランス(負荷分散)型のクラスタリング構成をOracle Databaseで実現し、冗長性を確保する方式です。では、2クラスタのOracle RAC構成で運用しているシステムで片方のインスタンスが停止したとしたら、他方のインスタンスのCPUスレッド数制限はどうなるのでしょう。「8」のままなのでしょうか、それともシングルインスタンスになるので「16」に変わるのでしょうか。以下の環境で検証してみましょう。
まず、Oracle RAC環境ではCPUスレッドが「8」で上限に達することを確認します。前回、前々回と同様にCPUを使うセッションを増やしていくと、両ノードともセッション数が8を超えたところで「resmgr:cpu quantum」の待機イベントが発生しました。規定動作の通りです(画像1〜2)。
続いて、片方のノードを停止して同様に検証してみます(画像3〜4)。
7セッションならば、もちろん制限は掛かりません。しかし、制限を超える9セッションに増やすと「resmgr:cpu quantum」の待機イベントが発生しました。
片側のノードを停止したことで、システムとしてはシングルインスタンスと同じ状態なのですが、残念ながら上限が「16」に変わるわけではありませんでした。
Copyright © ITmedia, Inc. All Rights Reserved.