【Oracle Database 12c】Oracleライセンス「SE2」検証 CPUスレッド数制限はどんな仕組みで制御されるのか:データベースサポート最前線の現場から(12)(2/2 ページ)
データベース管理システムの運用でトラブルが発生したらどうするか。データベースサポートスペシャリストが現場目線の解決Tipsをお届けします。今回は、Oracle Database 12c(12.1)で採用されたライセンス形態「Standard Edition 2(以下、SE2)」の機能制限がどのように行われるのかを検証します。
検証結果:「Resource Manager」がスレッドを制御している
これらの検証から「インスタンス当たり、最大で16CPUスレッドまでしか同時に使えない」ようにする制限は、「Resource Manager」が掛けていることが分かりました。Resource ManagerはこれまでのSEで利用可能だった機能ですが、内部的な制御のためにSE2でも使われているようです。
20セッション時(画像2の右)は、SE2の制限を超える17スレッド以上を使用しているわけですが、内部の動きとしては、16スレッドを超えるとそれ以降は処理を行わなくなるのではなく、「同時に使用するスレッドが16まで」になるように「resmgr:cpu quantum」で待機させながら調節しているのです。ちなみに、Resource Managerはスレッド数の上限に達してから動作するため、15セッションまではresmgr:cpu quantumの待機イベントは発生しませんでした。
続いてバックグラウンドプロセスはどうでしょう。Resource Managerによる制御であることを踏まえて、バックグラウンドプロセスの「V$SESSION.RESOURCE_CONSUMER_GROUP」を確認してみます(画像3)。
一般ユーザーのセッションは「OTHER_GROUPS」ですが、バックグラウンドプロセスは「_ORACLE_BACKGROUND_GROUP_」という、異なるグループに所属していました。これまでの検証結果で「ユーザーセッションのみ」で16スレッドを占有できていることから、バックグラウンドプロセスにおいては「スレッド数制限の適用外」となるようです。
ちなみに、初期化パラメータ「RESOURCE_MANAGER_PLAN」などの変更でこの制限を無効にできないかを試してみましたが、もちろんダメでした(当たり前ですが)。
ちなみに「resmgr: cpu quantum」は、従来のSE、SE1でも自動オプティマイザ統計収集の時などに出るケースはありましたが、ともあれ「V$SESSION」や「STATSPACK」などを使ってパフォーマンス監視をしている人は、Oracle Database 12c SE2の移行後に「resmgr: cpu quantum」の待機イベントを発見してドキッとしてしまわないように、Resource Managerで制御されることを前もって認識しておく必要がありそうです。
次回はその他の疑問となる「同一サーバ内で複数のデータベースを構築している場合はどのように制御されるのか」についてを検証します。
筆者紹介
大野高志
株式会社アシスト サービス事業部 サポートセンター所属。2007年にアシスト入社後、Oracle Databaseのサポート業務に従事。現在はサポート業務の傍ら、未解決のトラブルを1つでも多く減らせるよう、サポートセンターに蓄積されている調査のノウハウを社内外に伝える活動を行っている。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 「新機能」「廃止機能」「サポート状況」から見たユーザーにとってのOracle Database 12c
Oracle Database導入を実施ならびに支援するサービスプロバイダという筆者の立場から、ユーザーにとっての新バージョンの意義を考えながら、新機能や廃止された機能などを紹介します。 - オラクルが確約した「クラウド6箇条」と「Database 12c R2」の気になるトコロ
米オラクルのラリー・エリソンCTOが、同社の年次イベントで今後のクラウド事業の行方を確約する「Oracle Cloud、6つの設計目標」を掲げました。同時に発表された基幹製品「Oracle Database 12c」の次期バージョンのポイントと共に、そこにどんな狙いがあるかを振り返ります。 - オラクルのエリソン会長、「Oracle Database」最新版や多数のクラウドイノベーションを発表
米オラクルのラリー・エリソン氏は「Oracle OpenWorld 2016」の開幕基調講演を行い、同社のクラウドコンピューティングプラットフォーム全般にわたる多くのイノベーションを披露した。 - 【Oracle Database】忘れていませんか? 「アラートログ調査」に必要な、たった3つのキホン
データベース管理システムの運用でトラブルが発生したらどうするか。データベースサポートスペシャリストが現場目線の解決Tipsをお届けします。今回は基本編として「アラートログの調査で押さえるべき3つのポイント」を解説します。【Oracle Database 12c対応版】 - Oracle運用の基本「ログ」を理解しよう
本連載では、Oracle Database運用の鍵となるトラブル対処法について紹介していきます。第1回、第2回では情報収集の要となるログについて見ていきます。ログの出力情報は10gと11gとでは大きく異なる点がありますので、それぞれについても確認しておきましょう。 - カーソル・エラーとオブジェクトの問題切り分け
Oracleデータベースの運用管理者は、突発的に直面するパフォーマンス障害にどうやって対処したらよいか。本連載は、非常に複雑なOracleのアーキテクチャに頭を悩ます管理者に向け、短時間で問題を切り分け、対処法を見つけるノウハウを紹介する。対象とするバージョンはOracle8から9iまでを基本とし、10gの情報は随時加えていく。(編集局) - IF文のネスト地獄から抜け出せるMERGE文