Forms診断エージェントまたはFormsメトリック・エージェントを使用すると、環境内で実行中のFormsアプリケーションに関するパフォーマンス関連の様々な情報を分析できます。このエージェントはメトリック・データ(DMSで使用可能なもの)に定期的にアクセスし、データベース表に移入します。このプロセスにより、履歴データとして収集されたデータにアクセスできるようになります。
Forms診断エージェントは、Oracle Forms 11g R2以降のみで動作します。このアプリケーションのデプロイメントはオプションです。このエージェント・アプリケーションは、データ収集の頻度の指定、さらにデータ収集の開始と停止の制御が可能な対話型インタフェースを備えています。これを行うには、次のタスクを実行します。
Forms診断エージェントはOracle Forms 12cでのみ動作するため、このバージョンをインストールして構成する必要があります。
Oracle Forms 11g R2のインストールと構成の詳細は、『Oracle Fusion Middleware Oracle Forms and Reportsインストレーション・ガイド』を参照してください。
Forms診断エージェント用にDBスキーマを設定するには、データベース内にユーザーとスキーマを作成する必要があります。ユーザーは、独自のデータベース・インスタンスを選択できます。Formsまたは診断エージェントとともにインストールされる特殊なデータベースはありません。
データベース内のユーザーの作成
データベース内にユーザーを作成するには、次の手順を実行します。
注意: データベース内にユーザーを作成する前に、指定するユーザー名が新しいものであり、既存のものではないことを確認します。(データベース内にユーザーを作成する際に使用される).sql スクリプトによってユーザーが新しいユーザーで上書きされるためです。 |
次に示すとおり、sysdba
としてデータベースにログインします。
sqlplus sys/<sys-password>@<DB> as sysdba
次のスクリプトを実行します。
@ORACLE_HOME/forms/forms_create_diagnostics_user.sql
ユーザーは、ユーザーIDおよびパスワードを入力する必要があります。
これにより、ユーザーが作成されます。
データベース内のスキーマの作成
データベース内にスキーマを作成するには、次の手順を実行します。
注意: データベース内にスキーマを作成する前に、指定するユーザー名が新しいものであり、既存のものではないことを確認します。(データベース内にスキーマを作成する際に使用される).sql スクリプトによってスキーマが新しいスキーマで上書きされるためです。 |
前述の手順で作成したユーザーとして、データベースにログインします。
sqlplus <user>/<password>@<DB>
次のスクリプトを実行します。
@ORACLE_HOME/forms/forms_create_diagnostics_schema.sql
これにより、スキーマが作成されます。
Forms診断エージェントで使用するデータベースを設定した後で、Weblogicコンソールを使用してデータ・ソースを設定する必要があります。これを実行する手順を次に示します。
WebLogicコンソールにログインします。
左のナビゲーション・パネルで、「サービス」を選択し、「データ・ソース」にナビゲートします。
「チェンジ・センター」ウィンドウで、ロックして編集をクリックして変更を行います。
「JDBCデータ・ソースのサマリー」ページで、「構成」をクリックします。
「データ・ソース」表で、「新規」をクリックし、リストから「汎用データ・ソース」を選択します。
次のパラメータに値を入力します。
JDBCデータ・ソースの名前
ユーザーは任意の名前を入力できます。
JNDI名
oracle/forms/agentDS
データベースのタイプ
前述の手順でユーザーおよびスキーマの作成に使用したデータベースのタイプを選択します。
「次へ」をクリックします。「新しいJDBCデータ・ソースの作成」ページが表示されます。
選択したデータベースのタイプに使用可能なドライバのリストから、「データベース・ドライバ」を選択します。「次へ」をクリックします。
次のパラメータに値を入力します。
データベース名
ホスト名
ポート
データベース・ユーザー名
前述の手順で、データベースにユーザーを作成したときに使用したユーザー名を入力します。
パスワード
前述の手順で、データベースにユーザーを作成したときに使用したパスワードを入力します。
「次へ」をクリックします。
次のページで、左上にある「構成のテスト」をクリックし、データベースが正しく構成されたかどうかをチェックします。
「次へ」をクリックします。
データ・ソースをデプロイするターゲットとして、「管理サーバー」を選択します。
「終了」をクリックします。
「チェンジ・センター」ウィンドウで、「変更のアクティブ化」をクリックして変更を保存します。
これでJDBCデータ・ソースの設定は終了です。
Weblogicでデータ・ソースを設定した後で、Weblogic管理サーバーにForms診断エージェントをデプロイする必要があります。このためには、Weblogicコンソールで次の手順を実行します。
Weblogicコンソールにログインします。
左のナビゲーション・パネルで、「デプロイメント」を選択します。
「チェンジ・センター」ウィンドウで、ロックして編集をクリックして変更を行います。
「デプロイメントのサマリー」ページで、「インストール」をクリックします。
「アプリケーション・インストール・アシスタント」ページが表示されます。
.warファイルのパスを次のとおり入力します。
ORACLE_HOME/forms/j2ee
これは、formsagentapp.war
ファイルの場所です。
formsagentapp.war
ファイルを選択します。「次へ」をクリックします。
「ターゲット指定スタイルの選択」ページが表示されます。
「Install this deployment as an application」を選択します。
Forms診断エージェントをデプロイするターゲットとして、「管理サーバー」を選択します。「次へ」をクリックします。
オプション設定はデフォルト値のままにし、「終了」をクリックします。
「チェンジ・センター」ウィンドウで、「変更のアクティブ化」をクリックして変更を保存します。Forms診断エージェントが、Weblogic管理サーバーに正常にデプロイされました。
このアプリケーションを起動するには、デプロイされたアプリケーションのリストから「formsagentapp」を選択し、「起動」をクリックします。
このエージェント・アプリケーションでは、インタフェースを使用してデータ収集を管理できます。ユーザーは、データ収集の頻度を指定したり、データ収集の開始と停止を制御できます。このためには、次の手順を実行します。
次のURLから、エージェント・コンソールにログインします。
http://<host>:<admin port>/formsagent/AgentConsole.jsp
ユーザーIDおよびパスワードを入力します。
管理者権限を持つすべてのユーザーがこのコンソールにログインできます。
データ収集の頻度に値を入力します。このパラメータは、連続する2つのデータ収集の間隔です。
デフォルト値は10分です。最小値は1分にする必要があります。
「起動」をクリックします。
Forms診断エージェントが実行中であることを示すメッセージが表示されます。エージェントによるメトリックの収集を停止する必要がある場合は、「停止」をクリックします。
ユーザーがエージェント・アプリケーションにメトリックの収集を開始するよう指示すると、エージェントによってDMSからメトリックが収集され、データベース表に移入されます。ユーザーは、データベース表内のこの収集されたメトリックにアクセスできます。収集されたメトリックを使用する場合、ユーザーはフロントエンド・アプリケーションを作成して、これらのデータを読み取り、チャートやグラフなどを準備して環境内で実行中のFormsアプリケーションの履歴パフォーマンスを分析できます。
各表の主キーおよび外部キーを、次のそれぞれの表に示します。次に、Forms診断エージェントによるメトリック収集中に移入されるデータベース表を示します。
表14-1 ADMIN_SERVERデータベース表
シリアル番号 | 列名 | サンプル値 | 説明 |
---|---|---|---|
01 |
AGENT_ID |
1 |
AGENT_IDは、ADMIN_SERVERデータベース表の主キーです。 エージェント・アプリケーションのID。1から始まる任意の整数 |
02 |
ADMIN_HOSTNAME |
myhost.mydomain.com |
管理サーバーがデプロイされたマシンの名前 |
03 |
ADMIN_PORT |
7001 |
管理サーバーのポート |
表14-2 AGENTデータベース表
シリアル番号 | 列名 | サンプル値 | 説明 |
---|---|---|---|
01 |
AGENT_STATUS |
Running |
エージェントのステータス |
02 |
REAL_TIME |
2009.07.23 at 17:11:41 |
ステータスが記録される日時 すべての時刻エントリはUTC/GMT形式 |
03 |
SEQUENCE_ID |
205 |
エージェントのステータスが記録されるたびにエージェントによって作成されるID |
04 |
FREQUENCY |
40 |
連続する2つのデータ収集の間隔(分単位) |
05 |
AGENT_ID |
1 |
AGENT_IDは、このデータベース表の外部キーです。これはADMIN_SERVERデータベース表内のAGENT_IDを参照しています。 エージェント・アプリケーションのID。1から始まる任意の整数 |
表14-3 FRM_DBデータベース表
シリアル番号 | 列名 | サンプル値 | 説明 |
---|---|---|---|
01 |
FRM_DB_ID |
8769 |
FRM_DB_IDは、FRM_DBデータベース表の主キーです。 Formsアプリケーションで使用されるデータベースに割り当てられたID |
02 |
DB_NAME |
v11g |
frmwebが接続されているデータベース。v11gに接続されている場合は、このフィールドにv11gと表示されます。frmwebがいずれのデータベースにも接続されていない場合、これはNULLになります。 |
03 |
TNS_ENTRY |
(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = sample.host.com)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = v11g))) |
frmwebが接続されているデータベースのTNSエントリ |
04 |
USER_NAME |
scott |
ログインしているデータベース・ユーザー |
表14-4 FRM_DB_LOGINデータベース表
シリアル番号 | 列名 | サンプル値 | 説明 |
---|---|---|---|
01 |
FRM_DB_LOGIN_ID |
345 |
FRM_DB_LOGIN_IDは、FRM_DB_LOGINデータベース表の主キーです。 表内の各行に割り当てられたID |
02 |
FRM_RUNTIME_ID |
107 |
FRM_RUNTIME_IDは、このデータベース表の外部キーです。これはFRM_RUNTIMEデータベース表内のFRM_RUNTIME_IDを参照しています。 |
03 |
FRM_DB_ID |
1025 |
FRM_DB_IDは、このデータベース表の外部キーです。これはFRM_DBデータベース表内のFRM_DB_IDを参照しています。 Formsアプリケーションで使用されるデータベースに割り当てられたID |
04 |
REAL_TIME |
2009.07.23 at 17:11:41 |
表を更新するためのステータスが記録されメトリック・データが収集される日時 すべての時刻エントリはUTC/GMT形式 |
表14-5 FRM_RUNTIMEデータベース表
シリアル番号 | 列名 | サンプル値 | 説明 |
---|---|---|---|
01 |
FRM_RUNTIME_ID |
107 |
FRM_RUNTIME_IDは、FRM_RUNTIMEデータベース表の主キーです。 Formsプロセスを識別するID |
02 |
WLS_APP_ID |
5005 |
WLS_APP_IDは、このデータベース表の外部キーです。これはWLS_APPデータベース表内のWLS_APP_IDを参照しています。 WLS_APP表内のFormsアプリケーションを判別します。 |
03 |
FRM_USER_ID |
1310 |
FRM_USER_IDは、このデータベース表の外部キーです。これはFRM_USERデータベース表内のFRM_USER_IDを参照しています。 Formsクライアントまたはクライアント・インスタンスに割り当てられたID |
04 |
CONFIG_VALUE |
|
|
05 |
CONNECT_TIME |
2009.07.23 at 17:11:41 |
frmwebが起動される日時 すべての時刻エントリはUTC/GMT形式 |
06 |
DISCONNECT_TIME |
2009.07.23 at 18:15:43 |
frmwebが終了する日時 すべての時刻エントリはUTC/GMT形式 |
07 |
STARTING_FORM_NAME |
emp |
開始フォームの名前 |
08 |
PROCESS_ID |
8020 |
中間層マシン上のfrmwebのプロセスId |
09 |
FRM_STATUS |
Running / Exited |
frmwebのステータス |
10 |
FRM_CPU_TIME_ON_EXIT |
256 |
frmwebの終了時のCPU時間 |
11 |
FRM_PRIVATE_MEMORY_ON_EXIT |
6385 |
終了時にFormsプロセスで使用されていたメモリー |
12 |
FRM_EXIT_CODE |
表14-6 FRM_TRACEデータベース表
シリアル番号 | 列名 | サンプル値 | 説明 |
---|---|---|---|
01 |
FRM_TRACE_ID |
2679 |
FRM_TRACE_IDは、このデータベース表の主キーです。 FRM_TRACEデータベース表内の行に割り当てられたID |
02 |
TRACE_FILE |
forms_1055.trc |
|
03 |
TRACING |
mytrace |
アプリケーションによって選択されたトレース・グループの名前 |
表14-7 FRM_TRACE_USEデータベース表
シリアル番号 | 列名 | サンプル値 | 説明 |
---|---|---|---|
01 |
FRM_TRACE_USE_ID |
1906 |
FRM_TRACE_USE_IDは、このデータベース表の主キーです。 データベース表内の行に割り当てられたID |
02 |
FRM_RUNTIME_ID |
107 |
FRM_RUNTIME_IDは、このデータベース表の外部キーです。これはFRM_RUNTIMEデータベース表内のFRM_RUNTIME_IDを参照しています。 Formsプロセスを識別するID |
03 |
FRM_TRACE_ID |
2679 |
FRM_TRACE_IDは、このデータベース表の外部キーです。これはFRM_TRACEデータベース表内のFRM_TRACE_IDを参照しています。 データベース表内の行に割り当てられたID |
04 |
REAL_TIME |
2009.07.23 at 17:11:41 |
表を更新するためのステータスが記録されメトリック・データが収集される日時 すべての時刻エントリはUTC/GMT形式 |
表14-8 FRM_USERデータベース表
シリアル番号 | 列名 | サンプル値 | 説明 |
---|---|---|---|
01 |
FRM_USER_ID |
1310 |
FRM_USER_IDは、このデータベース表の主キーです。 Formsクライアントまたはクライアント・インスタンスに割り当てられたID |
02 |
CLIENT_IP |
255.255.255.255 |
ブラウザの起動元およびユーザーが中間層への接続に使用したクライアント・マシンのIPアドレス |
03 |
SSO_USERID |
fname.lname@myapp.com |
ログインしたユーザーのシングル・サインオンID |
表14-9 HISTORYデータベース表
シリアル番号 | 列名 | サンプル値 | 説明 |
---|---|---|---|
01 |
FRM_RUNTIME_ID |
107 |
FRM_RUNTIME_IDは、このデータベース表の外部キーです。これはFRM_RUNTIMEデータベース表内のFRM_RUNTIME_IDを参照しています。 Formsプロセスを識別するID |
02 |
REAL_TIME |
2009.07.23 at 17:11:41 |
スナップショットが実行される日時 すべての時刻エントリはUTC/GMT形式 |
03 |
SEQUENCE_ID |
205 |
エージェントのステータスが記録されるたびにエージェントによって作成されるID。 |
04 |
FRM_BYTES_SENT |
400 |
これまでに、このプロセスでサーバーからクライアントに送信されたバイト数 |
05 |
FRM_BYTES_SENT_DELTA |
37 |
エージェントで前回測定されてから、このプロセスでサーバーからクライアントに送信されたバイト数の差分 |
06 |
FRM_BYTES_RECEIVED |
200 |
これまでに、このプロセスでクライアントからサーバーに送信されたバイト数 |
07 |
FRM_BYTES_RECEIVED_DELTA |
23 |
エージェントで前回測定されてから、このプロセスでクライアントからサーバーに送信されたバイト数の差分 |
08 |
FRM_NETWORK_ROUND_TRIPS |
30 |
これまでに、このプロセスでクライアントとサーバーとの間に発生したネットワーク・ラウンド・トリップ数 |
09 |
FRM_NETWORK_ROUND_TRIPS_DELTA |
3 |
エージェントで前回測定されてから、このプロセスでクライアントとサーバーとの間に発生したネットワーク・ラウンドトリップ数の差分 |
10 |
FRM_CPU_TIME |
230 |
これまでに、このプロセスでfrmwebにかかった合計処理時間 |
11 |
FRM_CPU_TIME_DELTA |
47 |
エージェントで前回測定されてからの、FRM_CPU_TIMEの値の差分 |
12 |
FRM_PRIVATE_MEMORY |
7998 |
スナップショットの取得時にFormsプロセスで使用されていたメモリー |
13 |
ITERATION |
50 |
データベース表にデータが収集された回数。 |
表14-10 WLS_APPデータベース表
シリアル番号 | 列名 | サンプル値 | 説明 |
---|---|---|---|
01 |
WLS_APP_ID |
5005 |
WLS_APP_IDは、このデータベース表の主キーです。 WLS_APP表内のFormsアプリケーションを判別します。 |
02 |
SERVER_TYPE |
MANAGED |
サーバーのタイプ(MANAGED、ADMINなど) |
03 |
SERVER_NAME |
WLS_FORMS |
サーバー名 |
04 |
DEPLOYED_APPLN_NAME |
formsapp |
Formsアプリケーション名 |
05 |
FORMS_HOSTNAME |
host52.example.com |
Formsランタイムが実行されている中間層マシン |
06 |
INSTANCE_HOME_NAME |
asinst_1 |
FormsランタイムがデプロイされているFMWインスタンス・ホームの名前 |
07 |
CLUSTER_NAME |
cluster_xyz |
Formsアプリケーションがデプロイされているクラスタの名前 |
08 |
AGENT_ID |
1 |
AGENT_IDは、このデータベース表の外部キーです。これはADMIN_SERVERデータベース表内のAGENT_IDを参照しています。 エージェント・アプリケーションのID。1から始まる任意の整数 |
Forms診断エージェントには、そのデプロイメントおよび使用に関して制限があります。パラメータは次のとおりです。
Forms診断エージェント・アプリケーションのデプロイメントはオプションです。Formsアプリケーションに関してパフォーマンス関連の情報が必要な場合は、インストール後にForms診断エージェントを手動でデプロイする必要があります。
このエージェント・アプリケーションは、管理サーバーのみにデプロイする必要があります。このエージェント・アプリケーションによって、その管理サーバーのWLSドメインで実行中のすべてのFormsセッションに関する情報が収集されます。
エージェントがFormsアプリケーションに関する情報を収集するには、すべてのASインスタンス上でopmnが起動されて実行中である必要があります。
エージェントがメトリック・データ(DMSで使用可能なもの)にアクセスするには、DMSアプリケーションが起動されて実行中である必要があります。
スキーマは、任意の時点で1つのドメインでのみ機能するように設計されています。別々のドメインで実行されている複数のエージェントに対して、同じスキーマは使用できません。
データ収集の頻度に小さい値を設定しないでください。データ収集の頻度に小さい値を設定すると、本番環境が遅くなり、過剰で不要なデータ収集が行われます。