ヘッダーをスキップ

Oracle Databaseプラットフォーム・ガイド 11gリリース1（11.1） for Microsoft Windows E05885-05 |
| 目次 | 索引

戻る | 次へ |

# 6 Windowsでのデータベースの監視

この章では、Oracle Database for Windowsを監視する方法について説明します。

この章の項目は次のとおりです。

- データベース監視の概要

- Oracle Counters for Windows Performance Monitorの使用

- イベント ビューアの使用

- トレース・ファイル

- アラート・ログ

- スレッドの表示

## データベース監視の概要

表6-1では、Oracle Databaseを監視するためのツールについて説明します。

表6-1 データベース・モニタリング・ツール

ツール | 機能
--- | ---
Oracle Counters for Windows Performance Monitor | CPUの使用量、バッファ・キャッシュ、バックグラウンド・プロセスなどのデータベース・オブジェクトを監視します。
イベント ビューア | データベース・イベントを監視します。
トレース・ファイル | データベース操作の発生状況と例外を記録します。
アラート・ログ | データベース操作中のエラー・メッセージと例外についての重要な情報を記録します。
Oracle Enterprise Manager Database Management Pack | リアルタイムのグラフィカルなパフォーマンス情報が表示されるツールを使用して監視およびチューニングします。 関連項目: 詳細は、Oracle Enterprise Managerのマニュアルを参照
Oracle Administration Assistant for Windows | Oracleスレッドに関する情報の表示やスレッドの終了を行います。

注意: 64ビット・バージョンのOracle Enterprise Manager Grid Controlは、今回のリリースでは使用できません。Oracle Enterprise Manager Grid Controlでは、LinuxまたはWindows（32-bit）のリモート・コンピュータからWindows（64-bit）のデータベースを管理できます。

関連項目: 一般的なチューニング情報は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照

## Oracle Counters for Windows Performance Monitorの使用

Oracle Counters for Windows Performance Monitorは、ローカル・サーバーまたはネットワークの他のサーバー上のOracle Database for Windowsオブジェクトのパフォーマンスを測定するグラフィカル・ツールです。Oracle Databaseのパフォーマンス要素が組み込まれている点を除けば、Windowsのパフォーマンス モニタと、外観と操作は同じです。

各コンピュータでは、バッファ・キャッシュ、データ・ディクショナリ・キャッシュ、データファイル、スレッド、プロセスなどのオブジェクトの動作を確認できます。オブジェクトは、システム内の要素をグラフィカルに表示したものです。システム内の要素、リソースおよびデバイスは、それぞれオブジェクトとして表すことができます。

注意: Oracle Counters for Windows Performance Monitorを使用してOracle固有のカウンタを表示するには、`operfcfg.exe`またはOracle Administration Assistant for Windowsを使用して`SYSTEM`パスワードを指定する必要があります。詳細は、「operfcfgの使用」または「Oracle Administration Assistant for Windowsの使用」を参照してください。

各オブジェクトには一連のカウンタが対応付けられています。カウンタとは、パフォーマンス モニタがアクティビティを表示するために使用する測定単位です。カウンタが測定するアクティビティの種類は、オブジェクトの種類（タイプ）に依存します。

特定のオブジェクト・タイプとそれに対応するカウンタが、すべてのシステムにあります。アプリケーション固有のカウンタなどのその他のカウンタは、対応付けられたアプリケーションが実行されるときのみ表示されます。

それぞれのオブジェクトには一連のカウンタが対応付けられており、デバイスの使用状況、キューの長さ、遅延状況などに関する情報や、スループットおよび内部混雑を測定するために使用される情報を提供します。

### レジストリ情報

Oracle Counters for Windows Performance Monitorをインストールすると、レジストリに第15章「パラメータおよびレジストリの構成」で説明されている値が自動的に設定されます。

Oracle Counters for Windows Performance Monitorでは、一度に監視できるデータベース・インスタンスは1つのみです。このため、レジストリに次の値が含まれます。

- `Hostname`

- `Username`

- `Password`

これらの値を変更するには、`operfcfg`を使用します。それぞれのレジストリ値にセキュリティ・レベルを設定することをお薦めします。

関連項目: operfcfgの使用方法は、第15章「パラメータおよびレジストリの構成」を参照

Oracle Counters for Windows Performance Monitorを、同じコンピュータまたはUNIXコンピュータの別のデータベース・インスタンスに対して使用する場合は、レジストリの値をそれに合せて変更します。`tnsnames.ora`ファイルに指定されている別のコンピュータを指すようにレジストリの`Hostname`値を変更すると、Windows版ではないOracle Databaseを監視することもできます。

### Oracle Counters for Windows Performance Monitorへのアクセス

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種類のビューを選択できます。

- グラフ・ビューでは、データベース・アクティビティが発生すると表示されます。

- 警告ビューでは、特定のパフォーマンス基準の最小値が満たされていない場合、または最大値を超えた場合に、そのことが通知されます。

- ログ・ビューでは、パフォーマンスに関する記録が継続的に保存されます。

- レポート・ビューでは、特定の基準についての情報が保存されます。

  関連項目: 4つのビューの詳細は、オペレーティング・システムのドキュメントを参照

### ビューの変更

各ビューに対して、監視するオブジェクト、各オブジェクトに使用するカウンタおよびビューのグラフィカル属性を決定できます。オブジェクトを選択すると、カウンタと色が割り当てられ、Oracle Counters for Windows Performance Monitorの一番下にあるステータス・バーに追加されます。

ビューにオブジェクトを追加するには、次のようにします。

1. 「編集」メニューから「グラフへ追加」、「警告へ追加」、「ログへ追加」または「レポートへ追加」を選択します。（この例では「グラフへ追加」を使用しますが、他のダイアログ・ボックスも同様です。）

   「グラフへ追加」ダイアログ・ボックスが表示されます。

2. 「コンピュータ」リストで、監視するコンピュータを選択します。

3. 「オブジェクト」リストで、監視する1つまたは複数のオブジェクトを選択し、「追加」をクリックします。

   データまたはOracle Databaseオブジェクトがまったく表示されない場合は、Oracle Databaseが稼働していないか、入力されたホスト文字列またはパスワードが無効です。データベースが起動していない場合は、Oracle Counters for Windows Performance Monitorを終了してからデータベースを起動し、Oracle Counters for Windows Performance Monitorを再起動します。

4. 「カウンタ」リストで、選択した各オブジェクトに対して1つ以上のカウンタを選択します。「オブジェクト」リストでの選択によって、「カウンタ」リストの内容が変わるので注意してください。カウンタがどのように機能するか詳細を知りたい場合は、カウンタを強調表示してから「説明」をクリックします。

5. 「インスタンス」リストで、このカウンタのインスタンスを選択します。

6. 「カラー」リストで、選択したカウンタの表示に使用する色を選択します。

7. 「スケール」リストで、カウンタを表示する単位を選択します。

8. 「幅」リストで、グラフで使用する線の幅を指定します。

9. 「スタイル」リストで、グラフの線のスタイルを選択します。

10. 終了したら「終了」をクリックします。

    監視対象として選択したオブジェクトが表示されます。

### Oracle Databaseのパフォーマンス・オブジェクトについて

Oracle Counters for Windows Performance Monitorで監視できるOracle Databaseシステム・リソースはすべて、Oracle Databaseで始まります。この項では、Oracle Databaseオブジェクトの一覧を示し、それに対応するカウンタについて説明します。これらの単位は、次のファイルで定義されています。

    ORACLE_BASE\ORACLE_HOME\dbs\PERFver.ora

関連項目: これらのオブジェクトの詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照

注意: 1台のコンピュータでOracle Counters for Windows Performance Monitorを使用して一度に監視できるインスタンスは1つのみです。

Oracle Database Buffer Cache

カウンタは、「phyrds/gets %」（物理的読込み/取得）です。物理的読込み/取得の割合は、ミス率として計算されます。ミスのカウンタの値が低いほど、よい状態です。パフォーマンスを上げるには、コンピュータでメモリーが使用可能な場合は、バッファ・キャッシュ内のバッファ数を増やします。この値は、時間に基づいて算出される値ではありません。

Oracle Database Redo Log Buffer

カウンタは、「redo log space requests」（REDOログ領域要求）です。このカウンタの値は、0に近い値である必要があります。この値が継続して増加する場合は、REDOログ・バッファ内の領域を探すためにプロセスが待機していることを示しています。この場合、REDOログ・バッファのサイズを大きくすることが必要な場合があります。

Oracle Database Data Dictionary Cache

カウンタは、「getmisses/gets %」（取得ミス/取得）です。頻繁にアクセスされるデータ・ディクショナリ・キャッシュでは、このカウンタの値は10%または15%未満に抑える必要があります。アプリケーション実行中にこの割合が継続的にしきい値を超える場合は、データ・ディクショナリ・キャッシュで使用可能なメモリーのサイズを大きくします。

キャッシュで使用できるメモリー・サイズを大きくするには、初期化パラメータ`SHARED_POOL_SIZE`の値を増やします。この値は、時間に基づいて算出される値ではありません。

関連項目: Oracle Databaseのメモリー割当てのチューニングの詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照

Oracle Database Library Cache

カウンタは、「reloads/pins %」（再ロード/確保）です。これは、再解析を必要とするSQL文、PL/SQLブロックおよびオブジェクト定義の割合です。再ロードの合計は0に近い数である必要があります。確保に対する再ロードの割合が1%を超える場合は、ライブラリ・キャッシュ・ミスを減らします。この値は、時間に基づいて算出される値ではありません。

Oracle Database Data Files

カウンタは、「phyrds/sec」（物理的読込み/秒）および「phywrts/sec」（物理的書込み/秒）です。これらの値は、時間に基づいて算出されます。複数のプロセスが同じディスクに同時にアクセスしようとすると、ディスクの競合が発生します。ディスク監視アクティビティの結果に応じて、対応措置には次のようなものがあります。

- I/Oの分散

- データファイルとREDOログ・ファイルの分離

- 表と索引の分離

- 表データのストライプ化

Oracle Database DBWR stats1

「buffers scanned/sec」（スキャン済バッファ/秒）および「LRU scans/sec」（LRUスキャン/秒）という2つの使用可能カウンタは、バッファ・キャッシュのチューニングに役立ちます。スキャン済バッファ/秒は、DBWRによって1秒間にスキャンされるバッファの数です。スキャンされるバッファは、LRU（最低使用頻度）リスト内にあります。LRUスキャン/秒は、DBWRによって、LRU（最低使用頻度）バッファ・リストが1秒間にスキャンされた回数です。

Oracle Database DBWR stats2

「timeouts/sec」（タイムアウト/秒）および「checkpoints/sec」（チェックポイント/秒）という2つの使用可能カウンタは、DBWRが実行を要求されている作業量の判断に役立ちます。タイムアウト/秒は、DBWRが1秒間にタイムアウトをする回数です。DBWRのタイムアウトは、3秒間隔です。DBWRが3秒間通知されない場合、タイムアウトします。

チェックポイント/秒は、データベース・ライターによって1秒間に処理されるチェックポイント・メッセージの数です。チェックポイントに達するたびに、使用済バッファをディスクに書き込むように求めるメッセージがDBWRに送られます（ポストされます）。

Oracle Database Dynamic Space Management

カウンタは、「recursive calls/sec」（再帰的コール/秒）です。動的拡張により、ユーザー・プロセスによって発行されたSQL文以外のSQL文もOracle Databaseによって実行されます。これらのSQL文は、再帰的コールと呼ばれます。

アプリケーション実行中に、Oracle Databaseによって過剰な再帰的コールが実行される場合は、問題の原因を突き止める必要があります。再帰的コールの統計は、動的パフォーマンス表`V$SYSSTAT`で調べます。

Oracle Database Free List

カウンタは、「free list waits/requests %」（空きリスト待機/要求）です。空きリストの競合は、バッファ・キャッシュ内の空きデータ・ブロックの競合により影響されます。`V$WAITSTAT`を問い合せれば、空きリストの競合によりパフォーマンスが低下しているかどうかを判断できます。

空きブロックを待機する空きリストの数が、要求されている処理の合計数の1%を超える場合は、空きリストをさらに追加して競合を減らすことを考慮してください。

Oracle Database Sorts

使用可能カウンタは、「sorts in memory/sec」（メモリー・ソート/秒）と「disk/sec」（ディスク・ソート/秒）です。ほとんどのソートの場合、すべてのデータを保持するにはデフォルトのソート領域サイズで十分です。ただし、ソート領域に収まらないようなデータに対する大量のソートをたびたびアプリケーションで行う場合は、ソート領域サイズを増やすことを考慮します。

### Oracle Counters for Windows Performance Monitorのトラブルシューティング情報

「グラフへ追加」、「警告へ追加」、「ログへ追加」または「レポートへ追加」ダイアログの「オブジェクト」リストにデータまたはOracle Databaseオブジェクトが表示されない場合は、次のようにします。

1. Oracle Databaseが稼働していることを確認します。稼働していない場合は、Oracle Counters for Windows Performance Monitorを終了し、データベースを起動します。

2. データベースが稼働していても、データまたはOracle Databaseオブジェクトが表示されない場合は、Oracle Counters for Windows Performance Monitorのエラー・ファイルを確認します。

       ORACLE_BASE\ORACLE_HOME\dbs\OPERFver.log

   ログ・ファイルでホスト文字列またはパスワードが無効であることが示されている場合は、レジストリで、`Hostname`、`Password`および`Username`の正しい値を確認します。これらの値の詳細は、「\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services」を参照してください。

3. Oracle Counters for Windows Performance Monitorを再起動します。

## イベント ビューアの使用

Oracle Database for Windowsで起きた問題やその他の重大な問題は、イベントとしてアプリケーション・イベント・ログに記録されます。記録されたイベントは、イベント ビューアで表示し管理します。

イベント ビューアにアクセスするには次のようにします。

1. 「スタート」メニュー→「プログラム」→「管理ツール」→「イベント ビューア」を選択します。

   「イベント ビューア」ウィンドウが表示されます。

2. 「ログ」メニューから「アプリケーション」を選択します。

図6-1はアプリケーション・ビュー・ウィンドウを示します。表6-2には、各列に記録される内容を示し、表6-3では、ビューアの左端に表示されるアイコンを説明します。

図6-1 アプリケーション・ビュー・ウィンドウ

「図6-1 アプリケーション・ビュー・ウィンドウ」の説明

表6-2 アプリケーション・ビューの定義

列名 | 定義
--- | ---
日付 | イベントが発生した日付
時刻 | イベントが発生した時刻
ソース | イベントを記録したアプリケーション
分類 | イベントの分類
イベント | イベントに割り当てられた一意の番号
コンピュータ | イベントが発生したコンピュータの名前

表6-3 イベント ビューアのアイコン

アイコン | イベントの種類 | 提案されるアクション
--- | --- | ---
赤いストップ・サイン | エラー | このアイコンは必ず確認してください。
青い円で囲まれた小文字の「i」 | 情報 | クリティカルでないシステム・イベント。これらのアイコンは、特定のイベントを追跡する場合にのみチェックします。
黄色い円で囲まれた感嘆符 | 警告 | インスタンスの終了やサービスの停止などの特別なイベント。通常、このアイコンは重要ではありませんが、確認が必要です。

### イベント ビューアの見方

Oracle Database for Windowsのイベントは、Oracle.SIDのソースとともに表示されます。

イベント番号34は、監査証跡イベントを示します。これらのイベントは、初期化パラメータ・ファイルで、パラメータ`AUDIT_TRAIL`を`db`（`true`）または`os`に設定した場合に記録されます。オプション`os`を使用すると、システム全体で監査が行われ、監査されたレコードはイベント ビューアに書き込まれます。オプション`db`では、システム全体で監査が行われ、監査されたレコードはデータベース監査証跡（表`SYS.AUD$`）に書き込まれます。ただし、一部のレコードはイベント ビューアに書き込まれます。

34以外のイベント番号は、起動されたインスタンスまたは停止されたインスタンスなど、一般的なデータベース・アクティビティを示します。

イベント ビューアでアイコンをダブルクリックすると、「イベントの詳細」ダイアログに、選択したイベントの詳細情報が表示されます。たとえば、図6-2は、イベントID 1011の詳細を示しています。「説明」フィールドでは、イベントについてのテキスト形式の説明が表示されます。「データ」フィールドでは、「バイト」を選択して情報を16進形式で表示するか、「ワード」を選択して同じデータをDWORDで表示します。

図6-2 「イベントの詳細」ダイアログ

「図6-2 「イベントの詳細」ダイアログ」の説明

関連項目: イベント ビューアの使用方法は、Microsoftオペレーティング・システムのドキュメントを参照

### イベント ビューアの管理

`AUDIT_TRAIL`を`db`または`os`に設定すると、イベント ビューアに書き込まれるレコード数が増加します。その結果、イベント ビューアのログ・ファイルがいっぱいになることがあります。その場合は、次の手順に従ってログ・ファイルのサイズを大きくしてください。

1. 「ログ」メニューから「ログの設定」を選択します。

   「イベント ログの設定」ダイアログが表示されます。

2. 「最大ログ サイズ」フィールドの値を適切なレベルに調整します。

3. 「OK」をクリックします。

   イベント ビューアに戻ります。

   注意: 監査情報はファイルにスプールできません。パラメータ`AUDIT_FILE_DEST`は、Windowsではサポートされていないため、初期化パラメータ・ファイルに追加しないでください。

## トレース・ファイル

Oracle Database for Windowsのバックグラウンド・スレッドでは、エラーと同様にトレース・ファイルを使用して、データベース操作の発生、例外が記録されます。バックグラウンド・スレッドのトレース・ファイルは、初期化パラメータ・ファイルのパラメータ`DIAGNOSTIC_DEST`で指定されたADRディレクトリに作成されて格納されます。

Oracle Databaseでは、それぞれのフォアグラウンド・スレッドおよびバックグラウンド・スレッドに異なるトレース・ファイルが作成されます。トレース・ファイルの名前には、スレッドの名前が含まれており、その後に拡張子`.trc`が続きます。フォアグラウンド・トレース・ファイル名の例は、次のとおりです。

- `ops_ora_5804.trc`

- `ops_ora_4160.trc`

バックグラウンド・トレース・ファイル名の例は、次のとおりです。

- `ops_pmon_1556.trc`

- `ops_mmon_3768.trc`

- `ops_lgwr_2356.trc`

- `ops_dbw0_132.trc`

トレース・ファイルは、ユーザー・スレッドに対しても作成され、初期化パラメータ・ファイルのパラメータ`DIAGNOSTIC_DEST`で指定されたADRディレクトリに格納されます。ユーザー・スレッドのトレース・ファイルは`ora` `xxxxx``.trc`という形式です。`xxxxx`はWindowsスレッドの`ID`を表す5桁の数値です。

## アラート・ログ

アラート・ログには、データベース操作中に発生するエラー・メッセージと例外についての重要な情報が含まれています。Oracle Database for Windowsのインスタンスには、それぞれ1つのアラート・ログがあります。インスタンスを起動するたびにそのファイルに情報が追加されます。すべてのスレッドで、アラート・ログへの書込みができます。

たとえば、ディスク領域不足のためにREDOログの自動アーカイブが停止する場合、アラート・ログにメッセージが書かれます。データベースに障害が起きて、原因がすぐにわからない場合は、まずアラート・ログを調べてください。

アラート・ログは`alert_``SID``.log`という名前が付けられ、初期化パラメータ・ファイル内のパラメータ`DIAGNOSTIC_DEST`で指定したADRディレクトリにあります。アラート・ログは定期的に削除するかアーカイブしてください。

関連項目: 「初期化パラメータ・ファイルの変更」 Oracle Databaseのインストレーション・ガイドの自動診断リポジトリに関する項

## スレッドの表示

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スレッドの情報を表示するには、次のようにします。

1. 「スタート」メニュー→「プログラム」→「Oracle - HOME_NAME」→「Configuration and Migration Tools」→「Administration Assistant for Windows」を選択します。

2. SIDを右クリックします。`SID`は、`orcl`などの特定のインスタンス名です。

3. 「プロセス情報」を選択します。

   「プロセス情報」ダイアログが表示され、各Oracle Databaseスレッドの名前、タイプ、ユーザー、スレッドIDおよびCPU使用率が一覧表示されます。

4. スレッドを終了するには、そのスレッドを選択し、「スレッドの強制終了」をクリックします。

図procinfo.gifの説明