v$process视图学习

本文介绍了如何通过v$process和v$session视图,在Oracle数据库中查询与操作系统进程关联的SQL语句。从数据库查询到操作系统的进程,以及从操作系统进程反查数据库中的SQL语句。
v$process视图学习[@more@]通过v$processv$session,可以把操作系统和数据库系统联系起来,以下语句是从数据库到操作系统:

select p.spid, s.sid, s.serial#, s.program from v$process, v$session s

where p.addr = s.paddr and s.sid = &sid;

其中v$processspid为操作系统的进程号。

以下语句是从操作系统到数据库:

以root身份登录操作系统,执行topas命令,可以看到相关操作系统任务,如果此时有Oracle服务器进程消耗过多资源,可以找到其进程号,通过进程号把v$processv$session关联,可以找到此进程在数据库系统中正在执行的sql语句:

SELECT /*+ ORDERED */

sql_text

FROM v$sqltext a

WHERE (a.hash_value, a.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 b

WHERE b.paddr = (SELECT addr

FROM v$process c

WHERE c.spid = '&pid'))

ORDER BY piece ASC

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9523925/viewspace-1032198/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9523925/viewspace-1032198/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值