Oracle查询当前高CPU消耗的SQL语句
来源:互联网 发布:桌面图标修复软件 编辑:程序博客网 时间:2024/04/29 08:09
分类: Oracle Performance2013-02-21 04:17 224人阅读 评论(0) 收藏 举报
ERP数据库某些时段出现CPU使用率接近100%,如何找出这些高CPU消耗的SQL语句?
SQL> select sql_text from v$sql where sql_id='dg5t8nfkaz8nk';
SQL_TEXT
------------------------------------------------------------------------------------------------------------------------------------
BEGIN :1:=FND_GLOBAL.USER_ID; :2:=FND_GLOBAL.RESP_ID; :3:=FND_GLOBAL.RESP_APPL_ID; :4:=FND_GLOBAL.SECURITY_GROUP_ID; :5:=FND_GL
OBAL.LOGIN_ID; :6:=FND_GLOBAL.NLS_LANGUAGE; :7:=FND_GLOBAL.NLS_DATE_FORMAT; :8:=FND_GLOBAL.NLS_DATE_LANGUAGE; :9:=FND_GLOBAL.NLS
_TERRITORY; :10:=FND_GLOBAL.NLS_NUMERIC_CHARACTERS; :11:=FND_GLOBAL.NLS_SORT;END;
小技巧:
select dbms_lob.substr(a.SQL_FULLTEXT) from v$sql a where sql_id='dg5t8nfkaz8nk';
--从AWR的snapshot中显示完整SQL,执行计划,绑定变量。
select * from table(dbms_xplan.display_cursor('dg5t8nfkaz8nk',null,'ADVANCED'));
1,查询高CPU消耗的pid
$ top
2,查询该pid的ADDR
SQL> select addr from v$process where spid='24764';
ADDR
----------------
00000007D3112C88
3,查询SQL_ID与用户session信息。
SQL> select sql_id from v$session where paddr='00000007D3112C88';
SQL_ID
-------------
dg5t8nfkaz8nk
SQL> select sid,SERIAL#,USERNAME,STATUS,sql_id from v$session where paddr='00000007D3112C88';
SID SERIAL# USERNAME STATUS SQL_ID
---------- ---------- ------------------------------ -------- -------------
2067 9786 APPS INACTIVE
2340 2720 APPS ACTIVE dg5t8nfkaz8nk
SQL> select sql_text from v$sql where sql_id='dg5t8nfkaz8nk';
SQL_TEXT
------------------------------------------------------------------------------------------------------------------------------------
BEGIN :1:=FND_GLOBAL.USER_ID; :2:=FND_GLOBAL.RESP_ID; :3:=FND_GLOBAL.RESP_APPL_ID; :4:=FND_GLOBAL.SECURITY_GROUP_ID; :5:=FND_GL
OBAL.LOGIN_ID; :6:=FND_GLOBAL.NLS_LANGUAGE; :7:=FND_GLOBAL.NLS_DATE_FORMAT; :8:=FND_GLOBAL.NLS_DATE_LANGUAGE; :9:=FND_GLOBAL.NLS
_TERRITORY; :10:=FND_GLOBAL.NLS_NUMERIC_CHARACTERS; :11:=FND_GLOBAL.NLS_SORT;END;
小技巧:
有时SQL_TEXT不能完整输出SQL语句,可以使用下面的函数进行输出转换
--从当前的内存中显示完整SQL语句select dbms_lob.substr(a.SQL_FULLTEXT) from v$sql a where sql_id='dg5t8nfkaz8nk';
--从AWR的snapshot中显示完整SQL,执行计划,绑定变量。
select * from table(dbms_xplan.display_cursor('dg5t8nfkaz8nk',null,'ADVANCED'));
- Oracle查询当前高CPU消耗的SQL语句
- postgresql定位分析消耗CPU高的SQL语句
- col 命令+查询最消耗cpu资源的SQL语句
- ORALE实时查询最消耗CPU资源的SQL语句
- Oracle高资源消耗SQL语句定位
- Oracle高资源消耗SQL语句定位
- 查找消耗CPU较大的sql语句
- oracle 查询当前占用cpu及时间最长的sql语句
- oracle 查询当前占用cpu及时间最长的sql语句
- 定位高消耗资源的sql语句
- 查询占CPU高的oracle进程执行的SQL语句或JOB
- SQL Server中查询CPU占用高的SQL语句
- SQL Server中查询CPU占用高的SQL语句
- SQL Server中查询CPU占用高的SQL语句
- SQL Server中查询CPU占用高的SQL语句
- 查询sql语句执行消耗的时间
- Oracle之查看最近最消耗CPU的SQL语句及会话信息的方法
- ORACLE当前活动的SQL,CPU负载高问题
- android导入工程出现红色感叹号运行提示错误
- BST简单测试
- 为httpd服务器签发证书
- C#中PictureBox控件获取网络图片并显示出来
- 针对CodeBlocks:undefined reference to `xxxxxx@x' 的解决方案
- Oracle查询当前高CPU消耗的SQL语句
- SLIM的DBA之路一(数据文件被移动后的数据恢复)
- 10 个有趣的 Linux 命令
- c语言字符数组与字符串的使用详解
- C语言中的经典小程序1
- QSettings用法讲解
- linux文件权限详解
- VMware Workstation 10
- tomcat配置log4j打印输出日志到指定文件