永发信息网

oracle cpu使用率 多少合适

答案:1  悬赏:50  手机版
解决时间 2021-03-04 01:06
  • 提问者网友:自食苦果
  • 2021-03-03 12:00
oracle cpu使用率 多少合适
最佳答案
  • 五星知识达人网友:患得患失的劫
  • 2019-05-05 18:03
问题分析:
  一般cpu占用效高都是排序、sql解析和全表扫描,这里首先需要找出占用cpu最高的sql,然后查看他的执行计划,比如:看执行计划是走索引还是全表扫描(刚开始查看top发现占用同样多的CPU的进程很多,还以为是oracle 的bug, 后来发现不是)。
  处理过程:
  1, 根据操作系统进程查找Oracle数据库中占用最多CPU的SQL
  使用Linux系统 "top命令->P "查出占用cpu最高的进程PID
  操作如下:在sqlplus中执行如下sql:
  SQL>
  SELECt
  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
  其中&pid 是使用top 查看系统中进程占用CPU极高的PID
  找到SQL语句进行相应的调整优化
  2,分析找到的sql语句,如查看sql执行计划。
  总结:
  这里的问题是查询的where 条件字段没有在索引里面,导致查询慢。经过重建并增加相关字段到索引解决,但有点疑惑的是原来库上查询语句里where条件字段也没有在索引里面(新库是使用expdp导出再导入到新库的),查询还正常,CPU也不高,oracle数据库真是博大精深,好多问题还有待研究。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯