DBMS_APPLICATION_INFO

DBMS_APPLICATION_INFO包记录数据库中正在执行的模块或事务的名称,以便后续跟踪模块的性能以及调试使用。应用程序允许系统管理员跟踪性能,系统管理员还可以使用此信息来跟踪模块的资源使用情况。

DBMS_APPLICATION_INFO子程序总览

子程序

说明

READ_CLIENT_INFO Procedure

读取当前会话中client_info字段的值。

READ_MODULE Procedure

读取当前会话中模块和操作字段的值。

SET_ACTION Procedure

设置当前模块中当前动作的名称。

SET_CLIENT_INFO Procedure

设置会话的client_info字段。

SET_MODULE Procedure

将当前正在运行的模块的名称设置为新模块。

READ_CLIENT_INFO

语法

DBMS_APPLICATION_INFO.READ_CLIENT_INFO (
 client_info OUT VARCHAR2);

参数

参数

说明

client_info

返回SET_CLIENT_INFO设置的最后一个client_info信息。

READ_MODULE

语法

DBMS_APPLICATION_INFO.READ_MODULE ( 
 module_name OUT VARCHAR2, 
 action_name OUT VARCHAR2);

参数

参数

说明

module_name

SET_MODULE最后一次设置的模块值。

action_name

SET_MODULESET_ACTION最后一次设置的操作值。

SET_ACTION

语法

DBMS_APPLICATION_INFO.SET_ACTION (
 action_name IN VARCHAR2);

参数

参数

说明

action_name

当前模块中当前操作的名称。当此操作终止时,如果存在其他操作,则使用下一个操作调用当前存储过程。否则,调用NULL。

说明

操作名称长度超过64个字节将被截断。

SET_CLIENT_INFO

语法

DBMS_APPLICATION_INFO.SET_CLIENT_INFO (
 client_info IN VARCHAR2);

参数

参数

说明

client_info

有关客户端应用程序的信息。

SET_MODULE

语法

DBMS_APPLICATION_INFO.SET_MODULE ( 
 module_name IN VARCHAR2, 
 action_name IN VARCHAR2);

参数

参数

说明

module_name

当前正在运行的模块的名称。 当前模块终止时,如果有新模块,则以新模块的名称调用此存储过程。否则,调用NULL。

说明

模块名称长度超过64个字节将被截断。

action_name

当前模块中当前操作的名称。 如果您不想指定操作,将值设置为NULL。

说明

操作名称长度超过64个字节将被截断。

示例

select pid,client_info,module,action from polar_get_app_info;

exec dbms_application_info.set_client_info('client2');
exec dbms_application_info.set_module('module2','action');
exec dbms_application_info.set_action('action2');

select pid,client_info,module,action from polar_get_app_info;

DECLARE
 _clinent TEXT;
 _mod_name TEXT;
 _act_name TEXT;
BEGIN
 dbms_application_info.read_client_info(_clinent);
 dbms_application_info.read_module(_mod_name,_act_name);
 raise notice 'client_info is : "%", module value is "%", action value is "%"', _clinent, _mod_name, _act_name;
END;