このチュートリアルでは、Oracle Enterprise Manager Database Consoleを使用して、SQL文のリアルタイム監視を行う方法について説明します。
約30分
このチュートリアルでは、以下について説明します。
| 概要 | ||
| 前提条件 | ||
| 長時間実行される文の設定 | ||
| 監視対象のSQL実行の表示 | ||
| 監視対象のSQL実行の詳細表示 | ||
| 追加ページのレポート、セッション、SQLの表示 | ||
| クリーンアップ | ||
| まとめ | ||
このアイコンの上にカーソルを置くと、すべてのスクリーンショットがロードし、表示されます。 (警告:すべてのスクリーンショットが同時にロードされるため、ご使用のインターネット接続によってはレスポンス・タイムが遅くなる場合があります。)
注:各手順に関連したスクリーンショットのみを表示する場合は、それぞれの手順にあるアイコンの上にカーソルを置いてください。 スクリーンショットをクリックすると、非表示になります。
Oracle Database 11g Release 2では、SQL監視機能に新しいグラフィカル・インタフェースが搭載されています。 このグラフィカル・インタフェースは、Oracle Grid Controlに加え、Enterprise Manager Database Controlからも使用可能です。 デフォルトでは、SQLコマンドがパラレルで実行された場合、またはSQL文が1度の実行でCPU時間やI/O時間を5秒以上消費した場合に、SQLの監視が自動的に開始されます。
監視が開始されると、V$SQL_MONITORという動的パフォーマンス・ビューにエントリが追加されます。 このエントリは、実行時に収集されるキー・パフォーマンス・メトリックを追跡します。このメトリックには、経過時間、CPU時間、読取りと書込みの回数、I/O待機時間、その他のさまざまな待機時間が含まれます。 これらの統計は、コマンド実行時にほぼリアルタイムで(通常は1秒に1回)リフレッシュされます。
実行が完了しても監視情報はすぐに削除されず、1分間以上V$SQL_MONITORビューに保存されます。 最終的にエントリは削除されるため、新しいコマンドの監視時に領域を再利用できます。
このチュートリアルを始める前に、次の手順を完了している必要があります。
| 1. | Oracle Enterprise Manager Database Consoleが稼働中であり、Webブラウザからアクセス可能であることを確認します。 この確認は、ターミナル・ウィンドウで、oracle OSユーザーとして次のコマンドを入力することにより行えます。 emctl status dbconsole
ホスト名とポートを確認してください。 後の手順で使用します。
|
|
| 2. | このチュートリアルの実行に必要なファイルを含む作業ディレクトリに、sqlmoni.zipファイルをダウンロードして解凍します。
|
|
このチュートリアルでは、MONI_TBS表領域(100MB)、MONI DBAユーザー、およびMONI_TEST表を作成する必要があります。
注:ここでは、演習目的から逸れないように、簡単で覚えやすいパスワードを使用します。 実際の開発環境や本番環境では、『Oracle Databaseセキュリティ・ガイド』のガイドラインに従って、強力なパスワードを使用してください。ここでは、SYSユーザーにはoracle、MONIユーザーにはmoniをパスワードとして使用します。
以下の手順に従います。
| 1. | 作業ディレクトリに移動します。 SQL*Plusを起動します。 sysユーザーとしてログインし、moni_setup.sqlスクリプトを実行します。 sqlplus / as sysdba @moni_setup
このSELECT文を実行している間、このチュートリアルを続行します。 |
|
注:以下のスクリーンショットとはタイミングが異なる場合があります。
Enterprise Manager Database Controlのインタフェースで長時間実行されるSQL文を表示するには、以下の手順を実行します。
| 1. | Webブラウザを開き、以下の形式でURLを入力します。
Oracleクラスルーム環境では、Webサイト証明書についてのセキュリティ警告が表示される場合があります。この警告は、新しくインストールされたサーバーを使用するために発生します。 証明書を承認(可能であれば永続的に承認)するか、要求された場合はWebサイトの例外に追加します。 表示されるメッセージ(およびウィンドウ数)は、ご使用のブラウザによって異なります。
|
| 2. | Oracle Enterprise Manager 11g Database Control Loginページで、User Nameにsys、Passwordにパスワードを入力します。Connect Asドロップダウン・リストから「SYSDBA」を選択し、「Login」をクリックします。
|
| 3. | 長時間実行されるSQL文を表示するには、以下の手順を実行します。 a. 「Performance」タブ・ページをクリックします。
b. システム・アクティビティが表示されます。 実際に表示されるグラフはこのグラフとは異なります。
c. ページの下までスクロールし、Additional Monitoring Linksセクションの「SQL Monitoring」をクリックします。
d. Monitored SQL Executionsページが表示されます。
|
SQL実行の詳細を表示するには、以下の手順を実行します。
| 1. | Monitored SQL Executionsページで、SQL IDのリンクをクリックします。
|
| 2. | Monitored SQL Execution Detailsページが表示されます。
ページの一番上に、Overview情報が表示されます。 右側のビューの一番上に、IO & Wait Statisticsが表示されます。
|
| 3. | Detailsセクションには、最低2つのタブ・ページ(Plan StatisticsとActivity)があります。 問合せのパラレル実行を行っている場合は、Parallelタブ・ページも含まれます。
右側に、Plan Statisticsページの詳細が表示されます。
|
| 4. | 「Activity」タブ・ページをクリックします。
このグラフには、SELECT文ですべてのCPUリソースを使用していることが表示されています。
|
追加の監視情報を表示するには、以下の手順を実行します。
| 1. | Monitored SQL Execution Detailsページで、右上の「View Report」をクリックします。
|
| 2. | SQL Monitoring Reportに、先ほどグラフィック・ページに表示されたのと同じ情報が表示されます。 下方向にスクロールします。
|
| 3. | 一番下に、SQL Plan Monitoring Detailsが表示されます。 「OK」をクリックします。
|
| 4. | Monitored SQL Executionsページで、セッションのリンクをクリックして現在のユーザーのセッション情報を表示します。
|
| 5. | セッション情報を確認します。
タブ・ページがいくつか表示されます。 セッション情報を確認したら、右側の「SQL Monitoring」タブ・ページをクリックします。
|
| 6. | SQL IDのリンクをクリックして、Monitored SQL Execution Detailsページに戻ります。
|
| 7. | SQLの詳細を表示するには、Monitored SQL Execution DetailsページでSQL IDのリンクをクリックします。
|
| 8. | SQLの詳細を確認します。
完了したら、ページ右上の「Logout」をクリックします。 |
環境をクリーンアップするには、以下の手順に従います。
| 1. | 長時間実行される問合せが完了したら、SQL*Plusセッションに戻ります。 SYSDBAとして接続し、次のmoni_cleanup.sqlスクリプトを実行します。 connect / as sydba @moni_cleanup
|
このチュートリアルでは、Enterprise Manager Database Controlを使用して、SQL文の実行をリアルタイムで表示する方法を学習しました。
このアイコンの上にカーソルを置くと、すべてのスクリーンショットが非表示になります。