
開発者がDB管理者にアプローチし、クエリが「スローダウン」している理由を尋ねると、経験豊富なDBAは自分の手で隠しx $ビューのスクリプトラッパーを取得し、すぐに開発者のフラストレーションの原因を説明します。
しかし、DBAがそれほど厳しくなければ? 彼は初心者DBAなのか、それともDBAなのか、それともベースに目を光らせているだけなのでしょうか?
これで、彼はカットの下で説明されているツールを助けます。
エンタープライズマネージャー
データベースが何をしているかを確認する最も便利な方法は、Oracle Enterprise Managerを使用することです。 むしろ、1つのデータベース、データベースマネージャーに関しては。
これは、データベースのステータスの表示、管理アクションの実行、およびデータベースの構成を可能にするWebベースのインターフェースです。
多くの人がトップアクティビティ画面を知っていると思います。

これは、データベースで現在何が起こっているかを示しています。 彼は快適で美しいです、そして、あなたは当局に彼を示すことができます:)
しかし、OEMのインストールが実用的でない場合、またはデータベースがEnterprise Managerなしで構成されている場合はどうでしょうか? これは私たちを助けます
ASHビューアー
Javaで書かれた無料の小さなグラフィカルユーティリティ。
Sourceforgeをダウンロードできます: sourceforge.net/projects/ashv
最初の起動の前に、run.sh(またはrun.bat)を編集し、JAVA_HOMEを現在のものに置き換える必要があります。 プログラムがデータベースに接続できるように、Oracle DB(ojdbc14.jar)のドライバーをlib /に配置する必要もあります。 データベースに接続するには、SID / IP /ポートとユーザー/パスワードを知っていれば十分です。 打ち上げ後、美しい写真ができました。

インターフェイスは、OEMからのトップセッションを実質的に繰り返すため、簡単に習得できます。
SQL IDにカーソルを合わせると、ツールチップにSQLテキストが表示されます。 [SQLテキスト]タブでSQLテキストを確認することもできます。

リクエストプランは、対応するタブでも利用できます。

キャッシュに関する利用可能な統計および選択された時間にあったイベント:

メトリックの各クラスのグラフを個別に確認する必要がある場合は、[詳細]タブがあります。

すべての統計はローカルに保存され、将来、ASH Viewerが起動された過去の日の統計を表示できます。

著者は、8i以降のOracle DBのサポートを約束しています。
ASH Viewerは、OEMにアクセスできず、データベースにアクセスするようにファイアウォール(またはsshトンネル)を構成できる場合に便利です。 ただし、これらの条件も常に満たされるとは限りません。 また、近くにASHVがインストールされていない場合、またはSSHのみが手元にある場合は、データベースの負荷を調べる必要があります。
終了-sqlplusなどを介して、サーバー自体を監視します。 必要なのは使用することです
モーツ
開発者が指摘しているように、この略語は(M)その他(O)f(A)ll(T)uning(S)クリプトを表します。 このスクリプトは、sqlplusコンソールから直接(および唯一)TopセッションとTop待機を監視する機能を提供します!
特定のユーザーの簡単なインストール手順の後、ユーザーはコンソールから直接同様の画像を観察できます。
+インスタンスの概要----------------------------------------------- ------------------------------ + | インスタンス:ora112 | 実行者/秒:2.0 | sParse / s:0.0 | LIO / s:219637.3 | 読み取りMB / s:0.0 | | 現在の時間:13-Aug 19:25:14 | 呼び出し/ s:0.0 | hParse / s:0.0 | PhyRD / s:0.5 | 書き込みMB / s:0.0 | | 履歴:0h 0m 26s | コミット/ s:0.0 | ccHits / s:1.5 | PhyWR / s:2.9 | REDO MB / s:0.0 | + ------------------------------------------------- ---------------------------------------------- + +トップSQL_ID(子#)----- +トップセッション-+ +トップウェイト------------------------- +待機クラス-+ | 50%| bwx4var9q4y9f(0)| 71 | | 100%| ラッチ:キャッシュバッファーチェーン| 並行性| | 50%| bq2qr0bhjyv1c(0)| 133 | | 50%| クライアントへのSQL * Netメッセージ| ネットワーク| | 50%| 799uuu8tpf6rk(0)| 6 | | | | + ------------------------------------------ + + ----- --------------------------------------------- + + TOP SQL_ID-+ PLAN_HASH_VALUE + SQL TEXT ----------------------------------------- ------------ + | bwx4var9q4y9 | 2119813036 | select / * + full(a)full(b)use_nl(ab)* / count(*)from | | | | ys.obj $ b a.name = b.nameおよびrownum <= 1000002 | + ------------------------------------------------- -------------------------------------------- + | bq2qr0bhjyv1 | 644658511 | select moats_ash_ot(systimestamp、saddr、sid、シリアル番号、| | | | audsid、paddr、er#、ユーザー名、コマンド、ownerid、taddr | + ------------------------------------------------- -------------------------------------------- + | 799uuu8tpf6r | 2119813036 | select / * + full(a)full(b)use_nl(ab)* / count(*)from | | | | ys.obj $ b a.name = b.nameおよびrownum <= 1000001 | + ------------------------------------------------- -------------------------------------------- +
幅の例を少し切り取り、記事に収まるようにしました。 使用例は著者のビデオで見ることができます:
また、次のサイトからスクリプトをダウンロードできます: www.oracle-developer.net/utilities.php確かに 、Oracleを実行するには少なくとも10gR2が必要です。
UPD :一部の機能のライセンスに関する明確化。 ASHVはデフォルトで、10gから利用可能なActive Session History(ASH)を使用します。 ASHはOracle Diagnostic Packの一部であり、使用するにはODPライセンスが必要です。
ただし、ASHVはASH機能がエミュレートされるOracle 9i(8i)もサポートしているため、10gに接続する場合、標準ベースのタイプを選択でき、10gでもASHがエミュレートされます(ただし、AWRまたはASHレポートなどの診断パック機能は使用できません) )