Database Autonomy Service (DAS) は、SQLレビュー機能を提供します。 このトピックでは、DASコンソールでSQL Review機能を使用する方法について説明します。
前提条件
管理するデータベースインスタンスがDASに接続されており、[通常アクセス] 状態になっています。
データベースインスタンスのSQL Explorerおよび監査機能が有効になっています。 詳細については、「概要」トピックの [SQLエクスプローラーと監査の有効化] セクションを参照してください。
サポートされているデータベースとリージョン
SQL Explorerおよび監査機能を使用する前に、データベースインスタンスのDAS Enterprise Editionを有効にする必要があります。 DAS Enterprise Editionの異なるバージョンは、異なるデータベースとリージョンをサポートします。 詳細については、「エディションとサポートされている機能」トピックのサポートされているデータベースとリージョンセクションをご参照ください。
特徴
SQL Review機能は、診断時間範囲およびベースライン時間範囲内のデータベースインスタンスでワークロード分析を実行し、データベースインスタンスで実行中のSQLクエリについて詳細な分析を実行します。 この機能は、インデックスの最適化とSQLの書き換えの提案を提供し、リソースを消費する上位のSQL文、新しいSQL文、失敗したSQL文、SQL機能分析、実行変動の高いSQL文、パフォーマンスの低下したSQL文、およびデータベースインスタンスのトラフィックが最も多い上位テーブルを表示します。
SQLレビュー機能は、SQL文に対してグローバルなワークロード分析を実行し、SQLサンプル、平均実行期間、実行期間の割合、実行割合、スキャンされた行の平均数、実行の合計数、および最初の発生時間を含む分析結果を表示できます。 分析結果に基づいて、データベースインスタンスに問題が発生する可能性のあるSQL文を特定できます。たとえば、過剰な量のリソースを消費したり、傾向の急激な変化を示したり、パフォーマンスが低下したり、実行に失敗したり、新しく追加されたりするSQL文などです。 次に、SQL Reviewは、これらのSQL文を分析し、最適化の提案を提供するのに役立ちます。
機能モジュール
インデックス最適化の提案: 特定の時間範囲内のテーブルのSQL文のインデックス最適化の提案を表示します。 提案には、最適化できるインデックス列、最適化のために実行できるDDLステートメント、および期待されるリターンが含まれます。
SQL書き換え提案: 非効率的に実行されるSQL文の書き換え提案を提供します。
上位SQL: リソース消費量、スキャンされた平均行数、または実行総数の点で上位10位のSQL文を表示します。 これにより、データベースのパフォーマンスを大幅に低下させるSQL文を特定できます。
追加されたSQL: 診断時間範囲内のSQL文とベースライン時間範囲内のSQL文の比較に基づいて、新しいSQL文を表示します。 これにより、SQL文の変更がビジネス要件を満たしているかどうかを確認できます。
Failed SQL: SQL ID、SQLサンプル、データベース、エラーコード、エラー数など、実行に失敗したSQL文を表示します。
SQL機能分析: SQL文の特性を分析し、すべてのSQL文の統計をその種類に基づいて表示します。
SQL with Execution Variation: スキャンされた行の平均数と実行数の変化率に基づいて、SQL文の統計を表示します。 統計には、SQLテンプレートの数、実行期間の割合、実行総数、およびさまざまな変更間隔内の実行割合が表示されます。
パフォーマンスが低下したSQL: 実行変動のあるSQL文に基づいて、平均スキャン行数、実行総数、または平均実行期間が特定の変更率を超えるSQL文を表示します。
Top Tables by Traffic: テーブル名、データベース名、SQLテンプレートの数、SQL実行の総数、SELECTステートメントの実行数、INSERTステートメントの実行数、UPDATEステートメントの実行数、DELETEステートメントの実行数、平均実行時間など、データベース内のテーブルに関する情報をトラフィックごとに表示します。
手順
にログインします。DASコンソール.
左側のナビゲーションウィンドウで、インスタンスモニター.
表示されるページで、管理するデータベースインスタンスを見つけ、インスタンスIDをクリックします。 インスタンス詳細ページが表示されます。
左側のナビゲーションウィンドウで、 を選択します。 表示されるページで、[SQLエクスプローラー] タブをクリックします。 次に、[SQLレビュー] タブをクリックします。
On theSQLレビュータブで、ビジネス要件に基づいて操作を実行します。
SQLレビュータスクの作成
[SQLレビューの作成] をクリックします。 次に、[SQLレビューの作成] パネルで、次の表に示すパラメーターを設定します。 設定が完了したら、[OK] をクリックします。
説明データベースインスタンスで同時に実行できるSQLレビュータスクは1つだけです。
パラメーター
説明
SQLレビュー名
SQLレビュータスクの名前。
データベースの選択
データベースインスタンスでSQLレビュータスクを開始するデータベース。
診断時間範囲
診断の時間範囲。
説明診断期間は、DAS Enterprise Editionが有効になっている時刻よりも後で、SQL Explorerのデータストレージ期間内に収まる必要があります。
SQLレビューの精度を確保するために、24時間を超える診断期間を選択することを推奨します。 最大時間範囲は8日で、最小時間範囲は1時間です。
同時に実行されたSQL文を複数回レビューすることはできません。
比較時間範囲
比較のためのベースライン時間範囲。
説明比較時間の範囲は、DAS Enterprise Editionが有効になっている時間よりも後である必要があり、SQL Explorerのデータストレージ期間内である必要があります。
診断時間範囲の長さは、ベースライン時間範囲の長さと同じでなければならず、2つの時間範囲は重複することはできません。
ベースライン時間範囲は、診断時間範囲より早くなければならない。
診断コンテンツ
診断用のコンテンツ。 ビジネス要件に基づいて診断の項目を1つ以上選択します。 有効な値:
インデックス最適化の提案
SQL書き換えの提案
追加されたSQL
失敗したSQL
トップSQL
SQL機能分析
SQLと実行バリエーション
トップテーブル (トラフィック別)
SQLレビュー結果の表示
ページの右上隅で、時間範囲を選択し、[検索] をクリックして、指定した時間範囲内に開始されたSQLレビュータスクを表示します。
説明時間範囲を選択するときは、終了時刻が開始時刻よりも遅く、開始時刻と終了時刻の間隔が7日を超えないようにしてください。 6か月以内にデータベースインスタンスに対して開始されたSQLレビュータスクを照会できます。
SQLレビュータスクの [操作] 列で [詳細] をクリックし、詳細なタスク結果を表示します。 詳細については、このトピックの「結果の詳細」セクションをご参照ください。
SQLレビュータスクの [操作] 列で [ダウンロード] をクリックし、タスクの結果をローカルコンピューターにダウンロードします。
SQLレビュータスクの [操作] 列で [共有] をクリックし、DASコンソールの権限を持つユーザーとタスクの結果を共有します。
[タスク名] の前にあるプラス記号 (+) をクリックして、SQLレビュータスクに含まれるサブタスクと各サブタスクのステータスを表示します。
サブタスクの詳細を表示するには、サブタスクの [操作] 列の [詳細] をクリックします。
結果の詳細
概要:
インデックス最適化の提案: テーブル名の前にあるプラス記号 (+) をクリックすると、提案の詳細、DDLステートメント、期待される戻り値列に表示される情報が表示されます。
[詳細] をクリックして、提案の詳細を表示します。
[DDLの実行] をクリックして、最適化されたDDLステートメントを実行します。
[Verify Optimization Improvement] をクリックして、インデックス最適化の提案を検証するタスクを作成します。
説明検証中、データベースインスタンスのバックアップと復元機能を使用して、選択したバックアップセットをデータベースインスタンスからシステムによって作成された新しいインスタンスに複製します。 これにより、元のインスタンスに影響を与えることなく、最適化効果を検証できます。
最適化検証タスクに請求される料金は、[復元] 機能によって作成された新しいインスタンスに請求される料金と同じです。
最適化結果が確認されたら、システムによって作成された新しいインスタンスを手動でリリースする必要があります。
SQLレビューの提案: 非効率的に実行されるSQL文に対して提供される書き換えの提案を表示します。
SQL文の [操作] 列で [最適化] をクリックします。 SQL 診断の最適化 ページで、最適化されたSQLステートメント、実行計画、および診断結果を表示します。
SQL最適化の提案を受け入れる場合は、SQL 診断の最適化 ページの右上隅にある コピー をクリックし、最適化されたSQL文をデータベースクライアントまたはDMSに貼り付けて実行します。 SQL最適化の提案を受け入れない場合は、Cancel をクリックします。
上位SQL: 上位10のリソースを消費するSQL文、スキャンされた行の最大平均数を持つ上位10のSQL文、および上位10の最も頻繁に実行されるSQL文を表示します。
SQL文の詳細を表示するには、SQL IDをクリックします。
SQL文の [操作] 列で [最適化] をクリックします。 SQL 診断の最適化 ページで、最適化されたSQLステートメント、実行計画、および診断結果を表示します。
SQL最適化の提案を受け入れる場合は、SQL 診断の最適化 ページの右上隅にある コピー をクリックし、最適化されたSQL文をデータベースクライアントまたはDMSに貼り付けて実行します。 SQL最適化の提案を受け入れない場合は、Cancel をクリックします。
追加されたSQL: 診断時間範囲内のSQL文とベースライン時間範囲内のSQL文の比較に基づいて、新しいSQL文を表示します。
SQL文の詳細を表示するには、SQL IDをクリックします。
SQL文の [操作] 列で [最適化] をクリックします。 SQL 診断の最適化 ページで、最適化されたSQLステートメント、実行計画、および診断結果を表示します。
SQL最適化の提案を受け入れる場合は、SQL 診断の最適化 ページの右上隅にある コピー をクリックし、最適化されたSQL文をデータベースクライアントまたはDMSに貼り付けて実行します。 SQL最適化の提案を受け入れない場合は、Cancel をクリックします。
Failed SQL: 実行に失敗したSQL文を表示します。
SQL文の詳細を表示するには、SQL IDをクリックします。
SQLフィーチャ分析: SQLフィーチャ分析結果を表示します。 [SQLテンプレートの数] をクリックして、SQL機能のSQLテンプレートの詳細を表示します。
[SQLテンプレートの詳細] ページで、SQL IDをクリックして、SQL文の詳細を表示します。
SQLと実行のバリエーション: スキャンされた行の平均数と実行の合計数に基づいて、異なる変更間隔内のSQL文を表示します。
[詳細] をクリックして、実行トレンドの詳細を表示します。 [実行トレンドの詳細] ページで、次の操作を実行します。
SQL文の詳細を表示するには、SQL IDをクリックします。
SQL文の [操作] 列で [最適化] をクリックします。 SQL 診断の最適化 ページで、最適化されたSQLステートメント、実行計画、および診断結果を表示します。
SQL最適化の提案を受け入れる場合は、SQL 診断の最適化 ページの右上隅にある コピー をクリックし、最適化されたSQL文をデータベースクライアントまたはDMSに貼り付けて実行します。 SQL最適化の提案を受け入れない場合は、Cancel をクリックします。
パフォーマンスが低下したSQL: 時間の経過とともにパフォーマンスが低下したSQL文を表示します。
SQL文の詳細を表示するには、SQL IDをクリックします。
SQL文の [操作] 列で [最適化] をクリックします。 SQL 診断の最適化 ページで、最適化されたSQLステートメント、実行計画、および診断結果を表示します。
SQL最適化の提案を受け入れる場合は、SQL 診断の最適化 ページの右上隅にある コピー をクリックし、最適化されたSQL文をデータベースクライアントまたはDMSに貼り付けて実行します。 SQL最適化の提案を受け入れない場合は、Cancel をクリックします。
Top Tables by Traffic: データベースで最も多くのトラフィックを生成する上位100テーブルの詳細を表示します。
テーブル名をクリックすると、テーブルのフィールドとインデックスが表示されます。
[関連SQL文] をクリックして、テーブルの関連SQLの詳細を表示します。