SPA利用のツボ! 「テストモード」「評価メトリック」の選び方:【12c対応】とにかく苦労しない「RAT」簡単攻略テクニック(5)(3/3 ページ)
とにかく大変なデータベースバージョンアップ時の「SQLテスト」。本連載では、この課題を解決するOracle Databaseのオプション機能である「Oracle Real Application Testing(RAT)」と、その一機能である「SQL Performance Analyzer(SPA)」の攻略方法を紹介していきます。今回はどのテストモードを選べばよいのか、どの性能を評価すればよいのか、選定ポイントを詳しく紹介します。
テストモードが違うと得られる結果はここが違う
ここまで解説した内容と最終的に特定できるSQLの種類を、テストモードごとにまとめました(表2)。
Test Executeはデータセットが必要で、実行エラーはもちろん、実行計画の変化、性能の変化を示す全てのSQLを特定できます。
Explain Planはデータセットが不要です。しかし性能が変化するSQLは特定できません。
Convert SQLSETは、STS取得環境の性能情報を結果として使うため、データセットは不要ながら、性能情報を取得できます。ただし、STS取得環境という外的要因を受けた性能値だと認識した上で、評価しなければなりません。
「ローカルで実行」と「リモートで実行」の違い
テストモードのうち、Test ExecuteとExplain Planの場合は「ローカルで実行」と「リモートで実行」の2パターンが選択できます(図2)。
「ローカルで実行」を選ぶと、現在ログイン中のデータベースに対して実行します(図5)。これに対し、「リモートで実行」を選択するとDBLink経由でリモートのデータベースに対して実行します。
1回目のSQL試行でConvert SQLSETを選択した場合は、2回目のSQL試行でTest ExecuteまたはExplain Planをローカルで実行することになります(図6の例1)。一方、1回目も2回目もTest ExecuteやExplain Planを選びたい場合は、2回目のSQL試行でリモート実行を選択します(図6の例2)。
図6の例2のパターンでは、SPA実行環境1、SPA実行環境2のどちらもデータベースが外的要因の影響を受けず、得られた性能値の結果を純粋に比較できます(ハードウェアに性能差がある場合を除く)。
ただし例2はコストがかかります。テスト用のハードウェアを2台準備しなければなりません。さらにDBLink先のデータベースにもRATのライセンスが必要です。
テスト実行の精度とコストをてんびんにかけ、どちらのパターンを選ぶのか、検討することをお勧めします。次回最終回では各パターンのユースケースをまとめます。SPAをコマンドで操作する方法についても解説しますので、お楽しみに。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- オラクルが考えるDBインフラのクラウド化「DBaaS」とは? 実現方法と支援環境を聞く
「DBaaS(ディービーアース、Database as a Service)」実現に向けて、オラクルはどのような移行プロセスを考えているのだろうか。段階的移行の三つのステップとそれを支援する環境をどこまで用意しているのかを、米オラクルの担当者に取材した。 - アシスト、Oracle Database 12cとクラウドへの早期移行を支援する「12c R2×Oracle Cloudスタートアップキャンペーン」を実施
アシストがOracle Database 12cとOracle Cloudへの移行促進キャンペーンを実施。期間限定で環境構築や基礎機能のレクチャーなどをセットにした移行支援ソリューションを特価で提供する。実施は2017年4月30日まで。 - オラクル、「Oracle Database 12c R2」のOracle Cloud at Customer/オンプレミス向け提供を開始
データベース管理システムの最新版「Oracle Database 12c Release 2」で全ての提供形態が整った。先行提供していたパブリッククラウド向けに続き、新たにOracle Cloud at Customer向けとオンプレミス向け提供を開始した。 - オラクルが確約した「クラウド6箇条」と「Database 12c R2」の気になるトコロ
米オラクルのラリー・エリソンCTOが、同社の年次イベントで今後のクラウド事業の行方を確約する「Oracle Cloud、6つの設計目標」を掲げました。同時に発表された基幹製品「Oracle Database 12c」の次期バージョンのポイントと共に、そこにどんな狙いがあるかを振り返ります。