oracle 查看进程执行的sql语句
来源:互联网 发布:淘宝美工免费教学视频 编辑:程序博客网 时间:2024/04/26 05:02
1、 先用ps -aux查询,发现有个进程占用大量CPU,记录下PID
2、 用语句SELECT a.username,a.sid,a.serial# FROM v$session a,v$process c
WHERE c.addr=a.paddr and spid=PID
查出相应的SESSION
3、 用语句select * from v$session_wait where sid=…
就查出等待事件是什么。
以上操作其实还可以用一个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
/
这里我们涉及了3个视图,并应用其关联进行数据获取.
首先需要输入一个pid,这个pid即process id,也就是在Top或ps中我们看到的PID.
通过pid和v$process.spid相关联我们可以获得Process的相关信息
进而通过v$process.addr和v$session.paddr相关联,我们就可以获得和session相关的所有信息.
再结合v$sqltext,我们即可获得当前session正在执行的SQL语句.
通过v$process视图,我们得以把操作系统和数据库关联了起来.
- oracle 查看进程执行的sql语句
- oracle 查看已执行的sql语句
- Oracle查看SQL语句的执行计划
- Oracle查看SQL语句的执行计划
- Oracle数据库查看一个进程是如何执行相关的实际SQL语句
- Oracle查看进程执行sql
- Oracle查看进程执行sql
- 查看oracle 用户执行的sql语句历史记录
- 查看oracle 用户执行的sql语句历史记录
- 查看oracle用户执行的sql语句历史记录
- 查看当前oracle中正在执行的sql语句
- 查看当前oracle中正在执行的sql语句
- 查看前五个最占用CPU的Oracle会话进程.以及他们正在执行的sql语句
- 查看Oracle执行的语句
- Oracle 查看sql语句执行计划方法
- oracle 查看session当前正执行的sql及近期执行的sql语句
- oracle 查看最近执行的语句
- Oracle中存储过程执行大的Sql语句时如何查看sql是否正确
- 新安装的windows2003找不到网上邻居
- VB replace 函數用法
- 开发DMO decoder给WMP使用播放视频文件经验一贴
- windows不能同时连接有线和无线
- 查看Oracle当前用户下的信息(用户,表视图,索引,表空间,同义词,存储过程函数,约束条件)
- oracle 查看进程执行的sql语句
- VS2010中添加WebService注意的几个地方
- 程序员杂记:我们的爱情故事
- gcc-cross 交叉编译
- sql语句性能优化
- Redis学习笔记一
- ubuntu的nfs功能配置
- 关于Windows Phone 7开发工具离线安装包
- widget模板