3

バックグラウンド:

ビューがビューを呼び出し、ビューがビューを呼び出しているデータベース環境があります...ロジックが複雑になり、基になるビューへの変更が、クライアント アプリケーションによって呼び出されるトップ ビューに大きな影響を与える可能性があります。

現在、すべてのロジックを文書化し、すべてを巻き戻す方法を考えていますが、開発は続き、パフォーマンスは低下し続けています。

現在、私はクライアント クエリに対して説明プランを手動で実行し、それを調整することを検討していました。これは時間のかかる退屈なプロセスであり、変化は何年にもわたって調査されない場合があります.

問題:

SQL ID をリストし、実際の時間の変化/推定行と実際の行との不一致/バッファーの変化/読み取りの変化を先月に計算された平均と比較してリストするレポートを生成したいと考えています。

通常、次のスクリプトを手動で実行し、その日の応答だけに基づいて調べます。

ALTER SESSION SET statistics_level=all;
set linesize 256;
set pagesize 0;
set serveroutput off;

-- QUERY

SELECT
    *
FROM
    table (DBMS_XPLAN.display_cursor (NULL, NULL, 'ALLSTATS LAST'));

私がやろうとしているのは、説明プランのクエリを自動化し、統計をテーブルに挿入することです。そこから、回帰レポートを実行してパフォーマンスの変化を検出し、開発者に警告することができます。

OEMに頼らなくても、このようなことは十分に一般的だと思っていました. 何も見つからないので、これに対するより一般的なアプローチがあるのだろうか?

4

3 に答える 3

4

Oracle は、自動ワークロード リポジトリを使用して、このための機能を提供します。http://docs.oracle.com/cd/E11882_01/server.112/e16638/autostat.htm

ただし、これは Enterprise Edition に追加される追加のライセンスだと思います。追加費用なしで非実稼働環境で使用できるはずですが、Oracle の営業担当者に確認してください。

于 2013-04-18T06:27:22.207 に答える