0

Oracle データベースの 1 つに、実行に時間がかかりすぎるビューがあります。ステートメントが実行されると、停止しないようです。

このビューのパフォーマンスを確認できる方法や、ステートメント セッションが「ハング」しているかどうかを確認する方法はありますか?

ありがとう、N2EE

アップデート

ビュー内の基になるクエリに問題があることに気付きました。自動トレースの修正をしてくれた Edwin に感謝します。

4

5 に答える 5

1

既存のビューの作成または置換(つまり、CREATE OR REPLACE VIEW ...ステートメントの実行)またはビューからの選択について話しているのですか。

前者の場合、セッションによってロックされている可能性があります。たとえば、誰かがビューを介して更新または削除している場合、それを置き換えることはできません。バージョンによっては、v$sessionの「BLOCKING_SESSION」列をチェックすることでブロッカーを確認できる場合があります。

後者の場合、遅いビューではなく、クエリです。ビューはほとんど無関係です。Explain計画をチェックし(できれば、v $ sqlからのsql_idでDBMS_XPLAN.DISPLAY_CURSORを使用して)、それが何をしているのかを確認します。v$session_longopsはポインタを与える場合があります。

于 2009-02-18T05:14:16.493 に答える
1

ビューを構成するクエリのパフォーマンスを確認する必要があります。これを行う最善の方法は、ビューが使用する sql ステートメントで実行計画を実行することです。これは、テーブル全体のスキャンを行っているか、それとも最適ではない動作を行っているかを示します。クエリを調整すると、ビューの動作が大幅に改善されます。

于 2009-02-18T04:26:35.547 に答える
0

問題が基になるクエリであると仮定すると、パフォーマンスの問題は、使用されているテーブルが分析されていないことが原因である可能性があります。DBMS_STATS
パッケージを 使用して、テーブルに関する Oracle の情報を更新し、クエリの速度が向上するかどうかを確認できます。

于 2009-02-18T08:59:19.447 に答える
0

スナップショット ID に基づいて AWR レポートを生成する

AWR レポートを作成する 2 つの SQL スクリプトがあります。1. awrrpt.sql Oracle データベースが 1 つしかない場合は、awrrpt.sql SQL スクリプトを実行します。

  1. awrrpti.sql 複数の Oracle インスタンス (RAC など) がある場合は、awrrpti.sql スクリプトを実行して、awr レポート作成用の特定のインスタンスを作成できるようにします。

AWR レポート SQL スクリプトの場所 $ORACLE_HOME/rdbms/admin

于 2009-11-28T09:39:47.777 に答える