121 DBMS_MONITOR
121.1 DBMS_MONITORサブプログラムの要約
この表は、DBMS_MONITOR
サブプログラムを示し、簡単に説明しています。
表121-1 DBMS_MONITORパッケージのサブプログラム
サブプログラム | 説明 |
---|---|
指定されたクライアント識別子に対して以前に有効にされた統計情報収集を無効にします。 |
|
指定されたクライアント識別子に対する統計情報収集を有効にします。 |
|
指定されたクライアント識別子に対して以前に有効にされたトレースをデータベース全体で無効にします。 |
|
指定されたクライアント識別子に対するトレースをデータベース全体で有効にします。 |
|
データベース全体または特定のインスタンスに対するSQLトレースを無効にします。 |
|
データベース全体または特定のインスタンスに対するSQLトレースを有効にします。 |
|
サービス名、 |
|
サービス名、 |
|
サービス名、 |
|
|
|
指定されたデータベース・セッション識別子(SID)に対して以前に有効にされたトレースをローカル・インスタンス上で無効にします。 |
|
指定されたデータベース・セッション識別子(SID)に対するトレースをローカル・インスタンス上で有効にします。 |
121.1.1 CLIENT_ID_STAT_DISABLEプロシージャ
このプロシージャは、CLIENT_ID_STAT_ENABLE
プロシージャによって有効にされたすべてのインスタンスに対する統計情報収集を無効にして、収集済の統計情報をV$CLIENT_STATS
ビューから削除します。
構文
DBMS_MONITOR.CLIENT_ID_STAT_DISABLE( client_id IN VARCHAR2);
パラメータ
表121-2 CLIENT_ID_STAT_DISABLEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
統計情報収集が無効にされるクライアント識別子 |
例
統計情報収集を無効にするには、次のようにします。
EXECUTE DBMS_MONITOR.CLIENT_ID_STAT_DISABLE('janedoe');
121.1.2 CLIENT_ID_STAT_ENABLEプロシージャ
このプロシージャは、指定されたクライアント識別子に対する統計情報収集を有効にします。
V$CLIENT_STATS
ビューを使用して参照できます。
構文
DBMS_MONITOR.CLIENT_ID_STAT_ENABLE( client_id IN VARCHAR2);
パラメータ
表121-3 CLIENT_ID_STAT_ENABLEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
統計情報収集が有効にされるクライアント識別子 |
例
指定したクライアント識別子を持つクライアントに関する統計情報収集を有効にするには、次のコマンドを実行します。
EXECUTE DBMS_MONITOR.CLIENT_ID_STAT_ENABLE('janedoe');
121.1.3 CLIENT_ID_TRACE_DISABLEプロシージャ
このプロシージャは、CLIENT_ID_TRACE_ENABLE
プロシージャによって有効にされたトレースを無効にします。
構文
DBMS_MONITOR.CLIENT_ID_TRACE_DISABLE( client_id IN VARCHAR2);
パラメータ
表121-4 CLIENT_ID_TRACE_DISABLEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
SQLトレースが無効にされるクライアント識別子 |
例
EXECUTE DBMS_MONITOR.CLIENT_ID_TRACE_DISABLE ('janedoe');
121.1.4 CLIENT_ID_TRACE_ENABLEプロシージャ
このプロシージャは、指定されたクライアント識別子に対するトレースをデータベース全体で有効にします。
構文
DBMS_MONITOR.CLIENT_ID_TRACE_ENABLE( client_id IN VARCHAR2, waits IN BOOLEAN DEFAULT TRUE, binds IN BOOLEAN DEFAULT FALSE, plan_stat IN VARCHAR2 DEFAULT NULL);
パラメータ
表121-5 CLIENT_ID_TRACE_ENABLEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
SQLトレースが有効にされるデータベース・セッション識別子。 |
|
|
|
|
|
行ソース統計をダンプする頻度。値は' |
使用上のノート
-
指定されたクライアント識別子のために複数のOracleシャドウ・プロセスが動作するため、トレース情報は複数のトレース・ファイルに書き込まれます。
-
トレースはすべてのインスタンスに対して有効になり、インスタンスの再起動を行っても中断されません。
例
EXECUTE DBMS_MONITOR.CLIENT_ID_TRACE_ENABLE('janedoe', TRUE, FALSE);
121.1.5 DATABASE_TRACE_DISABLEプロシージャ
このプロシージャは、データベース全体または特定のインスタンスに対するSQLトレースを無効にします。
構文
DBMS_MONITOR.DATABASE_TRACE_DISABLE( instance_name IN VARCHAR2 DEFAULT NULL);
パラメータ
表121-6 DATABASE_TRACE_DISABLEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
指定したインスタンスに対するトレースを無効にします。 |
121.1.6 DATABASE_TRACE_ENABLEプロシージャ
このプロシージャは、データベース全体または特定のインスタンスに対するSQLトレースを有効にします。
構文
DBMS_MONITOR.DATABASE_TRACE_ENABLE( waits IN BOOLEAN DEFAULT TRUE, binds IN BOOLEAN DEFAULT FALSE, instance_name IN VARCHAR2 DEFAULT NULL, plan_stat IN VARCHAR2 DEFAULT NULL);
パラメータ
表121-7 DATABASE_TRACE_ENABLEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
|
|
|
|
このパラメータにインスタンス名を指定すると、指定されたインスタンスに対するトレースのみが有効にされます。 |
|
行ソース統計をダンプする頻度。値は' |
121.1.7 SERV_MOD_ACT_STAT_DISABLEプロシージャ
このプロシージャは、統計情報収集を無効にして、収集済の統計情報をV$SERV_MOD_ACT_STATS
ビューから削除します。
統計情報収集の無効化はデータベース全体に適用されます。つまり、同じデータベースのインスタンス(統計情報収集の有効化によってアクティブになったdblinks
を含む)に関する統計情報の収集が停止します。
構文
DBMS_MONITOR.SERV_MOD_ACT_STAT_DISABLE( service_name IN VARCHAR2, module_name IN VARCHAR2, action_name IN VARCHAR2 DEFAULT ALL_ACTIONS);
パラメータ
表121-8 SERV_MOD_ACT_STAT_DISABLEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
統計情報収集が無効にされるサービスの名前。 |
|
|
|
|
使用上のノート
統計情報の収集に関して、モジュールまたはアクションを変更すると、セッションで実行される次のユーザー・コールがこの変更の影響を受けます。たとえば、モジュールがセッション内で'module 1'に設定されており、そのセッションのユーザー・コールで'module 2'にリセットされた場合、このモジュールは、ユーザー・コールの間'module 1'のままとなります。モジュールは、このセッションの次のユーザー・コールで'module 2'に変更されます。
121.1.8 SERV_MOD_ACT_STAT_ENABLEプロシージャ
このプロシージャは、サービス名、MODULE
およびACTION
の指定された組合せに対する統計情報収集を有効にします。
このプロシージャをコールすると、同じデータベースのすべてのインスタンス上で、サービス名、MODULE
名およびACTION
名の階層的な組合せに対する統計情報収集が有効になります。統計情報は、V$SERV_MOD_ACT_STATS
ビューを使用して参照できます。
構文
DBMS_MONITOR.SERV_MOD_ACT_STAT_ENABLE( service_name IN VARCHAR2, module_name IN VARCHAR2, action_name IN VARCHAR2 DEFAULT ALL_ACTIONS);
パラメータ
表121-9 SERV_MOD_ACT_STAT_ENABLEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
統計情報収集が有効にされるサービスの名前。 |
|
|
|
|
使用上のノート
モジュール名/アクション名にはNULLと区別できない空文字列を指定できるため、サービス名/モジュール名/アクション名の特定の組合せに対して統計収集を有効にする指定が若干複雑になります。そのため、次のような表記規則を採用しています。
次に示す特別な定数(実際のアクション名としては使用されないような名前)が定義されています。
ALL_ACTIONS constant VARCHAR2 := '###ALL_ACTIONS';
ALL_ACTIONS
を使用してアクションを指定すると、特定のモジュール名を持つすべてのアクションに対して統計情報収集が有効になります。一方、NULL
(または空文字列)を指定すると、名前が空文字列であるアクションに対して統計情報収集が有効になります。
統計情報の収集に関して、モジュールまたはアクションを変更すると、セッションで実行される次のユーザー・コールがこの変更の影響を受けます。たとえば、モジュールがセッション内で'module 1'に設定されており、そのセッションのユーザー・コールで'module 2'にリセットされた場合、このモジュールは、ユーザー・コールの間'module 1'のままとなります。モジュールは、このセッションの次のユーザー・コールで'module 2'に変更されます。
例
サービス名とMODULE
の指定された組合せに対する統計情報収集を有効にするには、次のコマンドを実行します。
EXECUTE DBMS_MONITOR.SERV_MOD_ACT_STAT_ENABLE( 'APPS1','PAYROLL');
サービス名とMODULE
およびACTION
の指定された組合せに対する統計情報収集を有効にするには、次のコマンドを実行します。
EXECUTE DBMS_MONITOR.SERV_MOD_ACT_STAT_ENABLE('APPS1','GLEDGER','DEBIT_ENTRY');
これら2つのコマンドを両方とも実行すると、次のような統計情報が収集されます。
-
APPS1サービスに関する統計情報(両方のコマンドでサービス名が指定されているため)
-
PAYROLL
モジュール内のすべてのアクションに関する統計情報 -
GLEDGER
モジュール内のDEBIT_ENTRY
アクションに関する統計情報
121.1.9 SERV_MOD_ACT_TRACE_DISABLEプロシージャ
このプロシージャは、サービス名、MODULE
およびACTION
名の指定された組合せに対して有効にされたすべての
インスタンスに対するトレースを全体で無効にします。
構文
DBMS_MONITOR.SERV_MOD_ACT_TRACE_DISABLE( service_name IN VARCHAR2, module_name IN VARCHAR2, action_name IN VARCHAR2 DEFAULT ALL_ACTIONS, instance_name IN VARCHAR2 DEFAULT NULL);
パラメータ
表121-10 SERV_MOD_ACT_TRACE_DISABLEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
トレースが無効にされるサービスの名前。 |
|
|
|
|
|
このパラメータにインスタンス名を指定すると、指定された名前を持つインスタンス( |
使用上のノート
module_name
パラメータにNULL
を指定すると、MODULE
属性が設定されないセッションに関する統計情報が収集されなくなります。
例
APPS1という名前のサービスに対するトレースを有効にするには、次のコマンドを実行します。
EXECUTE DBMS_MONITOR.SERV_MOD_ACT_TRACE_ENABLE('APPS1', DBMS_MONITOR.ALL_MODULES, DBMS_MONITOR.ALL_ACTIONS,TRUE, FALSE,NULL);
前のステップで指定したトレースを無効にするには、次のコマンドを実行します。
EXECUTE DBMS_MONITOR.SERV_MOD_ACT_TRACE_DISABLE('APPS1');
サービス
およびMODULE
(すべてのACTION
)の指定された組合せに対するトレースを有効にするには、次のコマンドを実行します。
EXECUTE DBMS_MONITOR.SERV_MOD_ACT_TRACE_ENABLE('APPS1','PAYROLL', DBMS_MONITOR.ALL_ACTIONS,TRUE,FALSE,NULL);
前のステップで指定したトレースを無効にするには、次のコマンドを実行します。
EXECUTE DBMS_MONITOR.SERV_MOD_ACT_TRACE_DISABLE('APPS1','PAYROLL');
121.1.10 SERV_MOD_ACT_TRACE_ENABLEプロシージャ
このプロシージャでは、instance_name
が指定されていないかぎり、サービス名、MODULE
およびACTION
の指定された組合せに対するSQLトレースを全体で有効にします。
構文
DBMS_MONITOR.SERV_MOD_ACT_TRACE_ENABLE( service_name IN VARCHAR2, module_name IN VARCHAR2 DEFAULT ANY_MODULE, action_name IN VARCHAR2 DEFAULT ANY_ACTION, waits IN BOOLEAN DEFAULT TRUE, binds IN BOOLEAN DEFAULT FALSE, instance_name IN VARCHAR2 DEFAULT NULL, plan_stat IN VARCHAR2 DEFAULT NULL);
パラメータ
表121-11 SERV_MOD_ACT_TRACE_ENABLEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
SQLトレースが有効にされるサービス名。 |
|
SQLトレースが有効にされる |
|
SQLトレースが有効にされる |
|
|
|
|
|
このパラメータにインスタンス名を指定すると、指定された名前を持つインスタンス( |
|
行ソース統計をダンプする頻度。値は' |
使用上のノート
-
このプロシージャは、サービス、
MODULE
およびACTION
名の指定された組合せに対するトレースを有効にします。指定は完全に階層的であり、「サービス名」、「サービス名とMODULE
」、「サービス名、MODULE、およびACTION
名」を指定する必要があります。修飾子を省略すると、ワイルドカードを使用した場合と同様に動作するため、ACTION
を省略すると、すべてのACTION
を指定した場合と同じになります。ALL_ACTIONS
定数も同じ目的に使用できます。 -
このトレースは、アプリケーションの
MODULE
または特定のACTION
に対するサービス・レベルが低い場合に効果的です。 -
デフォルトでは、データベース全体に対してトレースが実行されます。
instance_name
パラメータを使用すると、トレースの対象を名前が付けられている既知のインスタンス(たとえば、低いサービス・レベルを示すことが判明しているインスタンスなど)に限定できます。 -
トレース情報は複数のトレース・ファイルに書き込まれるため、
trcsess
ツールを使用してトレース情報を単一のファイルにまとめる必要があります。 -
module_name
パラメータにNULL
を指定すると、MODULE
属性が設定されないセッションに関する統計情報が収集されるようになります。
例
APPS1
という名前のサービスに対するトレースを有効にするには、次のコマンドを実行します。
EXECUTE DBMS_MONITOR.SERV_MOD_ACT_TRACE_ENABLE('APPS1', DBMS_MONITOR.ALL_MODULES, DBMS_MONITOR.ALL_ACTIONS,TRUE, FALSE,NULL);
サービスおよびMODULE
(すべてのACTION
)の指定された組合せに対するトレースを有効にするには、次のコマンドを実行します。
EXECUTE DBMS_MONITOR.SERV_MOD_ACT_TRACE_ENABLE('APPS1','PAYROLL', DBMS_MONITOR.ALL_ACTIONS,TRUE,FALSE,NULL);
121.1.11 SESSION_TRACE_DISABLEプロシージャ
このプロシージャは、指定されたデータベース・セッションに対するトレースをローカル・インスタンス上で無効にします。
構文
DBMS_MONITOR.SESSION_TRACE_DISABLE( session_id IN BINARY_INTEGER DEFAULT NULL, serial_num IN BINARY_INTEGER DEFAULT NULL);
パラメータ
表121-12 SESSION_TRACE_DISABLEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
SQLトレースが無効にされるデータベース・セッション識別子。 |
|
現行のデータベース・セッションのシリアル番号。 |
使用上のノート
serial_num
がNULL
で、session_id
が指定されている場合は、セッションのシリアル番号に関係なく、指定されたsession_id
を持つセッションがトレースされなくなります。session_id
とserial_num
が両方ともNULL
の場合は、現行ユーザーのセッションはトレースされなくなります。session_id
にNULL
を指定し、serial_num
にNULL
以外を指定することはできません。また、NULL
値はデフォルトであり、省略できます。
例
指定したクライアントのセッション識別子を持つクライアント・セッションに対するトレースを有効にするには、次のコマンドを実行します。
EXECUTE DBMS_MONITOR.SESSION_TRACE_ENABLE(7,4634, TRUE, FALSE);
前のステップで指定したトレースを無効にするには、次のコマンドを実行します。
EXECUTE DBMS_MONITOR.SESSION_TRACE_DISABLE(7,4634);;
121.1.12 SESSION_TRACE_ENABLEプロシージャ
このプロシージャは、指定されたデータベース・セッションIDに対するSQLトレースをローカル・インスタンス上で有効にします。
構文
DBMS_MONITOR.SESSION_TRACE_ENABLE( session_id IN BINARY_INTEGER DEFAULT NULL, serial_num IN BINARY_INTEGER DEFAULT NULL, waits IN BOOLEAN DEFAULT TRUE, binds IN BOOLEAN DEFAULT FALSE, plan_stat IN VARCHAR2 DEFAULT NULL);
パラメータ
表121-13 SESSION_TRACE_ENABLEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
SQLトレースが有効にされるクライアント識別子。省略する(または |
|
現行のデータベース・セッションのシリアル番号。省略する(または |
|
|
|
|
|
行ソース統計をダンプする頻度。値は' |
使用上のノート
このプロシージャは、指定されたデータベース・セッションに対するトレースを有効にし、クライアント/サーバー・アプリケーションでも使用できます。データベース・セッションは複数のインスタンスに及ばないため、トレースはコール元が接続されているインスタンス上のみで有効になります。このトレースはローカル・インスタンス上のみで実行されます。
serial_num
がNULL
で、session_id
が指定されている場合は、セッションのシリアル番号に関係なく、指定されたsession_id
を持つセッションがトレースされます。session_id
とserial_num
が両方ともNULL
の場合は、現行ユーザーのセッションがトレースされます。session_id
にNULL
を指定し、serial_num
にNULL
以外を指定することはできません。また、NULL
値はデフォルトであり、省略できます。
例
指定したクライアントのセッション識別子を持つクライアント・セッションに対するトレースを有効にするには、次のコマンドを実行します。
EXECUTE DBMS_MONITOR.SESSION_TRACE_ENABLE(7,4634, TRUE, FALSE);
前のステップで指定したトレースを無効にするには、次のコマンドを実行します。
EXECUTE DBMS_MONITOR.SESSION_TRACE_DISABLE(7,4634);
次のいずれかのコマンドを実行します。
EXECUTE DBMS_MONITOR.SESSION_TRACE_ENABLE(5);
または
EXECUTE DBMS_MONITOR.SESSION_TRACE_ENABLE(5, NULL);
セッションID 5でセッションがトレースされます。同時に、次のいずれかのコマンドを実行します。
EXECUTE DBMS_MONITOR.SESSION_TRACE_ENABLE();
または
EXECUTE DBMS_MONITOR.SESSION_TRACE_ENABLE(NULL, NULL);
現行のユーザー・セッションがトレースされます。また、次のコマンドを実行します。
EXECUTE DBMS_MONITOR.SESSION_TRACE_ENABLE(NULL, NULL, TRUE, TRUE);
待機情報とバインド情報を収集しながら現行のユーザー・セッションがトレースされます。また、同じトレースを、キーワード構文を使用して次のようにも実行できます。
EXECUTE DBMS_MONITOR.SESSION_TRACE_ENABLE(binds=>TRUE);