网站首页 > 技术文章 正文
从 v$sysstat 视图中可以找出Session 使用CPU 的情况,例如,可以统计Parse CPU to totalCPU ratio:该项显示总的CPU 花费在执行及解析上的比率。如果这项比率较低,说明系统执行了太多的解析。
总的 CPU 花费在执行及解析上的比率 = 1 - (parse time cpu / CPU used by this session),可通过以下SQL 语句统计出该项数据。
select 1-(a.value/b.value)
from v$sysstat a,v$sysstat b
where a.name='parse time cpu' and
b.name='CPU used by this session';
如果发现CPU 使用比较多,可用以下语句进一步找出使用CPU 多的用户Session:
select a.sid,spid,status,substr(a.program,1,40)
prog,a.terminal,osuser,value/60/100 value
from v$session a,v$process b,v$sesstat c
where c.statistic#=12
and c.sid=a.sid
and a.paddr=b.addr
order by value desc;
注意:
SQL 语句中的12 是指cpu used by this session。
再进一步找出使用CPU 多的SQL 语句,可查找指定SPID 正在执行的SQL 语句:
SELECT P.pid pid,S.sid sid,P.spid spid,S.username username,S.osuser
osname,P.serial#
S_#,P.terminal,P.program
program,P.background,S.status,RTRIM(SUBSTR(a.sql_text, 1, 80)) SQL
FROM v$process P, v$session S,v$sqlarea A
WHERE P.addr = s.paddr
AND S.sql_address = a.address (+)
AND P.spid LIKE '%&1%';
注意:
在Linux 环境中可以通过ps 查看进程信息,包括pid;而Windows 中任务管理器的PID与Oracle 的v$process 中的pid 不能一一对应。Windows 是多线程服务器,每个进程包含一系列线程,这点与UNIX 等不同,UNIX 每个Oralce 进程独立存在,在NT 上所有线程由Oralce 进程衍生。
也可以指定SID 查看正在执行的SQL 语句:
也可以指定SID 查看正在执行的SQL 语句:
SELECT P.pid pid,S.sid sid,P.spid spid,S.username username,S.osuser
osname,P.serial#
S_#,P.terminal,P.program
program,P.background,S.status,RTRIM(SUBSTR(a.sql_text, 1, 80)) SQL
FROM v$process P, v$session S,v$sqlarea A
WHERE P.addr = s.paddr
AND S.sql_address = a.address (+)
AND s.sid = '136';
猜你喜欢
- 2024-10-22 程序员笔记|解读Oracle AWR性能分析报告
- 2024-10-22 「优化体系」Oracle优化必备之动态性能视图v$session_longops
- 2024-10-22 英方i2Active发布3.1版本,针对Oracle的多项性能大幅度提升
- 2024-10-22 Oracle SQL性能优化技巧 oracle sql优化一般从那几个方面入手
- 2024-10-22 linux学习~Oracle数据库性能分析利器-AWR报告
- 2024-10-22 Oracle 性能分析与诊断|Buffer Cache Hit Ratio 诊断
- 2024-10-22 Oracle AI 性能优化指南探讨 oracle语句性能优化
- 2024-10-22 ORACLE SQL性能优化总结 oracle数据库性能优化方法论和最佳实践
- 2024-10-22 详解ORACLE DBA判断IO有性能问题的标准--操作系统和AWR报告
- 2024-10-22 oracle性能调优学习第一天 oracle性能调优总结
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (49)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- mac oracle (47)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)