六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 167|回复: 0

oracle查询一些session相关的信息

[复制链接]

升级  74%

7

主题

7

主题

7

主题

童生

Rank: 1

积分
37
 楼主| 发表于 2013-1-29 15:20:43 | 显示全部楼层 |阅读模式
1 获取当前session的sid
 
       select sid, serial# from v$mystat where rownum=1

2  获取sid和spid
  (1)根据sid获取spid
         select spid from v$process p, v$session s where s.sid=&sid and s.paddr=p.addr;
 
 
   (2) 获取当前session的sid和spid
          select sid, spid from v$process p, v$session s  where s.paddr=p.addr and s.sid=(select sid from v$mystat where rownum=1);
 
3 获取当前session的trace文件路径
 
select p.value || '/' || t.instance || '_ora_' || ltrim(to_char(p.spid,'fm99999')) || '.trc'  trace_path
 from v$process p, v$session s, v$parameter p, v$thread t
 where p.addr = s.paddr and s.sid=(select sid from v$mystat where rownum=1) and p.name = 'user_dump_dest';
 
或者
select d.value || '/' || lower(rtrim(i.instance, chr(0))) || '_ora_' ||
       p.spid || '.trc' trace_file_name
  from (select p.spid
          from sys.v$mystat m, sys.v$session s, sys.v$process p
         where m.statistic# = 1
           and s.sid = m.sid
           and p.addr = s.paddr) p,
       (select t.instance
          from sys.v$thread t, sys.v$parameter v
         where v.name = 'thread'
           and (v.value = 0 or t.thread# = to_number(v.value))) i,
       (select value from sys.v$parameter where name = 'user_dump_dest') d;

 
4 根据sid查看当前正在执行或最近一次执行的语句
 
  select /*+ ordered */ sql_text from v$sqltext sql
  where (sql.hash_value, sql.address) in (
    select decode(sql_hash_value, 0, prev_hash_value, sql_hash_value), decode(sql_hash_value, 0, prev_sql_addr, sql_address)
    from v$session s where s.sid=&sid)
  order by piece asc;
 
 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表