oracle 数据库负载高分析
来源:互联网 发布:报复前女友 知乎 编辑:程序博客网 时间:2024/06/14 12:47
数据库负载高故障排查处理:
问题描述:查看数据库负载高达20左右,大量进程占用cpu较高
问题分析:多个单进程占用cpu较高,一般为索引失效,sql复杂查询数据量大或存在锁行,锁表等
,分析数据库dwr报告:
发现大量的行级锁,已经锁等待占用cpu较高,查询数据库锁:select t2.username,t2.sid,t2.serial#,t2.logon_time,event
from v$locked_object t1,v$session t2
where t1.session_id=t2.sid order by t2.logon_time desc
发现大量的行级锁
查询锁的进程对应的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.sid='897')
查出结果为:
数据库某块逻辑存在大量行级锁
行级锁导致原因大致分为以下几种:
1、不同的session同时更新或删除同一个记录
2、表上存在主键或唯一索引,会话1插入一个值(未提交),会话2同时或随后也插入同样的值
3、更新位图索引的一个键值,会指向多行记录,所以更新一行就会把该键值指向的所有行锁定
经排查为第一种情况导致,深入分析为恒通宜信网关多条数据返回同一个sendid,大并发情况下,更新同一行记录,导致行级锁引发的数据库负载剧增
问题处理:
避免多线程同时操作同一行记录即可
问题描述:查看数据库负载高达20左右,大量进程占用cpu较高
问题分析:多个单进程占用cpu较高,一般为索引失效,sql复杂查询数据量大或存在锁行,锁表等
,分析数据库dwr报告:
发现大量的行级锁,已经锁等待占用cpu较高,查询数据库锁:select t2.username,t2.sid,t2.serial#,t2.logon_time,event
from v$locked_object t1,v$session t2
where t1.session_id=t2.sid order by t2.logon_time desc
发现大量的行级锁
查询锁的进程对应的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.sid='897')
查出结果为:
数据库某块逻辑存在大量行级锁
行级锁导致原因大致分为以下几种:
1、不同的session同时更新或删除同一个记录
2、表上存在主键或唯一索引,会话1插入一个值(未提交),会话2同时或随后也插入同样的值
3、更新位图索引的一个键值,会指向多行记录,所以更新一行就会把该键值指向的所有行锁定
经排查为第一种情况导致,深入分析为恒通宜信网关多条数据返回同一个sendid,大并发情况下,更新同一行记录,导致行级锁引发的数据库负载剧增
问题处理:
避免多线程同时操作同一行记录即可
阅读全文
0 0
- oracle 数据库负载高分析
- MySQL 数据库高负载故障分析
- MySQL 数据库高负载故障分析
- linux 高负载分析
- 数据库cpu负载高
- oracle数据库的负载
- 高负载高并发网站架构分析
- 高负载高并发网站架构分析
- 高负载高并发网站架构分析
- Oracle 数据库服务器 IO 高的分析方案
- oracle的高可用与负载均衡
- [转]高负载并发网站架构分析
- [转]高负载并发网站架构分析
- linux 分析java 高负载Thread
- MySQL数据库负载很高的解决办法
- 数据库主从、主主,负载均衡,高可用
- 大型高并发高负载网站的系统架构分析
- 高并发高负载数据库架构策略(转载)
- 多租户设计-数据层的多租户支持
- 使用 HTTP/2 服务端推送技术加速 Node.js 应用
- 利用 Express 托管静态文件
- ES6ing 笔记
- ThinkPHP微信支付接口开发完整例子分享
- oracle 数据库负载高分析
- IP问问:从无到有——一种基于IP地址定位的位置|场景营销技术
- spring 事务JDBCTransaction JTATransaction CMTTransaction
- Tensorflow方法tf.SparseTensor使用说明
- mybatis:元素内容必须由格式正确的字符数据或标记组成
- python 正则化
- Unity5 AssetBundle 打包代码和加载代码
- 欢迎页设置和访问静态资源
- 【14.4】c++ primer plus 课后编程答案