Oracle Database プラットフォーム・ガイド 10gリリース2(10.2) for Microsoft Windows(32-bit) B25020-03 |
|
この章では、Oracle Database for Windowsを監視する方法について説明します。
この章の項目は次のとおりです。
表6-1では、Oracle Databaseを監視するためのツールについて説明します。
ツール | 機能 |
---|---|
Oracle Counters for Windows Performance Monitor |
CPUの使用量、バッファ・キャッシュ、バックグラウンド・プロセスなどのデータベース・オブジェクトを監視します。 |
イベント ビューア |
データベース・イベントを監視します。 |
トレース・ファイル |
データベース操作の発生状況と例外を記録します。 |
アラート・ログ |
データベース操作中のエラー・メッセージと例外についての重要な情報を記録します。 |
Oracle Enterprise Manager Database Management Pack |
リアルタイムのグラフィカルなパフォーマンス情報が表示されるツールを使用して監視およびチューニングします。 関連資料: 詳細は、Oracle Enterprise Managerのマニュアルを参照 |
Oracle Administration Assistant for Windows |
Oracleスレッドに関する情報の表示やスレッドの終了を行います。 |
Oracle Counters for Windows Performance Monitorは、ローカル・サーバーまたはネットワークの他のサーバー上のOracle Database for Windowsオブジェクトのパフォーマンスを測定するグラフィカル・ツールです。Oracle Databaseのパフォーマンス要素が組み込まれている点を除けば、Windowsのパフォーマンス モニタと、外観と操作は同じです。
各コンピュータでは、バッファ・キャッシュ、データ・ディクショナリ・キャッシュ、データファイル、スレッド、プロセスなどのオブジェクトの動作を確認できます。オブジェクトは、システム内の要素をグラフィカルに表示したものです。システム内の要素、リソースおよびデバイスは、それぞれオブジェクトとして表すことができます。
注意
Oracle Counters for Windows Performance Monitorを使用してOracle固有のカウンタを表示するには、 |
各オブジェクトには一連のカウンタが対応付けられています。カウンタとは、パフォーマンス モニタがアクティビティを表示するために使用する測定単位です。カウンタが測定するアクティビティの種類は、オブジェクトの種類(タイプ)に依存します。
特定のオブジェクト・タイプとそれに対応するカウンタが、すべてのシステムにあります。アプリケーション固有のカウンタなどのその他のカウンタは、対応付けられたアプリケーションが実行されるときのみ表示されます。
それぞれのオブジェクトには一連のカウンタが対応付けられており、デバイスの使用状況、キューの長さ、遅延状況などに関する情報や、スループットおよび内部混雑を測定するために使用される情報を提供します。
Oracle Counters for Windows Performance Monitorをインストールすると、レジストリに第14章「パラメータおよびレジストリの構成」で説明されている値が自動的に設定されます。
Oracle Counters for Windows Performance Monitorでは、一度に監視できるデータベース・インスタンスは1つのみです。このため、レジストリに次の値が含まれます。
これらの値を変更するには、operfcfgを使用します。それぞれのレジストリ値にセキュリティ・レベルを設定することをお薦めします。
Oracle Counters for Windows Performance Monitorを、同じコンピュータまたはUNIXコンピュータの別のデータベース・インスタンスに対して使用する場合は、レジストリの値をそれに合せて変更します。tnsnames.ora
ファイルに指定されている別のコンピュータを指すようにレジストリのHostname
値を変更すると、Windows版ではないOracle Databaseを監視することもできます。
Oracle Counters for Windows Performance Monitorにアクセスするには、次のようにします。
「スタート」→「プログラム」→「Oracle - HOME_NAME」→「Configuration and Migration Tools」→「Oracle Counters for Windows Performance Monitor」を選択します。
Oracle Counters for Windows Performance Monitorでは、「表示」メニューで次の4種類のビューを選択できます。
各ビューに対して、監視するオブジェクト、各オブジェクトに使用するカウンタおよびビューのグラフィカル属性を決定できます。オブジェクトを選択すると、カウンタと色が割り当てられ、Oracle Counters for Windows Performance Monitorの一番下にあるステータス・バーに追加されます。
ビューにオブジェクトを追加するには、次のようにします。
「グラフへ追加」ダイアログ・ボックスが表示されます。
データまたはOracle Databaseオブジェクトがまったく表示されない場合は、Oracle Databaseが稼働していないか、入力されたホスト文字列またはパスワードが無効です。データベースが起動していない場合は、Oracle Counters for Windows Performance Monitorを終了してからデータベースを起動し、Oracle Counters for Windows Performance Monitorを再起動します。
監視対象として選択したオブジェクトが表示されます。
Oracle Counters for Windows Performance Monitorで監視できるOracle Databaseシステム・リソースはすべて、Oracle Databaseで始まります。この項では、Oracle Databaseオブジェクトの一覧を示し、それに対応するカウンタについて説明します。これらの単位は、次のファイルで定義されています。
ORACLE_BASE¥ORACLE_HOME¥dbs¥PERFver.ora
カウンタは、「phyrds/gets %」(物理的読込み/取得)です。物理的読込み/取得の割合は、ミス率として計算されます。ミスのカウンタの値が低いほど、よい状態です。パフォーマンスを上げるには、コンピュータでメモリーが使用可能な場合は、バッファ・キャッシュ内のバッファ数を増やします。この値は、時間に基づいて算出される値ではありません。
カウンタは、「redo log space requests」(REDOログ領域要求)です。このカウンタの値は、0に近い値である必要があります。この値が継続して増加する場合は、REDOログ・バッファ内の領域を探すためにプロセスが待機していることを示しています。この場合、REDOログ・バッファのサイズを大きくすることが必要な場合があります。
カウンタは、「getmisses/gets %」(取得ミス/取得)です。頻繁にアクセスされるデータ・ディクショナリ・キャッシュでは、このカウンタの値は10%または15%未満に抑える必要があります。アプリケーション実行中にこの割合が継続的にしきい値を超える場合は、データ・ディクショナリ・キャッシュで使用可能なメモリーのサイズを大きくします。
キャッシュで使用できるメモリー・サイズを大きくするには、初期化パラメータSHARED_POOL_SIZE
の値を増やします。この値は、時間に基づいて算出される値ではありません。
カウンタは、「reloads/pins %」(再ロード/確保)です。これは、再解析を必要とするSQL文、PL/SQLブロックおよびオブジェクト定義の割合です。再ロードの合計は0に近い数である必要があります。確保に対する再ロードの割合が1%を超える場合は、ライブラリ・キャッシュ・ミスを減らします。この値は、時間に基づいて算出される値ではありません。
カウンタは、「phyrds/sec」(物理的読込み/秒)および「phywrts/sec」(物理的書込み/秒)です。これらの値は、時間に基づいて算出されます。複数のプロセスが同じディスクに同時にアクセスしようとすると、ディスクの競合が発生します。ディスク監視アクティビティの結果に応じて、対応措置には次のようなものがあります。
「buffers scanned/sec」(スキャン済バッファ/秒)および「LRU scans/sec」(LRUスキャン/秒)という2つの使用可能カウンタは、バッファ・キャッシュのチューニングに役立ちます。スキャン済バッファ/秒は、DBWRによって1秒間にスキャンされるバッファの数です。スキャンされるバッファは、LRU(最低使用頻度)リスト内にあります。LRUスキャン/秒は、DBWRによって、LRU(最低使用頻度)バッファ・リストが1秒間にスキャンされた回数です。
「timeouts/sec」(タイムアウト/秒)および「checkpoints/sec」(チェックポイント/秒)という2つの使用可能カウンタは、DBWRが実行を要求されている作業量の判断に役立ちます。タイムアウト/秒は、DBWRが1秒間にタイムアウトをする回数です。DBWRのタイムアウトは、3秒間隔です。DBWRが3秒間通知されない場合、タイムアウトします。
チェックポイント/秒は、データベース・ライターによって1秒間に処理されるチェックポイント・メッセージの数です。チェックポイントに達するたびに、使用済バッファをディスクに書き込むように求めるメッセージがDBWRに送られます(ポストされます)。
カウンタは、「recursive calls/sec」(再帰的コール/秒)です。動的拡張により、ユーザー・プロセスによって発行されたSQL文以外のSQL文もOracle Databaseによって実行されます。これらのSQL文は、再帰的コールと呼ばれます。
アプリケーション実行中に、Oracle Databaseによって過剰な再帰的コールが実行される場合は、問題の原因を突き止める必要があります。再帰的コールの統計は、動的パフォーマンス表V$SYSSTAT
で調べます。
カウンタは、「free list waits/requests %」(空きリスト待機/要求)です。空きリストの競合は、バッファ・キャッシュ内の空きデータ・ブロックの競合により影響されます。V$WAITSTAT
を問い合せれば、空きリストの競合によりパフォーマンスが低下しているかどうかを判断できます。
空きブロックを待機する空きリストの数が、要求されている処理の合計数の1%を超える場合は、空きリストをさらに追加して競合を減らすことを考慮してください。
使用可能カウンタは、「sorts in memory/sec」(メモリー・ソート/秒)と「disk/sec」(ディスク・ソート/秒)です。ほとんどのソートの場合、すべてのデータを保持するにはデフォルトのソート領域サイズで十分です。ただし、ソート領域に収まらないようなデータに対する大量のソートをたびたびアプリケーションで行う場合は、ソート領域サイズを増やすことを考慮します。
「グラフへ追加」、「警告へ追加」、「ログへ追加」または「レポートへ追加」ダイアログの「オブジェクト」リストにデータまたはOracle Databaseオブジェクトが表示されない場合は、次のようにします。
ORACLE_BASE¥ORACLE_HOME¥dbs¥OPERFver.log
ログ・ファイルでホスト文字列またはパスワードが無効であることが示されている場合は、レジストリで、Hostname
、Password
およびUsername
の正しい値を確認します。これらの値の詳細は、「¥HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Services」を参照してください。
Oracle Database for Windowsで起きた問題やその他の重大な問題は、イベントとしてアプリケーション・イベント・ログに記録されます。記録されたイベントは、イベント ビューアで表示し管理します。
イベント ビューアにアクセスするには次のようにします。
図6-1はアプリケーション・ビュー・ウィンドウを示します。表6-2には、各列に記録される内容を示し、表6-3では、ビューアの左端に表示されるアイコンを説明します。
列名 | 定義 |
---|---|
日付 |
イベントが発生した日付 |
時刻 |
イベントが発生した時刻 |
ソース |
イベントを記録したアプリケーション |
分類 |
イベントの分類 |
イベント |
イベントに割り当てられた一意の番号 |
コンピュータ |
イベントが発生したコンピュータの名前 |
Oracle Database for Windowsのイベントは、Oracle.SIDのソースとともに表示されます。
イベント番号34は、監査証跡イベントを示します。これらのイベントは、初期化パラメータ・ファイルで、パラメータAUDIT_TRAIL
をdb
(true
)またはos
に設定した場合に記録されます。オプションos
を使用すると、システム全体で監査が行われ、監査されたレコードはイベント ビューアに書き込まれます。オプションdb
では、システム全体で監査が行われ、監査されたレコードはデータベース監査証跡(表SYS.AUD$
)に書き込まれます。ただし、一部のレコードはイベント ビューアに書き込まれます。
34以外のイベント番号は、起動されたインスタンスまたは停止されたインスタンスなど、一般的なデータベース・アクティビティを示します。
イベント ビューアでアイコンをダブルクリックすると、「イベントの詳細」ダイアログに、選択したイベントの詳細情報が表示されます。たとえば、図6-2は、イベントID 1011の詳細を示しています。「説明」フィールドでは、イベントについてのテキスト形式の説明が表示されます。「データ」フィールドでは、「バイト」を選択して情報を16進形式で表示するか、「ワード」を選択して同じデータをDWORDで表示します。
AUDIT_TRAIL
をdb
またはos
に設定すると、イベント ビューアに書き込まれるレコード数が増加します。その結果、イベント ビューアのログ・ファイルがいっぱいになることがあります。その場合は、次の手順に従ってログ・ファイルのサイズを大きくしてください。
「イベント ログの設定」ダイアログが表示されます。
イベント ビューアに戻ります。
Oracle Database for Windowsのバックグラウンド・スレッドでは、エラーと同様にトレース・ファイルを使用して、データベース操作の発生、例外が記録されます。バックグラウンド・スレッドのトレース・ファイルは、初期化パラメータ・ファイルにパラメータBACKGROUND_DUMP_DEST
を設定したかどうかに関係なく作成されます。BACKGROUND_DUMP_DEST
を設定した場合、トレース・ファイルは指定のディレクトリに格納されます。このパラメータを設定しない場合、トレース・ファイルはディレクトリORACLE_BASE
¥admin¥
db_name
¥bdump
に格納されます。
Oracle Databaseでは、それぞれのフォアグラウンド・スレッドおよびバックグラウンド・スレッドに異なるトレース・ファイルが作成されます。トレース・ファイルの名前には、スレッドの名前が含まれており、その後に拡張子.trc
が続きます。フォアグラウンド・トレース・ファイル名の例は、次のとおりです。
バックグラウンド・トレース・ファイル名の例は、次のとおりです。
初期化パラメータ・ファイルにパラメータUSER_DUMP_DEST
を設定した場合は、ユーザー・スレッド用のトレース・ファイルも作成されます。ユーザー・スレッドのトレース・ファイルは、ora
xxxxx
.trc
という形式です。xxxxx
は、WindowsのスレッドID
を表す5桁の数値です。
アラート・ログには、データベース操作中に発生するエラー・メッセージと例外についての重要な情報が含まれています。Oracle Database for Windowsのインスタンスには、それぞれ1つのアラート・ログがあります。インスタンスを起動するたびにそのファイルに情報が追加されます。すべてのスレッドで、アラート・ログへの書込みができます。
たとえば、ディスク領域不足のためにREDOログの自動アーカイブが停止する場合、アラート・ログにメッセージが書かれます。データベースに障害が起きて、原因がすぐにわからない場合は、まずアラート・ログを調べてください。
アラート・ログはalert_
SID
.log
という名前が付けられ、初期化パラメータ・ファイル内のパラメータBACKGROUND_DUMP_DEST
で指定したディレクトリにあります。パラメータBACKGROUND_DUMP_DEST
を設定していない場合、alert_
SID
.log
ファイルは、ORACLE_BASE
¥admin¥
db_name
¥bdump
に生成されます。アラート・ログは定期的に削除するかアーカイブしてください。
Oracle Administration Assistant for Windowsを使用してOracle Databaseスレッドに関する情報を表示するには、データベースに対してWindows認証を有効にするか、引数username
およびpassword
を指定してユーティリティocfgutil.exe
を実行する必要があります。ユーティリティは、ユーザー名とパスワードをレジストリの次の場所に格納します。
HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Services¥OracleOraConfig
Windows認証が有効になっていない場合、Oracle Remote Configuration Agentは、ユーザー名とパスワードをこのレジストリ・キーから取得してデータベースにログオンします。
Oracle Administration Assistant for Windowsを使用してOracle Databaseスレッドの情報を表示するには、次のようにします。
|
Copyright © 1996, 2007 Oracle Corporation. All Rights Reserved. |
|