Database Support Blog

  • Oracle Database
2016.05.17

【Oracle SE2】CPUスレッド数制限の動作検証結果~その3~

SE2 RAC環境の片ノードのインスタンスが停止したらCPUスレッド数制限はどうなる?

【Oracle SE2】CPUスレッド数制限の動作検証結果~その2~ では同一サーバ内に複数のデータベースを構築したケースで、どのようにスレッド数制限が行われるか確認をしました。SE2のスレッド数制限の最終回は「Real Application Clusters(以下、RAC)環境でどのように制御されるか」を検証しましたので、その結果を紹介します。

SE2 RAC環境の片ノードのインスタンスが停止したらCPUスレッド数制限はどうなる?

Oracle JapanのFAQ" Oracle Database Standard Edition 2で制限される「CPUスレッド」とは何ですか? "には、スレッド数制限はデータベース単位で行われ、各データベースごとに使用するCPUスレッドが16(RACの場合は8)までに制限されると記載されています。

今回はこの8CPUスレッド数の制限に着目します。片方のインスタンスが停止した場合に、起動しているノードの制限が16CPUスレッドに変わる/8CPUスレッドのまま、どちらになるのかを以下の環境を使って検証を行います。

IBM Power System
POWER8 3.72GHz E850 16Core(Hyper-Treading有効)
480GBメモリ
Storwize V3700 10Krpm 900GB SAS HDD * 12
AIX 7.1
Oracle Grid Infrastructure 12.1.0.2
Oracle Database 12.1.0.2 SE2(RAC環境)

【検証 1】両ノードのインスタンスが起動した状態で、
9セッションでCPUを使用する処理を実行すると?

まずはRAC環境の場合は8CPUスレッド数で制限されることを確認します。CPUを使用する処理を行うセッションを増やしていくと、両ノードとも8CPUスレッドの制限を超えたところで「resmgr:cpu quantum」の待機イベントが発生しました。これは期待したとおりの動作です。

gv$session(制限内:7セッションがCPUを使用)

▲gv$session(制限内:7セッションがCPUを使用)

gv$session(制限超え:9セッションがCPUを使用)

▲gv$session(制限超え:9セッションがCPUを使用)

【検証 2】片ノードのインスタンスを停止した状態で、
9セッションでCPUを使用する処理を実行すると?

ここからが本番です。片ノードのインスタンスを停止した状態で起動しているノードにCPUを使用するセッションを増やしていきます。8CPUスレッド、16CPUスレッドどちらの動作となるのでしょうか。

はじめに7セッション。当然制限はかかりません。

gv$session(片ノードが停止した状態で7セッションがCPUを使用)

▲gv$session(片ノードが停止した状態で7セッションがCPUを使用)

もう2セッション追加して合計9セッション。結果は…。

gv$session(片ノードが停止した状態で9セッションがCPUを使用)

▲gv$session(片ノードが停止した状態で9セッションがCPUを使用)

うーん。実は16CPUスレッドに変わってくれることを期待していたのですが、制限は8CPUスレッドのままでした。

まとめ:縮退運転時のCPUスレッド数制限に注意

SE2のCPUスレッド制限は起動インスタンス数に関係なく、RAC環境であるかどうかがポイントのようです。制限が動的に変わらないところを見ると初期化パラメータの CLUSTER_DATABASE あたりを考慮しているのでしょうか。この記事を書いている時には検証環境を返却してしまっており、確認できませんでした。

RAC環境を構築する際には片ノードのインスタンスが意図せず停止した際、生存ノードに処理が集中してもサービスの提供が継続できるようにハードウェアリソースやデータベースの初期化パラメータなどを考慮します。SE2でRAC環境の利用を検討する場合には、シングルインスタンス以上にCPUスレッド数制限を意識する必要がありそうですね。

3回にわたってお送りした【Oracle SE2】CPUスレッド数制限の動作検証結果、いかがでしたでしょうか。ご利用環境の移行を検討するのにあたり、少しでもお役に立てば幸いです。

筆者情報

大野 高志

サービス事業部 サポートセンター

2007年にアシスト入社後、Oracle Databaseのサポート業務に従事。現在はサポートの傍ら、未解決のトラブルを一つでも多く減らせるよう、サポートセンターに蓄積されているノウハウを社内外に伝える活動を行っている。


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

■商標に関して
 ・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ヶ月間使ってみて感じた効果やメリットをお伝えします。

ページの先頭へ戻る