Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

11

积分

0

好友

4

主题
1#
发表于 2012-6-27 16:19:02 | 查看: 6156| 回复: 2
数据库版本 10.2.0.1,操作系统 redhat  单机环境在测试使用 dbms_monitor.serv_mod_act_trace_enable 跟踪会话的时候,我是使用
BEGIN
  DBMS_APPLICATION_INFO.set_module(module_name => 'test_module',action_name => 'test_action');                                 
END;
/


设置会话的 module_name,action_name。
从v$session 视图中也查询到设置成功

SQL>  select sid,service_name,client_identifier,module,action  from v$session where username is not null;

       SID SERVICE_NAME         CLIENT_IDENTIFIER    MODULE                         ACTION
---------- -------------------- -------------------- ------------------------------ ---------------
       159 SYS$USERS            tim_hall             test_module                    test_action


于是使用  dbms_monitor.serv_mod_act_trace_enable 跟踪这个会话。
我有一个疑惑,action_name => 'test_action' 这个只是我随便起的一个名字,并没有设定这个action 包括哪些操作。
那么这样的设置会跟踪这个会话的哪些操作呢? select,insert,update,delete ? 或者是全部的操作。
如果这杨设置会跟踪这个会话所有的操作,那是否等于  dbms_monitor.serv_mod_act_trace_enable 里面 action_name 使用默认值 any_action.
2#
发表于 2012-6-27 17:32:49
ODM FINDING:

The SERV_MOD_ACT_TRACE_ENABLE procedure enables tracing for services with three hierarchical possibilities: SERVICE_NAME, SERVICE_NAME/MODULE, and SERVICE_NAME/MODULE/ACTION. The default is to trace for all instances that access the database. A parameter is provided that restricts tracing to specified instances where poor performance is known to exist. This procedure also gives you the option of capturing relevant waits and bind variable values in the generated trace files. SERV_MOD_ACT_TRACE_DISABLE disables the tracing at all enabled instances for a given combination of service, module, and action. Like the statistics gathering mentioned previously, service tracing persists across instance restarts.

You can use the SERV_MOD_ACT_TRACE_ENABLE procedure to enable SQL tracing for a given combination of service name, module name, and action name globally, unless an instance_name is specified. The procedure has the following parameters:

SERVICE_NAME IN VARCHAR2: Name of the service for which tracing is to be enabled
MODULE_NAME IN VARCHAR2 DEFAULT ANY_MODULE: Name of the module—an (optional) additional qualifier for the service
ACTION_NAME IN VARCHAR2 DEFAULT ANY_ACTION: Name of the action—an (optional) additional qualifier for the service and module name
WAITS IN BOOLEAN DEFAULT TRUE: If TRUE, wait information is present in the trace.
BINDS IN BOOLEAN DEFAULT FALSE: If TRUE, bind information is present in the trace.
INSTANCE_NAME IN VARCHAR2 DEFAULT NULL: Restricts tracing to the named instance


BEGIN
  DBMS_APPLICATION_INFO.set_module(module_name => 'test_module',action_name => 'test_action1');                                 
END;
/


YOUR ACTION  1




BEGIN
  DBMS_APPLICATION_INFO.set_module(module_name => 'test_module',action_name => 'test_action2');                                 
END;
/


YOU ACTION 2


跟踪 ACTION 1阶段的所有操作

回复 只看该作者 道具 举报

3#
发表于 2012-6-27 20:07:43
BEGIN
  DBMS_APPLICATION_INFO.set_module(module_name => 'test_module',action_name => 'test_action1');                                 
END;
/

create table t(id number,owner varchar2(20),tname varchar2(50));

insert into t
select rownum,owner,table_name
from dba_tables where rownum<=100;
commit;

alter table t add status varchar2(10);

update t set id=id+1;
commit;
delete from t;
commit;

BEGIN
  DBMS_APPLICATION_INFO.set_module(module_name => 'test_module',action_name => 'test_action2');                                 
END;
/


drop table t;


我使用 tkprof 工具的 record 选项格式化了trace文件,

tkprof orcl_ora_4352.trc orcl_ora_3656.trcnew sys=no record=b.sql

b.sql 文件是包含了  drop table 之前的操作,
可能 action_name 只是为了跟 service_name,module_name 一起来标示要跟踪的进程(an (optional) additional qualifier for the service and module name)。

orcl_ora_4352.rar

10.63 KB, 下载次数: 715

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-12-26 01:25 , Processed in 0.050061 second(s), 24 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569