客户端程序优化SQL步骤


  简要说来,跟踪一个客户程序发出的SQL主要分成下面几步:

  1) 识别要跟踪的客户端程序到数据库的连接(后面都用session代替),主要找出能唯一识别一个session的sid与serial#.

  2) 设定相应的参数,如打开时间开关(可以知道一个sql执行了多长时间),存放跟踪数据的文件的位置、最大值。

  3) 启动跟踪功能

  4) 让系统运行一段时间,以便可以收集到跟踪数据

  5) 关闭跟踪功能

  6) 格式化跟踪数据,得到我们易于理解的跟踪结果。

  现在就每一步,给出详细的说明:

  1) 识别要跟踪的客户端程序到数据库的数据库连接

  查询session信息(在sql*plus中运行):

set linesize 190
col machine format a30 wrap
col program for a40
col username format a15 wrap
set pagesize 500
select s.sid sid, s.SERIAL# "serial#", s.username, s.machine, s.program,
p.spid ServPID, s.server
from v$session s, v$process p
where p.addr = s.paddr ;

  如得到的一个查询结果如下:

SID serial# USERNAME MACHINE PROGRAM SERVPID SERVER
---- ------- -------- ------------------ ------------- --------- ---------
8 3 SCOTT WORKGROUP\SUNNYXU SQLPLUS.EXE 388 DEDICATED
LOGON_TIME
------------------
2005.06.28 18:50:11

  上面的结果中比较有用的列为:

  sid, serial# : 这两个值联合起来唯一标识一个session


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3