免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5029 | 回复: 4
打印 上一主题 下一主题

oracle9I占用CPU据高不下,怎么解决? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-12-08 11:16 |只看该作者 |倒序浏览
今天早上数据库运行缓慢,用top命令查出oracle占用cpu的比例非常高。如何查出是什么原因啊?
操作系统是solaris9 sparc


load averages:  9.36,  9.20,  8.67                MISDB                11:04:18
121 processes: 105 sleeping, 12 running, 2 stopped, 2 on cpu
CPU states:  0.0% idle, 98.0% user,  2.0% kernel,  0.0% iowait,  0.0% swap
Memory: 8.0G real, 472M free, 6.7G swap in use, 3.3G swap free

   PID USERNAME THR PR NCE  SIZE   RES STATE   TIME FLTS    CPU COMMAND
  1987 oracle     1 32   0  6.4G  6.0G run   192:38    0 10.18% oracle
  4675 oracle     1 32   0  6.4G  6.0G run    21:05    0  9.91% oracle
  2779 oracle     1 22   0  6.4G  6.0G run    64:26    0  9.68% oracle
  5478 oracle     1 42   0  6.4G  6.0G run    13:17    0  9.66% oracle
  7367 oracle     1 42   0  6.4G  6.0G run     0:20    0  9.57% oracle
  4761 oracle     1 32   0  6.4G  6.0G run    12:56    0  9.55% oracle
  6812 oracle     1 41   0  6.4G  6.0G run     4:36    0  9.39% oracle
  7394 oracle     1 42   0  6.4G  6.0G run     0:02    0  2.25% oracle
  4717 oracle     1 59   0  6.4G  6.0G sleep   4:37    0  2.15% oracle
  7403 oracle     1 59   0  6.4G  6.0G sleep   0:02    0  2.09% oracle
  7392 oracle     1 59   0  6.4G  6.0G sleep   0:03    0  1.98% oracle
  6874 oracle     1 59   0  6.4G  6.0G sleep   0:24    0  1.57% oracle
  5773 oracle     1 59   0  6.4G  6.0G sleep   2:49    0  1.43% oracle
  7164 oracle     1 49   0  6.4G  6.0G run     0:22    0  1.41% oracle
  6053 oracle     1 59   0  6.4G  6.0G sleep   1:49    0  1.37% oracle

论坛徽章:
0
2 [报告]
发表于 2005-12-08 11:32 |只看该作者
1
ps -ef|grep  1987

2
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 = '1987'))
ORDER BY piece ASC

3.
make a statspack

论坛徽章:
0
3 [报告]
发表于 2005-12-08 11:42 |只看该作者
多谢楼上的~~~~~~~~~~~~~~~~

论坛徽章:
0
4 [报告]
发表于 2005-12-08 14:54 |只看该作者
看看则个帖子:
http://www.loveunix.net/discuz/v ... 1&highlight=cpu

好了后别忘记发解决过程

论坛徽章:
0
5 [报告]
发表于 2005-12-08 15:16 |只看该作者
问题找到了,是几个报表占用了大量CPU。
根据top里面的pid然后运行
select a.sid,spid,status,substr(a.program,1,40) prog,a.terminal,osuser, 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
就可以看到对应的PID是哪个用户的什么程序了,然后停调就好了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP