3分動画で分かる「SQL Performance Analyzer(SPA)」の使い方【12c対応】とにかく苦労しない「RAT」簡単攻略テクニック(2)(3/3 ページ)

» 2017年07月05日 05時00分 公開
[長内麻記株式会社アシスト]
前のページへ 1|2|3       

SPAで出力されるレポートの内容を理解する

 SPAはコマンド操作か、「Oracle Enterprise Manager(以下、EM)」(*1)から実行できます。レポートは、コマンド操作ならばテキストかHTML形式で、EMならばツール画面から確認できます(図2)(図3)。

*1:Oracle Database 12cから付属されるWebベースのツール「Enterprise Manager Database Express」の場合は、12c R2からSPAに対応しています



photo 図2 EM Cloud Control 13cで表示したSPAレポートの例
photo 図3 エラーとなったSQL文の内容

 図2の(1)にある「エラーのあるSQL文」欄に、エラーとなったSQL文とそのエラーメッセージが表示されます。図3では、Oracle Database 11gでは実行できたSQL文が、Oracle Database 12cでは「外部結合演算子の記述位置が悪い」という理由でエラーとなった例を示しています。つまりOracle Database 12cへの移行においては、このエラーメッセージを元に、前もってこのSQLを書き換えておく作業が必要、ということですね。

 図2の(2)にはSQL文のテスト結果として、「実行計画が変わらないSQL」ならばオレンジ色で、「実行計画が変わったSQL」ならば緑色のグラフで件数が表示されます。併せて、新たな環境でSQL性能が「改善」されるのか「変化なし」なのか、それとも「低下する」のかの指標が示されます。

 このグラフをクリックすると、対象となるSQL文、変更前後の実行計画、性能値の比較などの詳細情報も確認できます(図4)。

photo 図4 「実行計画が変化するSQL」の詳細を確認

 最後に、SPAで性能が低下するSQLが見つかった場合には、図2の(3)の部分に「SQLチューニング・アドバイザの実行」ボタンが出現します。これは、性能が低下したSQLに対するチューニングのアドバイスを表示する「Tuning Pack」オプションとの連携機能です。表示されたアドバイスに従ってチューニングを施した環境の再テストも一連の動作で可能です。

SPAで「SQLの機能テスト」も可能か

 SQLが“動作する”ことを確認できたら、今度は“正しい結果を返しているか”を確認する「機能テスト」も行いたいところですが、SPAでは残念ながら機能テストまではできません。ただしSPAでも、エラーの有無に加えて、「クエリによって返された行数の確認」は可能です(図5)。

photo 図5 SPAで「クエリによって返された行数」を確認

 例えば、エラーはなくても、「明らかに返された行数が少ない」などのクエリは問題がありそうだと推定できます。目視確認のための目安にはなるはずです。



 以上、今回は「SPAの使い方の基礎」を動画とレポートサンプルを使って説明しました。

 次回以降は、実際にSTSを取得するステップとSPAを本実行する手順を解説します。

筆者紹介

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

photo

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


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。