管理者であるユーザーは、データベースのアクティビティとそのユーザーを監視できます。この情報は、チューニングやトラブルシューティングなどに使用できます。
この項の内容は次のとおりです。
SQL Developerを使用して、現在のデータベース・セッションを監視できます。これを使用すると、現在データベースにログインしているユーザーと、実行中のアプリケーションを確認できます。
また、セッションを中断することも可能で、中断すると、セッションの接続は切断され、そのリソースは放棄されます。
この項の内容は次のとおりです。
セッションを表示する手順は、次のとおりです。
SQL Developerで、「ツール」、「セッションのモニター」の順にクリックします。
「接続の選択」ダイアログ・ボックスで、SYSTEM
(または、すべてのDBA権限を持つ別のアカウント)への接続を選択します
「セッション」タブが表示されます。図8-1に、その表示の一部を示します。
詳細は、『Oracle Database管理者ガイド』のデータベース操作の監視に関する章を参照してください。
(オプション) 表示内の任意の行を右クリックして、コンテキスト・メニューのコマンドに表示される使用可能なオプションを確認します(「セッションのトレース」、「セッションの中断」、「検索/強調表示」(グリッド内で、指定したテキスト文字列が含まれる行を検索)などがあります)。
SQL Developerを使用して、データベース・セッションを中断(終了)できます。これにより、セッションを実行しているユーザーはログオフされて接続が切断されます。セッションを中断したときに、ユーザーがトランザクションを処理中であった場合、そのトランザクションはロールバックされます。
セッションの中断は、次のような理由で行います。
セッションが応答しません。
実行しようとしている管理機能では、最初にすべてのユーザーのログオフが必要であるが、ユーザーが不在でセッションを終了できない。
セッションを停止するには:
SQL Developerで、「ツール」、「セッションのモニター」の順にクリックします。
「接続の選択」ダイアログ・ボックスで、SYSTEM
(または、すべてのDBA権限を持つ別のアカウント)への接続を選択します
終了するセッションの行を右クリックして、「セッションの中断」を選択します。
上位のSQL文とは、最も多く実行されるSQL文、その他のSQL文よりも多くのシステム・リソースを使用するSQL文、またはその他のSQL文よりも頻繁にシステム・リソースを使用するSQL文を表します。SQL Developerで使用可能な上位SQL文のレポートを確認すると、データベースのパフォーマンスに最も大きな影響を与える可能性がある文のSQLのチューニング作業に焦点を絞ることができます。
SQL文のチューニングの詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。
注意: 上位SQL文のレポートに表示される一部の文は、Oracle Database XEの内部操作(自動的にスケジュールされる内部データベース・ジョブ(統計の収集ジョブなど))のものである場合があります。 |
上位SQL文を監視する手順は、次のとおりです。
SQL Developerで、「レポート」ナビゲータ・タブをクリックし、「すべてのレポート」、「データ・ディクショナリ・レポート」、データベース管理、「上位SQL」の順に階層を展開します。
「上位SQL」の下に表示されている種類別の上位SQLのレポート(バッファ取得別、バッファ取得/処理された行別、CPU別、ディスク読取り別、実行別または待機数別)のいずれかを選択します。
接続を選択するように要求された場合は、SYS AS SYSDBA
の接続を選択します(「SYSDBAでのデータベースへのログインと接続」で説明されているように、ローカル接続が自動的に作成された場合は、/as sysdba
という名前の接続です)。
使用可能な各レポートに、上位SQL文が該当のカテゴリでリストされ、各文について、SQL (SQL文)、CPU_Seconds、Disk_Reads、Executions、Buffer_gets/rows_proc、Buffer_gets/executions、Elapsed_Seconds、Moduleの情報がリストされます。
SQL Developerの「アクティブ・セッション」レポートには、アクティブ・セッションがリストされ、それぞれの現在の稼働時間が表示されるので、予想よりも非常に長い時間がかかって実行されているものが存在するかどうかを確認できます。
長時間の操作を監視する手順は、次のとおりです。
SQL Developerで、「レポート」ナビゲータ・タブをクリックし、「すべてのレポート」、「データ・ディクショナリ・レポート」、データベース管理、「セッション」の順に階層を展開します。
「セッション」の下の「アクティブ・セッション」を選択します。
接続を選択するように要求された場合は、SYS AS SYSDBA
の接続を選択します(「SYSDBAでのデータベースへのログインと接続」で説明されているように、ローカル接続が自動的に作成された場合は、/as sysdba
という名前の接続です)。
リストされた各セッションのUP_TIMEの値を確認し、希望または予想よりも長い時間がかかっていると考えられるものに注目します。