SPA実行編――短い工数で正確にSQLをテストする:【12c対応】とにかく苦労しない「RAT」簡単攻略テクニック(4)(1/3 ページ)
とにかく大変なデータベースバージョンアップ時の「SQLテスト」。本連載では、この課題を解決するOracle Databaseのオプション機能である「Oracle Real Application Testing(RAT)」と、その一機能である「SQL Performance Analyzer(SPA)」の攻略方法を紹介していきます。今回はSPAを使った新環境側でのテストの手順を解説、加えてチューニングと再テストの方法を扱います。
ハードウェアリプレースのタイミングでOracle Databaseのバージョンアップを予定しているとしましょう。既存のSQL文が移行先で問題を起こさないかどうか、SQL Performance Analyzer(SPA)を利用すれば人手や時間をかけず、事前に検証できます。
SPAのステップは6つに分かれており、前回は、準備段階の3つのステップを説明しました(図1)。本番環境で発行されるSOEスキーマとAPPSスキーマのSQLをSQLチューニング・セット(以下、STS)に格納し、SPAを実行する新環境へインポートするところまでを押さえています。
今回は、図1の4〜6に当たる部分、SPAの実行手順について解説します。以下ではSPA実行に必要な権限(DBMS_SQLPAパッケージのEXECUTE権限)を持つSPAUSERというユーザーで実行します。
- STEP 4:1回目のSQL試行
- STEP 5:2回目のSQL試行
- STEP 6:1回目と2回目のSQL試行を比較してレポート出力
- 実行後:環境準備不足がエラーSQLを増やす可能性も
- 実行後:影響度順にソートして性能結果に優先順位を付ける
- 実行後:チューニングと再テストも一連の流れで実行可能
STEP4:1回目のSQL試行
STEP 4は「1回目のSQL試行」です。STEP 1で作成したSTSから本番環境の実行計画や性能情報の記録を抽出する工程です。Enterprise Managerを使った実行手順の解説動画をご覧ください(動画1)。
動画ではEnterprise Managerの「ガイド付きワークフロー」機能を使ってSPAを実行しています。まずはSPAのタスクを作成し、STSをひも付けします。その後、「SQL試行の作成」画面で作成方法を指定しました。「SQLチューニング・セットから作成」です(図2)。その後、1回目のSQL試行を作成します。作成方法については次回詳しく説明する予定です。
今回の「SQLチューニング・セットから作成」という設定を選択すると、STS内の実行計画や性能情報をテスト結果として抽出します。
STEP 5:2回目のSQL試行
引き続き、Enterprise Managerを使ってSPA実行ステップを進めます。「2回目のSQL試行」の実行です(動画2)。
1回目のSQL試行と同じような操作で、Enterprise Managerから2回目のSQL試行を作成できます。ただし、今回は作成方法として「SQLをローカルで実行」を選択しました(図3)。この設定では、SPAを実行しているデータベースに対してSTS内のSQLを1本1本実行し、実行計画や性能情報を記録していきます。
実際には各SQLをシリアルに2回以上(最大10回)実行します。1回目の実行はバッファにデータを載せるための実行で、性能値を記録しません。2回目以降では性能値を記録し、平均値を結果として扱います。
このステップはSQL本数が多くなるほど時間がかかります。しかし、自動実行のため作業者の工数が増えることはありません。実行時間を短縮しなければならない場合は、SQLを実行せずにパースのみを行い、実行計画の変化だけをチェックするという方法もあります。次回詳しく紹介します。
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」の次期バージョンのポイントと共に、そこにどんな狙いがあるかを振り返ります。