検索
連載

SPA利用のツボ! 「テストモード」「評価メトリック」の選び方【12c対応】とにかく苦労しない「RAT」簡単攻略テクニック(5)(3/3 ページ)

とにかく大変なデータベースバージョンアップ時の「SQLテスト」。本連載では、この課題を解決するOracle Databaseのオプション機能である「Oracle Real Application Testing(RAT)」と、その一機能である「SQL Performance Analyzer(SPA)」の攻略方法を紹介していきます。今回はどのテストモードを選べばよいのか、どの性能を評価すればよいのか、選定ポイントを詳しく紹介します。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

テストモードが違うと得られる結果はここが違う

 ここまで解説した内容と最終的に特定できるSQLの種類を、テストモードごとにまとめました(表2)。

表2
表2 各テストモードの内容(※を付けた項目はSTS取得環境における他の処理の影響を考慮する必要がある)

 Test Executeはデータセットが必要で、実行エラーはもちろん、実行計画の変化、性能の変化を示す全てのSQLを特定できます。

 Explain Planはデータセットが不要です。しかし性能が変化するSQLは特定できません。

 Convert SQLSETは、STS取得環境の性能情報を結果として使うため、データセットは不要ながら、性能情報を取得できます。ただし、STS取得環境という外的要因を受けた性能値だと認識した上で、評価しなければなりません。

「ローカルで実行」と「リモートで実行」の違い

 テストモードのうち、Test ExecuteとExplain Planの場合は「ローカルで実行」と「リモートで実行」の2パターンが選択できます(図2)。

 「ローカルで実行」を選ぶと、現在ログイン中のデータベースに対して実行します(図5)。これに対し、「リモートで実行」を選択するとDBLink経由でリモートのデータベースに対して実行します。

図5
図5 「ローカルで実行」と「リモートで実行」の動作の違い

 1回目のSQL試行でConvert SQLSETを選択した場合は、2回目のSQL試行でTest ExecuteまたはExplain Planをローカルで実行することになります(図6の例1)。一方、1回目も2回目もTest ExecuteやExplain Planを選びたい場合は、2回目のSQL試行でリモート実行を選択します(図6の例2)。

図6
図6 ローカルで実行とリモートで実行の使い分けイメージ

 図6の例2のパターンでは、SPA実行環境1、SPA実行環境2のどちらもデータベースが外的要因の影響を受けず、得られた性能値の結果を純粋に比較できます(ハードウェアに性能差がある場合を除く)。

 ただし例2はコストがかかります。テスト用のハードウェアを2台準備しなければなりません。さらにDBLink先のデータベースにもRATのライセンスが必要です。

 テスト実行の精度とコストをてんびんにかけ、どちらのパターンを選ぶのか、検討することをお勧めします。次回最終回では各パターンのユースケースをまとめます。SPAをコマンドで操作する方法についても解説しますので、お楽しみに。

筆者紹介

長内麻記(おさない まき)

photo

株式会社アシスト所属 入社以来、Oracle Database一筋。2017年現在はOracle Databaseのお役立ち機能を分かりやすく、楽しく伝えることを目標に活動中。10代の頃の夢は動画クリエーター。当時の知識を生かし、機能解説動画を自作することもある。好きなOracleオプションはReal Application Testing。好きな食べ物はギョーザ。


Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る