3.1.4 PFM - Agent for Oracleのセットアップ手順
ここでは,PFM - Agent for Oracleを運用するための,セットアップについて説明します。
は使用する環境によって必要になるセットアップ項目,またはデフォルトの設定を変更する場合のオプションのセットアップ項目を示します。
- 〈この項の構成〉
(1) LANG環境変数の設定
PFM - Agent for Oracleで使用できるLANG環境変数を次の表に示します。
なお,これらのLANG環境変数を設定する前に,設定する言語環境が正しくインストール・構築されていることを確認しておいてください。正しくインストール・構築されていない場合,文字化けが発生したり,定義データが不当に書き換わってしまったりすることがあります。
- 注意
-
共通メッセージログの言語は,サービス起動時やコマンド実行時に設定されているLANG環境変数によって決まります。そのため,日本語や英語など,複数の言語コードの文字列が混在することがあります。
OS |
言語種別 |
LANG環境変数の値 |
|
---|---|---|---|
HP-UX |
日本語 |
シフトJISコード |
|
EUCコード |
|
||
英語(日本語なし) |
|
||
Solaris |
日本語 |
シフトJISコード |
|
EUCコード |
|
||
UTF-8コード |
|
||
英語(日本語なし) |
|
||
AIX |
日本語 |
シフトJISコード |
|
EUCコード |
|
||
UTF-8コード |
|
||
英語(日本語なし) |
|
||
Linux |
日本語 |
シフトJISコード |
− |
EUCコード |
− |
||
UTF-8コード |
|
||
英語(日本語なし) |
|
- (凡例)
-
−:該当しない
(2) PFM - Agent for Oracleの登録
PFM - ManagerおよびPFM - Web Consoleを使ってPFM - Agentを一元管理するために,PFM - ManagerおよびPFM - Web ConsoleにPFM - Agent for Oracleを登録する必要があります。
PFM - Managerのバージョンが08-50-02以降およびPFM - Web Consoleのバージョンが08-50-01以降の場合,PFM - Agentの登録は自動で行われるため,ここで説明する手順は不要です。ただし,PFM - Managerのリリースノートに記載されていないデータモデルバージョンのPFM - Agentは手動で登録する必要があります。なお,PFM - Agent for Oracleのデータモデルのバージョンについては,「付録J バージョン互換」を参照してください。
PFM - Agentの登録の流れを次に示します。
|
- 注意事項
-
-
PFM - Agentの登録は,インスタンス環境を設定する前に実施してください。
-
すでにPFM - Agent for Oracleの情報が登録されているPerformance Managementシステムに,新たに同じバージョンのPFM - Agent for Oracleを追加した場合,PFM - Agentの登録は必要ありません。
-
バージョンが異なるPFM - Agent for Oracleを,異なるホストにインストールする場合,古いバージョン,新しいバージョンの順でセットアップしてください。
-
PFM - Managerと同じホストにPFM - Agentをインストールした場合,jpcconf agent setup (jpcagtsetup)コマンドが自動的に実行されます。共通メッセージログに「KAVE05908-I エージェント追加セットアップは正常に終了しました」と出力されるので,結果を確認してください。コマンドが正しく実行されていない場合は,コマンドを実行し直してください。コマンドの実行方法については,マニュアル「JP1/Performance Management リファレンス」のコマンドの章を参照してください。
-
PFM - Agent for Oracleの情報を登録する作業では,PFM - Web Consoleの[レポート階層]画面および[アラーム階層]画面に「Oracle」という名前のディレクトリが作成されます。[レポート階層]画面で,すでに独自に「Oracle」という名前のディレクトリまたはファイルを作成していた場合には,名前を変更してから作業を始めてください。
-
(a) PFM - Agent for Oracleのセットアップファイルをコピーする
PFM - Agent for OracleをインストールしたホストにあるセットアップファイルをPFM - ManagerおよびPFM - Web Consoleをインストールしたホストにコピーします。手順を次に示します。
-
PFM - Web Consoleが起動されている場合は,停止する。
-
PFM - Agentのセットアップファイルをバイナリーモードでコピーする。
ファイルが格納されている場所およびファイルをコピーする場所を次の表に示します。
表3‒3 コピーするセットアップファイル PFM - Agentの
セットアップファイル
コピー先
PFMプログラム名
OS
コピー先ディレクトリ
/opt/jp1pc/setup/jpcagtow.EXE
PFM - Manager
Windows
PFM - Managerのインストール先フォルダ\setup\
/opt/jp1pc/setup/jpcagtou.Z
UNIX
/opt/jp1pc/setup/
/opt/jp1pc/setup/jpcagtow.EXE
PFM - Web Console
Windows
PFM - Web Consoleのインストール先フォルダ\setup\
/opt/jp1pc/setup/jpcagtou.Z
UNIX
/opt/jp1pcwebcon/setup/
(b) PFM - Managerホストでセットアップコマンドを実行する
PFM - ManagerでPFM - Agent for Oracleをセットアップするための次のコマンドを実行します。
jpcconf agent setup -key Oracle (jpcagtsetup agto)
ここでは,対話形式の実行例を示していますが,jpcconf agent setupコマンドは非対話形式でも実行できます。jpcconf agent setupコマンドの詳細については,マニュアル「JP1/Performance Management リファレンス」のコマンドについて説明している章を参照してください。
- 注意事項
-
コマンドを実行するローカルホストのPerformance Managementのプログラムおよびサービスが完全に停止していない状態でjpcconf agent setup (jpcagtsetup)コマンドを実行した場合,エラーが発生することがあります。その場合は,Performance Managementのプログラムおよびサービスが完全に停止したことを確認したあと,再度jpcconf agent setup (jpcagtsetup)コマンドを実行してください。
PFM - ManagerホストにあるPFM - Agentのセットアップファイルは,この作業が終了したあと,削除してもかまいません。
(3) PFM - Agent for Oracleで使用するOracleのアカウントの作成
PFM - Agent for OracleでOracle Databaseを監視し,パフォーマンス情報を収集するためには,次のどちらかの設定が必要になります。
-
PFM - Agent for OracleからOracle Databaseの監視に使用するアカウントをsysアカウントに設定する
-
特定のシステム権限を持つOracleのアカウントを作成して,そのアカウントをPFM - Agent for OracleからOracle Databaseの監視に使用するアカウントに設定する
PFM - Agent for Oracleがパフォーマンス情報を収集するためにOracle Databaseに対して実行する操作と,操作を実行するために必要なOracleのアカウントのシステム権限を次の表に示します。
PFM - Agent for OracleがOracle Databaseに対して実行する操作 |
操作に必要なシステム権限 |
---|---|
|
|
sysアカウントは,表3-4のシステム権限を持ちます。Oracle Databaseの監視にセキュリティ要件などによりsysアカウントを使用できない場合,表3-4のシステム権限を持つOracleのアカウントを使用してください。sysアカウントと表3-4のシステム権限を持つOracleのアカウントの違いによる機能差はありません。
表3-4のシステム権限を持つOracleのアカウントは,PFM - Agent for Oracleが提供しているmk_user.sqlスクリプトを実行して作成できます。
mk_user.sqlスクリプトを使用しないでPFM - Agent for Oracleを使用できるOracleのアカウントを用意したい場合は,操作に応じた権限を付与してください。操作に応じた権限を付与することにより,Oracleのアカウントに付与する権限を,必要最小限に限定することができます。なお,ロールとして権限を付与している場合は,明示的(GRANT "権限" ...)に権限を与えてください。各操作で必要となる権限については,「付録I 権限に関する注意事項」を参照してください。
mk_user.sqlスクリプトを実行してOracleのアカウントを作成するために必要な情報を次の表に示します。セットアップの操作を始める前に,次の情報をあらかじめ確認してください。
項目 |
説明 |
---|---|
Enter username |
作成するアカウント名を指定する。 指定できる値は,CREATE USER文のuserパラメーターに指定できる値,かつ30バイト以内の7ビットアスキーの半角英数文字列。なお,数字で始まり,かつ英字を含む文字列は指定できない。デフォルト値はPFMAGTO。
|
Enter password |
作成するアカウントのパスワードを指定する。 指定できる値は,CREATE USER文のIDENTIFIED句のBY passwordパラメーターに指定できる値,かつ30バイト以内の7ビットアスキーの半角英数文字列。なお,数字で始まり,かつ英字を含む文字列は指定できない。入力は必須。 |
Enter default tablespace |
作成するアカウントが使用するデフォルト表領域を指定する。 指定できる値は,CREATE USER文のDEFAULT TABLESPACE句に指定できる値,かつ30バイト以内の7ビットアスキーの半角英数文字列。なお,数字で始まり,かつ英字を含む文字列は指定できない。入力は必須。
|
Enter default temporary tablespace |
作成するアカウントが使用するデフォルト一時表領域を指定する。 指定できる値は,CREATE USER文のTEMPORARY TABLESPACE句に指定できる値,かつ30バイト以内の7ビットアスキーの半角英数文字列。なお,数字で始まり,かつ英字を含む文字列は指定できない。入力は必須。
|
- 注
-
-
各項目の入力値は,必ず,30バイト以内の7ビットアスキーの半角英数文字列で指定してください。31バイト以上の文字列が入力された場合や7ビットアスキー半角英数文字以外の文字を指定した場合,スクリプトが予期しない動作をするおそれがあります。
-
各パラメーターの入力値には,「スキーマ・オブジェクトの名称規則」の「非引用識別子」に含まれる値を指定してください。「非引用識別子」以外の値を指定した場合,スクリプトが予期しない動作をするおそれがあります。「スキーマ・オブジェクトの名称規則」および「非引用識別子」についてはOracleのマニュアルを参照してください。
-
mk_user.sqlで作成したアカウントの詳細を確認するには,監視対象のOracle Databaseの静的ディクショナリ・ビュー DBA_USERSを参照してください。
静的ディクショナリ・ビュー DBA_USERSでアカウント「A4O」の表領域を参照する例を示します。次のSQL文を実行し,実行結果から誤った表領域でアカウントを作成していることがわかった場合は,アカウントを削除し,mk_user.sqlで再作成してください。
(例)
- UNIX上のOracleでアカウント「A4O」の詳細を参照する場合
-
-
コマンドプロンプトからSQL*Plusにsysアカウントで接続する。
sqlplus sysアカウント/sysアカウントのパスワード [AS SYSDBA]
-
SQL*Plusで次のようなSQL文を実行する。
SQL>select DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE from DBA_USERS where USERNAME='A4O';
-
実行結果で表示される,「DEFAULT_TABLESPACE」列(デフォルト表領域),「TEMPORARY_TABLESPACE」列(デフォルト一時表領域)などを確認する。
-
- 注意
-
Oracleのバージョンによって,SQL*Plusにsysアカウントで接続する方法が異なります。詳細については,Oracleのマニュアルを参照してください。
監視対象のOracle Databaseに対して,SYSDBA権限で接続を実施します。
-
CREATE USER文の詳細については,Oracleのマニュアルを参照してください。
また,Oracleのアカウント作成に必要な表領域などのリソースをあらかじめ用意してから,作業を実施してください。
Oracleのアカウント作成は,次の手順で実行します。
-
Oracleのsqlplusコマンドが実行できる環境を設定する。
Oracleの環境設定については,Oracleのマニュアルを参照してください。
-
PFM - Agent for Oracleが提供しているmk_user.sqlがある,次のディレクトリに移動する。
/opt/jp1pc/agto/agent/sql
-
監視先のOracle Databaseに対して,mk_user.sqlスクリプトを実行する。
(例)
sqlplus Oracleのアカウント@監視対象のデータベースのネットサービス名/Oracleのアカウントのパスワード @mk_user.sql
注意
-
sqlplusは,ORACLE Corporationが提供しているコマンドです。
-
mk_user.sqlスクリプトを実行するOracleのアカウントには,あらかじめCREATE USERシステム権限,CREATE SESSIONシステム権限,およびGRANT ANY PRIVILEGEシステム権限が付与されている必要があります。
-
sysアカウントを使用してmk_user.sqlスクリプトを実行する場合,AS SYSDBAオプションを指定しないとエラーになることがあります。
-
監視対象のOracle Databaseに対して,SYSDBA接続を実施します。
mk_user.sqlスクリプトの実行例を示します。
(例)
sqlplus "Oracleのアカウント@監視対象のデータベースのネットサービス名/Oracleのアカウントのパスワード [AS SYSDBA]" @mk_user.sql
-
mk_user.sqlスクリプトを実行すると,スクリプトの処理で実行結果をスプールファイルに出力します。ただし,下記のような場合,スプールファイルの作成に失敗します。
・mk_user.sqlスクリプトを実行時に,カレントディレクトリを手順2で示すディレクトリに変更していない場合
・root以外のユーザーがSQL*Plusでmk_user.sqlスクリプトを実行した場合
-
-
Oracleのアカウント作成に必要なパラメーターを設定する。
表3-5に示した項目を,コマンドの指示に従って入力してください。各項目とも省略はできません。デフォルトで表示されている値を,項目の入力とする場合はリターンキーだけを押してください。
すべての入力が終了すると,Oracleのアカウントが作成されます。
- 注意
-
-
PFM - Agent for Oracleが使用するアカウントをsys以外に設定した場合,SYSスキーマに属するオブジェクトへの操作に対する,SQL Text(PD_PDSQ)レコードのExplain Plan(EXPLAIN_PLAN)フィールドの値を取得できません。この場合,Explain Plan(EXPLAIN_PLAN)フィールドには「Explain Plan Failed」というメッセージが格納されます。SYSスキーマのオブジェクトに対する,SQL Text(PD_PDSQ)レコードのExplain Plan(EXPLAIN_PLAN)フィールドの値を取得したい場合は,PFM - Agent for Oracleの使用するアカウントに,sysを指定してください。
-
SQLを実行したユーザーのスキーマに属するオブジェクトに対して,PFM - Agent for Oracleの使用するアカウントにアクセスする権限がない場合,またはオブジェクトを参照できない場合,SQL Text(PD_PDSQ)レコードのExplain Plan(EXPLAIN_PLAN)フィールドの値を取得できません。この場合,Explain Plan(EXPLAIN_PLAN)フィールドには「Explain Plan Failed」というメッセージが格納されます。Explain Plan(EXPLAIN_PLAN)フィールドの値を取得したい場合は,このフィールドの対象となるSQLを所有者.テーブル名で実行してください。
-
mk_user.sqlスクリプトを実行して作成したOracleのアカウントには,UPDATE ANY TABLEシステム権限など,ほかのスキーマのオブジェクトを自由に操作する権限が付与されますので,アカウントの管理には十分注意してください。
Oracleのアカウントに付与される権限と表領域の割り当て制限を次の表に示します。
表3‒6 mk_user.sqlでOracleのアカウントに付与される権限と表領域の割り当て制限 種別
付与される権限/割り当て制限
説明
システム権限
CREATE SESSION
監視先のOracle Databaseに対して,セッションを確立するために必要。
CREATE TABLE
監視先のOracle Databaseに対して,Oracle Databaseを監視するために必要なテーブル(表3-13のテーブルを参照)を登録するときに必要。
CREATE PROCEDURE
監視先のOracle Databaseに対して,Oracle Databaseを監視するために必要な監視用のプロシージャ(表3-13のパッケージを参照)を登録するときに必要。
SELECT ANY DICTIONARY
監視先のOracle Databaseに対して,Oracle Databaseを監視するために必要な情報(表3-13を参照)を登録するとき,および情報収集するために必要。
SELECT ANY TABLE
SQL Text(PD_PDSQ)レコードのExplain Plan(EXPLAIN_PLAN)フィールドを取得するために必要。
INSERT ANY TABLE
SQL Text(PD_PDSQ)レコードのExplain Plan(EXPLAIN_PLAN)フィールドを取得するために必要。
UPDATE ANY TABLE
SQL Text(PD_PDSQ)レコードのExplain Plan(EXPLAIN_PLAN)フィールドを取得するために必要。
DELETE ANY TABLE
SQL Text(PD_PDSQ)レコードのExplain Plan(EXPLAIN_PLAN)フィールドを取得するために必要。
CREATE ANY INDEX
SQL Text(PD_PDSQ)レコードのExplain Plan(EXPLAIN_PLAN)フィールドを取得するために必要。
ALTER ANY INDEX
SQL Text(PD_PDSQ)レコードのExplain Plan(EXPLAIN_PLAN)フィールドを取得するために必要。
表領域に対する割り当て制限
デフォルト表領域に対する無制限の割り当て※
監視先のOracle Databaseに対して,
Oracle Databaseを監視するために必要な情報(表3-13を参照)を登録するとき,およびPD_PDSQレコードのExplain Planフィールドを取得するために必要です。
-
- 注※
-
作成されたアカウントには,デフォルト表領域に指定された表領域に対して無制限に書き込みができる権限が付与されます。表領域の使用量の割り当てを変更する場合は,アカウントの作成後に,Oracleのsqlplusコマンドが実行できる環境でALTER USER文を発行してください。なお,ALTER USER文を実行するOracleアカウントには,ALTER USERシステム権限が必要になります。
使用量の割り当て変更の例を次に示します。
(例)
ALTER USER Oracleのアカウント QUOTA 表領域の使用量の上限値 ON 表領域名;
ALTER USER文の詳細については,Oracleのマニュアルを参照してください。
(4) インスタンス環境の設定
インスタンス環境の設定では,次の項目を実施します。複数のインスタンス環境を設定する場合は,この手順を繰り返し実施します。
-
インスタンス情報の設定
-
Oracle Databaseへのオブジェクト登録
-
Oracle Databaseの設定
それぞれの手順について説明します。
(a) インスタンス情報を設定する
PFM - Agent for Oracleで監視するOracleのインスタンス情報を設定します。インスタンス情報の設定は,PFM - Agentホストで実施します。
設定するインスタンス情報を次の表に示します。セットアップの操作を始める前に,次の情報をあらかじめ確認してください。Oracleのインスタンス情報の詳細については,Oracleのマニュアルを参照してください。
項目 |
説明 |
設定できる値 |
デフォルト値 |
---|---|---|---|
監視対象となるOracleシステム識別子(環境変数ORACLE_SIDと同じ値)。 |
255バイト以内の半角文字列。 ただし,次の文字は指定できない。
|
jpcconf inst setup (jpcinssetup)コマンドの-instオプションで指定した値 |
|
Oracleホームのディレクトリ(環境変数ORACLE_HOMEと同じ値)。 |
255バイト以内の半角文字列。 ただし,次の文字は指定できない。
|
− |
|
Oracle Databaseのバージョン番号。 |
Linuxの場合
|
11 |
|
Linux以外の場合
|
10 |
||
Oracleを監視するアカウント。 指定できるアカウント,および必要な権限については,「(3) PFM - Agent for Oracleで使用するOracleのアカウントの作成」を参照のこと。 |
255バイト以内の半角文字列。 ただし,次の文字は指定できない。
|
sys |
|
oracle_userで指定したアカウントのパスワード。 |
255バイト以内の半角文字列。 ただし,次の文字は指定できない。
|
− |
|
次のどちらかの場合に「Y」を指定。
1の場合に「N」を指定すると,Oracleでエラーが発生する場合がある。 |
{Y|N} |
N |
|
監視対象のデータベースのネットサービス名。 sqlnetに「Y」を指定した場合に値が有効となる。 監視対象のデータベースのネットサービス名については,Oracleのマニュアルを参照のこと。 |
255バイト以内の半角文字列。 ただし,次の文字は指定できない。
|
インスタンス名(oracle_sidの値) |
|
監視したいリスナーがあるOracleコンポーネントの環境変数ORACLE_HOMEの値。 |
255バイト以内の半角文字列。 ただし,次の文字は指定できない。
|
oracle_homeに指定した値 |
|
PDLSレコードで監視するリスナー名を指定する。 PDLSレコードでリスナーを監視しない場合指定値は使用しないが,空欄を許可しないため,デフォルトのリスナー名「LISTENER」を指定する。 |
255バイト以内の半角文字列。 ただし,次の文字は指定できない。
|
デフォルトのリスナー名「LISTENER」 |
|
エージェントログの出力先ディレクトリ(絶対パス)。 |
245バイト以内の半角文字列。 ただし,次の文字は指定できない。
|
/opt/jp1pc/agto/agent/インスタンス名/log |
|
エージェントログの1ファイルの最大サイズ。※6 |
1〜32(単位:メガバイト)。 ただし,推奨は16以上。 |
16 |
|
クエリー時のOracleアクセスのタイムアウト時間。 |
0,10〜3,600(単位:秒)。 0を指定した場合はタイムアウト監視を行わない。1〜9を指定した場合は,実行時,10に変更する。 タイムアウトについては,「3.4.3 レコード収集でのOracleアクセスのキャンセル機能」を参照のこと。 |
0 |
|
「Y」を指定した場合,PI_PIDB,PD_PDTSレコードで,次の項目※8の情報収集を行わず,0またはnumeric_10で指定した値を設定する。 |
{Y|N} |
N |
|
sql_optionが「Y」の場合,情報収集しない項目に設定する値を指定する。sql_optionが「N」の場合,指定を無視する。 |
0〜99999。 ただし,設定するフィールドのデータ型の最大値(shortの場合32767,ushortの場合65535)を超える値を指定した場合,データ型の最大値が設定される。※10 |
0 |
|
PFM - Agent for Oracle起動時に監視対象のOracleが起動処理中であった場合などに,PFM - Agent for OracleがOracle接続エラーで停止することがある。 「Y」を指定した場合,接続エラーが発生しても起動処理を継続する。「N」を指定した場合,この動作を有効にしない。 |
{Y|N} |
N |
|
使用するStoreバージョンを指定する。Storeバージョンについては「3.4.4 Storeバージョン2.0への移行」を参照のこと。 |
{1.0|2.0} |
2.0 |
|
PD_PDDB, PI_PIDB,PD_PDDF,PI_PIDF,PD_PDTF,PD_PDTS,PD_PCTSレコードのローカル管理一時表領域の空き容量の情報の表示を切り替えるオプション。 「Y」を指定した場合,使用されていないサイズを表示する。「N」を指定した場合,未割り当てのサイズを表示する。 |
{Y|N} |
N |
|
PFM - Agent for OracleがOracle Databaseとの通信で使用する文字コード形式を指定するオプション。 Linuxの場合だけ指定できます。 |
文字コードセット
|
AMERICAN_AMERICA.US7ASCII |
|
PD_PDDB,PI_PIDB,PD_PDDF,PI_PIDF,PD_PDTS,PD_PCTSレコードのUNDO表領域の空き容量の表示を切り替えるオプション。 「N」を指定した場合,未割り当てのサイズを表示する。 「Y」を指定した場合,使用されていないサイズを表示する。 |
{Y|N} |
N |
- (凡例)
-
−:なし
- 注※1
-
Solaris,AIX,またはLinux (x64)を使用して,次のOracle Databaseを監視する場合,Oracle Client 32-bitのインストールと環境設定が必要です。
-
Oracle Database 11g Release 2
-
Oracle Database 12c Release 1
また,jpcconf inst setup (jpcinssetup)コマンドを実行する際,各項目について次のように設定してください。
-
「oracle_home」
Oracle Client 32-bitのOracleホームを設定してください。
-
「oracle_version」
Oracle Client 32-bitのバージョン番号を指定してください。
-
「sqlnet」
「Y」を指定してください。
-
「net_service_name」
Oracle Client 32-bitで設定したネットサービス名を指定してください。
-
「listener_home」
監視するOracle DatabaseのOracleホームを指定してください。
Oracle Client 32-bitで設定するネットサービス名には,監視するOracle Databaseに接続するネットサービス名を指定してください。
Oracle Client 32-bitのインストールと環境構築が完了していない状態で,インスタンス情報の「oracle_home」に,Oracle DatabaseまたはOracle Client 64-bitのORACLE_HOMEを指定して,PFM - Agent for Oracleを起動すると,KAVF12011-EおよびKAVF12021-Eのメッセージが表示されます。
-
- 注※2
-
PFM - Agent for Oracleは,Oracleのパスワード認証で動作します。
- 注※3
-
oracle_passwdにパスワードの有効期限が設定されている場合,有効期限に達するとOracleとの接続エラーが起こり,パフォーマンス情報を収集できません。Oracleとの接続エラーを起こさせないようにするために,パスワードの有効期限が切れる前に,次のどちらかを設定してください。
-
パスワードの有効期限を解除します。
-
パスワードの更新後,jpcconf inst setup (jpcinssetup)コマンドを実行し,oracle_passwdを更新します。
なお,mk_user.sqlで作成したOracleのアカウントには,Oracleが提供しているDEFAULTのプロファイルが適用されます。
-
- 注※4
-
Oracleネットワークサービスを使用するかどうかを指定します。
-
「Y」を指定した場合
Oracleネットワークサービスで構成されたリスナーを通じて,Oracleに接続します。
この場合,Oracle側のネットワークサービス定義(tnsnames.ora,listener.oraなど)を設定している必要があります。
Oracle RAC構成のOracleインスタンスを監視する場合は,各ノードのOracleインスタンスを監視するように設定してください。設定方法については,Oracleのマニュアルを参照してください。
また,sqlnetが「Y」の場合のtnsnames.oraファイルは,次のディレクトリに格納してください。次のディレクトリ以外にtnsnames.oraファイルを格納したときは,PFM - Agent for OracleがOracle接続エラーとなります。
oracle_homeで指定したディレクトリ/network/admin
-
「N」を指定した場合
Oracleネットワークサービスを使用しないで,ローカル・データベースに接続します。
-
- 注※5
-
PFM - Agent for Oracle 08-00より前のバージョンからバージョンアップする場合,デフォルト値が設定されます。
- 注※6
-
エージェントログは,1インスタンスにつき最大4ファイルが採取されます。log_sizeの値は,次の条件を満たすことを確認して指定してください(log_pathがデフォルトの場合を含む)。
log_pathに指定したディスクの空き容量(メガバイト) > log_sizeの値×4
ハードディスクに十分な空き容量がない場合,エージェントログが出力エラーとなります。エージェントログについては「8.3 ログ情報」を参照してください。
- 注※7
-
タイムアウト値は,高負荷時(ピーク時)に収集するレコードの収集時間に応じて設定してください。
- 注※8
-
PFM - Agent for OracleではOracleの各セグメント関連の情報を取得するため,Oracleの静的ディクショナリ・ビュー DBA_SEGMENTSを検索します。Oracleで大量のセグメント(数十万件以上のセグメント)が存在する場合,情報収集で非常に時間が掛かるときがあります。そのため,大量のセグメントが存在し,次の表に示す情報の収集が不要な場合,sql_optionを「Y」と設定して運用してください。
表3‒8 レコード名とnumeric_10で指定した値(インスタンス情報の設定) レコード名
PFM - View名
numeric_10で指定した値
PD_PDTS
Segments
有効
Extents
有効
PI_PIDB
DB Files %
有効
Log Files %
有効
NextAlloc Fails
有効
Tablespaces
有効
Rollback Segments
有効
Rollback Segments Trans
有効
Blocks
有効
Segments
有効
Extents
有効
Free Mbytes
有効
Overextended
有効
High Max Extent
有効
Datafiles
有効
Mbytes
有効
Free Extents
有効
Free%
有効
Free Change
有効
Write%
有効
Write/sec
有効
Redo Files
有効
Links
有効
Links Logged On
有効
Links In Tran
有効
Links Open Cursors
有効
Used Change
有効
Used Mbytes
有効
Rollback Segments Hit%
有効
Sort Segments
有効
Sorting Users
有効
Physical Blocks Read
デルタ項目のため,常に0設定。
Physical Blocks Written
デルタ項目のため,常に0設定。
Physical Reads
デルタ項目のため,常に0設定。
Physical Writes
デルタ項目のため,常に0設定。
- 注※9
-
PFM - Web Consoleなどで表示した場合に,注※8の各フィールドに設定される値がOracle Databaseからの収集値なのか,または固定値なのかを判別するために指定する項目です。
- 注※10
-
各レコードのフィールドの形式が,「float」または「double」型の場合,データは浮動小数点数となるため,指定値によってまるめられる場合があります。
- (例)
-
numeric_10の指定を32767と指定した場合,32760と表示される場合があります。
- 注※11
-
Store Versionは新規にインスタンス環境を設定するときだけ指定できる項目です。インスタンス環境を更新するときは指定できません。
- 注※12
-
localtemp_optionに「N」を指定した場合,ローカル管理一時表領域の空き容量やエクステントに関する情報は,動的パフォーマンスビューのv$temp_space_headerを使用して取得されます。取得する情報の空き容量は,未割り当てのサイズとなります。一度割り当てられたサイズは,一時表領域の再構築や再作成などをするまで解放されないため,解放されるまで空き容量は増加しません。
localtemp_optionに「Y」を指定した場合,ローカル管理一時表領域の空き容量やエクステントに関する情報は,動的パフォーマンスビューのv$temp_extent_poolを使用して取得されます。取得する情報の空き容量は,収集時に使用していた領域のサイズから未使用サイズを算出します。動的パフォーマンスビューのv$temp_extent_poolを検索した場合,Oracleのインスタンスが休止状態となります。Oracle Databaseの性能に影響することがありますので,十分に検討してから指定してください。詳細については,Oracleのマニュアルを参照してください。
- 注※13
-
PFM - Agent for Oracleが扱うデータと環境変数,インスタンス情報との関係図を以下に示します。
図3‒4 データと設定値との関係 PFM - Agent for OracleではLinux環境の場合,7ビットアスキーに加えUTF-8形式のパフォーマンスデータを収集できます。UTF-8形式のパフォーマンスデータを収集するためには,OS, Oracle, PFM - Agent for Oracleの言語設定をUTF-8に統一する必要があります。
UTF-8形式のパフォーマンスデータを収集するための言語設定の組み合わせは次のとおりです。
表3‒9 UTF-8形式のパフォーマンスデータを収集するための言語設定の組み合わせ OS言語(Linux)
監視対象OracleのNLS_CHARACTERSET
(データベースキャラクタセット)
nls_langインスタンス情報(本項目)
UTF-8
AL32UTF8
AMERICAN_AMERICA.AL32UTF8
上記以外の組み合わせの場合,パフォーマンスデータは7ビットアスキーの範囲で収集するため,文字化けが発生することがあります。
UTF-8を使用する場合のLANG設定は「3.1.4(1) LANG環境変数の設定」を参照ください。
nls_langインスタンス情報に不正な文字コードセットを指定した場合,errcodeが12705のメッセージ「KAVF12302-W」を出力し,Oracleとの接続に失敗します。
また,次の場合にパフォーマンスデータの文字化けが発生します。
-
Oracleのカラム長を超えることによる文字化け
Oracleにカラム長を超えるデータを格納する場合,最終文字で文字化けが発生することがあります。Oracleで文字化けが発生するデータをPFM - Agent for Oracleで収集すると,パフォーマンスデータの最終文字で文字化けが発生します。
-
PFM - Agent for Oracleのフィールドサイズを超えることによる文字化け
PFM - Agent for OracleではOracleからレコードのフィールドサイズ分のパフォーマンスデータを取得します。そのためOracleがフィールドサイズを超えるデータを保持している場合,パフォーマンスデータの最終文字で文字化けが発生することがあります。対象となるフィールドは次のとおりです。
表3‒10 対象となるフィールド レコード名
フィールド名
フィールドサイズ
(単位:byte)
Database Object Cache(PD_PDDO)
Object Name
100
Errorlog Detail(PD_PDEL)
Message
512
Parameter Values(PD_PDP)
Value
512
SQL Text(PD_PDSQ)
Explain Plan
30,000
SQL Text
30,000
SQL Text - Performance Based(PD_PDES)
SQL Text
10,000
Table Access(PD_PDTA)
Object
100
-
- 注※14
-
undospace_optionに「N」を指定した場合,UNDO表領域の空き容量は,未割り当てのサイズを収集します。UNDO表領域のうち,リテンション期間が過ぎて使用可能になった領域は解放されるまでの間,割り当て済みの領域として扱います。
undospace_optionに「Y」を指定した場合,UNDO表領域の空き容量は,未使用サイズを収集します。UNDO表領域のうち,リテンション期間が過ぎて使用可能になった領域は未使用サイズに含みます。
undospace_optionにより値が変わるフィールドは次のとおりです。
表3‒11 undospace_optionにより値が変わるフィールド レコード名
フィールド名
Data File(PD_PDDF)
Free %
Free Mbytes
Used Mbytes
Data File Interval
(PI_PIDF)
Free %
Free Change
Free Mbytes
Used Change
Used Mbytes
Database(PD_PDDB)
Free %
Free Mbytes
Used Mbytes
Database Interval
(PI_PIDB)
Free %
Free Change
Free Mbytes
Used Change
Used Mbytes
Tablespace(PD_PDTS)
Free %
Free Mbytes
Used Mbytes
Max Extend Free %
Max Extend Free Mbytes
Collection Tablespace 2
(PD_PCTS)
Free Mbytes
- 注意
-
-
インスタンス環境を設定していない場合,PFM - Agent for Oracleのサービスを起動できません。
-
jpcconf inst setup (jpcinssetup)コマンドを使用してインスタンス環境を構築する際,Oracle上に存在しないインスタンス名を指定した場合でもコマンドは正常に終了します。しかし,その後レコードの収集を開始すると,共通メッセージログに「KAVF12401-W」のメッセージが出力され,監視対象のOracleに接続できません。この場合,正しいインスタンス名を確認の上,再度jpcconf inst setup (jpcinssetup)コマンドを実行してください。
-
インスタンス環境を構築するには,jpcconf inst setup (jpcinssetup)コマンドを使用します。インスタンス環境の構築手順を次に示します。
-
サービスキーおよびインスタンス名を指定して,jpcconf inst setup (jpcinssetup)コマンドを実行する。
例えば,PFM - Agent for Oracleのインスタンス名SDCのインスタンス環境を構築する場合,次のように指定してコマンドを実行します。
jpcconf inst setup -key Oracle -inst SDC (jpcinssetup agto -inst SDC)
なお,インスタンス名に「sql」という名称は使用できません。
ここでは,対話形式の実行例を示していますが,jpcconf inst setupコマンドは非対話形式でも実行できます。jpcconf inst setup (jpcinssetup)コマンドの詳細については,マニュアル「JP1/Performance Management リファレンス」の,コマンドについて説明している章を参照してください。
-
Oracleのインスタンス情報を設定する。
表3-7に示した項目を,コマンドの指示に従って入力してください。各項目とも省略はできません。デフォルトで表示されている値を,項目の入力とする場合はリターンキーだけを押してください。
すべての入力が終了すると,インスタンス環境が構築されます。構築時に入力したインスタンス情報を変更したい場合は,再度jpcconf inst setup (jpcinssetup)コマンドを実行し,インスタンス環境を更新してください。インスタンス環境の更新については,「3.4.2 インスタンス環境の更新の設定」を参照してください。
構築されるインスタンス環境を次に示します。
-
インスタンス環境のディレクトリ構成
次のディレクトリ下にインスタンス環境が構築されます。
物理ホストの場合:/opt/jp1pc/agto
論理ホストの場合:環境ディレクトリ※/jp1pc/agto
- 注※
-
環境ディレクトリとは,論理ホスト作成時に指定した共有ディスク上のディレクトリです。
構築されるインスタンス環境のディレクトリ構成を次に示します。
ディレクトリ名・ファイル名 |
説明 |
||
---|---|---|---|
agent |
インスタンス名 |
jpcagt.ini |
Agent Collectorサービス起動情報ファイル |
jpcagt.ini.model※ |
Agent Collectorサービス起動情報ファイルのモデルファイル |
||
log |
ログファイル格納ディレクトリ |
||
store |
インスタンス名 |
jpcsto.ini |
Agent Storeサービス起動情報ファイル |
jpcsto.ini.model※ |
Agent Storeサービス起動情報ファイルのモデルファイル |
||
*.DAT |
データモデル定義ファイル |
||
dump |
エクスポート先ディレクトリ |
||
import |
標準のデータベースインポート先ディレクトリ(Storeバージョン2.0の場合) |
||
backup |
バックアップ先ディレクトリ |
||
log |
ログファイル格納ディレクトリ |
||
partial |
標準のデータベース部分バックアップ先ディレクトリ(Storeバージョン2.0の場合) |
||
STPD |
PDレコードタイプのパフォーマンスデータ格納先ディレクトリ(Storeバージョン2.0の場合) |
||
STPI |
PIレコードタイプのパフォーマンスデータ格納先ディレクトリ(Storeバージョン2.0の場合) |
- 注※
-
インスタンス環境を構築した時点の設定値に戻したいときに使用します。
-
インスタンス環境のサービスID
インスタンス環境のサービスIDは次のようになります。
-
Agent Collectorサービスの場合:OAインスタンス番号インスタンス名 [ホスト名]
-
Agent Storeサービスの場合:OSインスタンス番号インスタンス名 [ホスト名]
PFM - Agent for Oracleの場合,インスタンス名にはjpcconf inst setup (jpcinssetup)コマンドで指定したインスタンス名が表示されます。
例えば,ホスト名が「host1」で,インスタンス名に「SDC」を指定した場合,サービスIDは次のようになります。
-
Agent Collectorサービスの場合:OA1SDC [host1]
-
Agent Storeサービスの場合:OS1SDC [host1]
サービスIDについては,マニュアル「JP1/Performance Management 設計・構築ガイド」の,付録に記載されている命名規則を参照してください。
-
(b) Oracle Databaseへオブジェクトを登録する
PFM - Agent for OracleでOracle Databaseを監視するためには,監視先のOracle Databaseに対して,PFM - Agent for Oracleが提供するオブジェクトを登録する必要があります。ここでは,PFM - Agent for Oracleが提供しているSQLスクリプトを次の手順で実行します。なお,この手順は,Oracle Databaseのインスタンスを監視するアカウントごとに,1回だけ必要です。
-
Oracleのsqlplusコマンドが実行できる環境を設定する。
Oracleの環境設定については,Oracleのマニュアルを参照してください。
-
PFM - Agent for Oracleが提供しているsp_inst.sqlがある,次のディレクトリに移動する。
/opt/jp1pc/agto/agent/sql
-
監視先のOracle Databaseに対して,sp_inst.sqlスクリプトを実行する。
インスタンス情報のoracle_userに指定したアカウントでOracle Databaseに接続し,sp_inst.sqlスクリプトを実行してください。
sp_inst.sqlスクリプトによって,PFM - Agent for OracleがOracleを監視するときに必要なオブジェクト(監視用のプロシージャや作業用のテーブル)をOracleに登録します。
なお,同じディレクトリにsp_inst_seg2.sqlスクリプトがありますが,こちらのスクリプトは使用しないでください。
(例)
sqlplus Oracleのアカウント@監視対象のデータベースのネットサービス名/Oracleのアカウントのパスワード @sp_inst.sql
-
sqlplusは,ORACLE Corporationが提供しているコマンドです。
-
Oracleのアカウントには,oracle_userの値を指定してください。ここで実行したOracleのアカウントでデータベースにオブジェクトが作成されます。また,アンセットアップの際には,同じOracleのアカウントで実行する必要があります。
-
OracleのアカウントにSYSユーザーを使用する場合,AS SYSDBAオプションを指定しないで,sp_inst.sqlスクリプトを実行するとエラーになる場合があります。その場合は,AS SYSDBAオプションを指定して実行してください。
このコマンドの実行で,次の表に示すテーブルおよびパッケージが作成されます。
表3‒13 作成されるテーブルおよびパッケージ テーブル
パッケージ
LSC_13_PLAN_TABLE※
LSC_13_PDAS,LSC_13_PICS,LSC_13_73_PDDB,LSC_13_PDDB2,LSC_13_PDI,LSC_13_717273_PDMT,LSC_13_PDS3,LSC_13_73_PIDB,LSC_13_PIDB2,LSC_13_PIDB3
-
- 注※
-
LSC_13_PLAN_TABLEは,SQL Text(PD_PDSQ)レコードを収集する場合だけに使用されます。そのため,SQL Text(PD_PDSQ)レコードを収集される場合は,デフォルトの表領域に5メガバイト以上の空き容量を確保しておく必要があります。
(c) Oracle Databaseを設定する
PFM - Agent for Oracleが提供するレコードで,次の表に示すパフォーマンスデータを収集するためには,Oracle Databaseの初期化パラメーター「TIMED_STATISTICS」の値を「TRUE」に変更する必要があります。
レコード |
フィールド |
備考 |
---|---|---|
ASM Disk(PD_PDDK) |
Read Time(READ_TIME) |
− |
Write Time(WRITE_TIME) |
− |
|
Block Contention Interval(PI_PIBC) |
− |
レコード全体 |
Block Contention Statistics(PD_PDBC) |
− |
レコード全体 |
Data File Interval(PI_PIDF) |
Write Time(WRITE_TIME) |
− |
Session Detail(PD_PDS) |
Avg Wait(AVERAGE_WAIT) |
− |
Avg Wait String(AVERAGE_WAIT_STRING) |
− |
|
Time Waited(TIME_WAITED) |
− |
|
Time Waited String(TIME_WAITED_STRING) |
− |
|
Session Event(PD_PDEV) |
Avg Wait(AVERAGE_WAIT) |
− |
Avg Wait String(AVERAGE_WAIT_STRING) |
− |
|
Time Waited(TIME_WAITED) |
− |
|
Time Waited String(TIME_WAITED_STRING) |
− |
|
Session Event Interval(PI_PIEV) |
Avg Wait(AVERAGE_WAIT) |
− |
Avg Wait String(AVERAGE_WAIT_STRING) |
− |
|
Time Waited(TIME_WAITED) |
− |
|
Time Waited String(TIME_WAITED_STRING) |
− |
|
Session Stat Summary Interval(PI_PIS2) |
Statement CPU(STATEMENT_CPU) |
− |
Session Statistics Summary(PD_PDS2) |
Statement CPU(STATEMENT_CPU) |
− |
System Stat Summary(PD) |
Session CPU Usage(SESSION_CPU_USAGE) |
− |
System Stat Summary Interval(PI) |
Session CPU Usage(SESSION_CPU_USAGE) |
− |
Session Wait(PD_PDWA) |
Wait Time(WAIT_TIME) |
− |
Wait Time String(WAIT_TIME_STRING) |
− |
|
System Event(PD_PDSE) |
Avg Wait(AVERAGE_WAIT) |
− |
Time Waited(TIME_WAITED) |
− |
|
System Event Interval(PI_PISE) |
Avg Wait(AVERAGE_WAIT) |
− |
Time Waited(TIME_WAITED) |
− |
- (凡例)
-
−:該当しない
- 注意
-
-
初期化パラメーターファイルを変更した場合は,データベースインスタンスの再起動が必要です。
-
Oracle9iからは,Oracleパラメーター情報を格納するためにサーバ・パラメーターファイルがサポートされました。サーバ・パラメーターファイルの値を変更した場合,初期化パラメーターファイルによる変更よりも優先されることがあります。
-
初期化パラメーターのTIMED_STATISTICSをTRUEに設定すると,時間の統計に関するオーバーヘッドが発生し,Oracle Databaseの性能に影響することがありますので,十分に検討してから設定してください。詳細については,Oracleのマニュアルを参照してください。
-
(5) ネットワークの設定![[図データ]](GRAPHICS/ZU12001.GIF)
Performance Managementを使用するネットワーク構成に応じて,変更する場合に必要な設定です。
ネットワークの設定には次の2つの項目があります。
-
IPアドレスを設定する
Performance Managementを複数のLANに接続されたネットワークで使用するときに設定します。複数のIPアドレスを設定するには,jpchostsファイルにホスト名とIPアドレスを定義します。設定したjpchostsファイルはPerformance Managementシステム全体で統一させてください。
詳細についてはマニュアル「JP1/Performance Management 設計・構築ガイド」の,インストールとセットアップについて説明している章を参照してください。
-
ポート番号を設定する
Performance Managementが使用するポート番号を設定できます。運用での混乱を避けるため,ポート番号とサービス名は,Performance Managementシステム全体で統一させてください。
ポート番号の設定の詳細についてはマニュアル「JP1/Performance Management 設計・構築ガイド」の,インストールとセットアップについて説明している章を参照してください。
(6) ログのファイルサイズ変更![[図データ]](GRAPHICS/ZU12001.GIF)
Performance Managementの稼働状況を,Performance Management独自のログファイルに出力します。このログファイルを「共通メッセージログ」と呼びます。共通メッセージログは,デフォルトで2,048キロバイトのファイルが2ファイル使用されます。このファイルサイズを変更したい場合に,必要な設定です。
詳細については,マニュアル「JP1/Performance Management 設計・構築ガイド」の,インストールとセットアップについて説明している章を参照してください。
(7) パフォーマンスデータの格納先の変更![[図データ]](GRAPHICS/ZU12001.GIF)
PFM - Agent for Oracleで管理されるパフォーマンスデータを格納するデータベースの保存先,バックアップ先またはエクスポート先のディレクトリを変更したい場合に,必要な設定です。
パフォーマンスデータは,デフォルトで,次の場所に保存されます。
-
保存先:/opt/jp1pc/agto/store/インスタンス名/
-
バックアップ先:/opt/jp1pc/agto/store/インスタンス名/backup/
-
部分バックアップ先※:/opt/jp1pc/agto/store/インスタンス名/partial/
-
エクスポート先:/opt/jp1pc/agto/store/インスタンス名/dump/
-
インポート先※:/opt/jp1pc/agto/store/インスタンス名/import/
- 注意
-
論理ホストで運用する場合のデフォルトの保存先については,「/opt/jp1pc」を「環境ディレクトリ/jp1pc」に読み替えてください。
- 注※
-
Storeバージョン2.0使用時だけ設定できます。
詳細については,「3.4.1 パフォーマンスデータの格納先の変更」を参照してください。
(8) PFM - Agent for Oracleの接続先PFM - Managerの設定
PFM - Agentがインストールされているホストで,そのPFM - Agentを管理するPFM - Managerを設定します。接続先のPFM - Managerを設定するには,jpcconf mgrhost define (jpcnshostname)コマンドを使用します。
- 注意事項
-
-
同一ホスト上に,複数のPFM - Agentがインストールされている場合でも,接続先に指定できるPFM - Managerは,1つだけです。PFM - Agentごとに異なるPFM - Managerを接続先に設定することはできません。
-
PFM - AgentとPFM - Managerが同じホストにインストールされている場合,接続先PFM - ManagerはローカルホストのPFM - Managerとなります。この場合,接続先のPFM - ManagerをほかのPFM - Managerに変更できません。
-
手順を次に示します。
-
Performance Managementのプログラムおよびサービスを停止する。
セットアップを実施する前に,ローカルホストでPerformance Managementのプログラムおよびサービスが起動されている場合は,すべて停止してください。サービスの停止方法については,マニュアル「JP1/Performance Management 運用ガイド」の,Performance Managementの起動と停止について説明している章を参照してください。
jpcconf mgrhost define (jpcnshostname)コマンド実行時に,Performance Managementのプログラムおよびサービスが起動されている場合は,停止を問い合わせるメッセージが表示されます。
-
接続先のPFM - Managerホストのホスト名を指定して,jpcconf mgrhost define (jpcnshostname)コマンドを実行する。
例えば,接続先のPFM - Managerがホストhost01上にある場合,次のように指定します。
jpcconf mgrhost define -host host01 (jpcnshostname -s host01)
ここでは,対話形式の実行例を示していますが,jpcconf mgrhost defineコマンドは非対話形式でも実行できます。jpcconf mgrhost defineコマンドの詳細については,マニュアル「JP1/Performance Management リファレンス」のコマンドについて説明している章を参照してください。
(9) 動作ログ出力の設定![[図データ]](GRAPHICS/ZU12001.GIF)
アラーム発生時に動作ログを出力したい場合に必要な設定です。動作ログとは,システム負荷などのしきい値オーバーに関するアラーム機能と連動して出力される履歴情報です。
設定方法については,「付録K 動作ログの出力」を参照してください。