设为首页 加入收藏

TOP

启用用户进程跟踪(二)
2014-11-24 02:03:30 来源: 作者: 【 】 浏览:12
Tags:启用 用户 进程 跟踪
=0,e=208,p=0,cr=7,cu=0,mis=0,r=1,dep=0,og=1,tim=1253679195783930
FETCH #4:c=0,e=73,p=0,cr=1,cu=0,mis=0,r=0,dep=0,og=1,tim=1253679195826698
STAT #4 id=1 cnt=1 pid=0 pos=1 obj=51148 op='TABLE ACCESS FULL EMP (cr=8 pr=0 pw=0 time=194 us)'

--在scott登陆的会话中执行下面的语句,则跟踪文件orcl_ora_7826.trc同步显示所执行的数据操纵语句
SQL> select * from scott.emp where ename ='SCOTT';

EMPNO ENAME JOB MGR HIREDATE
---------- -------------------- ------------------ ---------- -------------
SAL COMM DEPTNO
---------- ---------- ----------
7788 SCOTT ANALYST 7566 19-4月-87
3100 20

--由上可知,整个语句的执行详细处理步骤,最后提示使用了全表扫描
关于实例级别的跟踪,专用服务器模式每个服务器进程都会生成自己的跟踪信息流
共享模式则每个共享服务器都存在一个跟踪文件,且跟踪文件包含的跟踪信息与该共享服务器为其服务的所有会话
而执行的所有SQL语句相关

--关闭实例级别的跟踪
SQL> alter system set sql_trace = false;

System altered.

2.演示基于会话级别的跟踪
一个会话自身能够交互地启用针对该会话的跟踪,其它会话也可以编程启用针对该会话进行跟踪
--清理上次跟踪的会话文件,且同样可以使用上面的方式来进行跟踪,只不过修改跟踪的参数不同而已
SQL> ho rm -f /u01/app/oracle/admin/orcl/udump/* --*/

SQL> conn system/redhat
Connected.
SQL> alter session set sql_trace=true;

Session altered.

--执行SQL 语句则开始跟踪,跟踪完毕后执行下面的语句关闭跟踪
--此处跟踪的方法同实例级别跟踪

SQL> alter session set sql_trace = false;

Session altered.

--开启另一会话使用dbms包进行跟踪
SQL> conn system/redhat
Connected.
SQL> select sid,serial# from v$session where username = 'SYSTEM';

SID SERIAL#
---------- ----------
133 1141

SQL> exec dbms_monitor.session_trace_enable(session_id=>133,serial_num=>1141);

PL/SQL procedure successfully completed.

SQL> update scott.emp set sal = sal + 500 where ename = 'SCOTT';

1 row updated.

SQL> exec dbms_monitor.session_trace_disable(session_id=>133,serial_num=>1141);

PL/SQL procedure successfully completed.


SQL> select s.username,s.sid,p.spid from v$session s,v$process p
2 where s.paddr = p.addr and s.sid = 133;

USERNAME SID SPID
------------------------------ ---------- ------------
SYSTEM 133 10170

SQL> ho cat $ORACLE_BASE/admin/orcl/udump/orcl_ora_10170.trc
/u01/app/oracle/admin/orcl/udump/orcl_ora_10170.trc
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
ORACLE_HOME = /u01/app/oracle/10g
System name: Linux
Node name: robinson
Release: 2.6.18-164.el5
Version: #1 SMP Tue Aug 18 15:51:54 EDT 2009
Machine: i686
Instance name: orcl
Redo thread mounted by this instance: 1
Oracle process number: 18
Unix process pid: 10170, image: oracle@robinson (TNS V1-V3)

*** 2010-09-06 19:49:33.906
*** ACTION NAME:() 2010-09-06 19:49:33.903
首页 上一页 1 2 3 4 下一页 尾页 2/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇【Oracle】OPatch升级 下一篇OracleDSI核心技术揭密

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: