暂无图片
请问,系统现在卡顿,根据dump文件可以看出卡在数据库上,但是数据库没看出任何问题,我获取了三个awr日志,麻烦大神帮我看一下,问题到底在哪?
我来答
分享
1℃
2020-03-12
请问,系统现在卡顿,根据dump文件可以看出卡在数据库上,但是数据库没看出任何问题,我获取了三个awr日志,麻烦大神帮我看一下,问题到底在哪?
暂无图片 5M

请问,系统现在卡顿,根据dump文件可以看出卡在数据库上,但是数据库没看出任何问题,我获取了三个awr日志,麻烦大神帮我看一下,问题到底在哪?

我来答
添加附件
收藏
分享
问题补充
6条回答
默认
最新
1℃
上传附件:awr.html
暂无图片 评论
暂无图片 有用 0
打赏 0
1℃
上传附件:awr2.html
暂无图片 评论
暂无图片 有用 0
打赏 0
1℃
上传附件:awr3.html
暂无图片 评论
暂无图片 有用 0
打赏 0
冯彦苇

你的数据库存在行锁,可以查询一下数据库产生行锁的阻塞源。

暂无图片 评论
暂无图片 有用 0
打赏 0
刘峰

通过AWR分析,主要等待事件:enq: TX - row lock contention。通过vsession,vsession,vsession_wait及vsession_event查看阻塞源。 单机环境通过以下SQL可以查到阻塞源,如果找不到阻塞源窗口,杀会话处理。 set lines 200 pages 100 col tree for a30 col event for a40 select * from (select a.sid, a.serial#, a.sql_id, a.event, a.status, connect_by_isleaf as isleaf, sys_connect_by_path(SID, '<-') tree, level as tree_level from vsession a
start with a.blocking_session is not null
connect by nocycle a.sid = prior a.blocking_session)
where isleaf = 1
order by tree_level asc;

暂无图片 评论
暂无图片 有用 0
打赏 0
peiyang

从第一个与第二个AWR看主要的等待事件行锁:
image.png
行锁的平均等待已经达到45013ms
原因分析:
1.检查一下enq:tx-row lock contention对于的会话情况,以及阻塞源情况。
SQL参考:
set linesize 300
set pagesize 400
col username for a15
col event for a30
col machine for a10
col program for a25
col spid for a15
col sql_id for a15
col status for a10
select a.sid,a.serial#,b.spid,a.username,a.event,a.machine,a.program,a.sql_id,a.blocking_session as blocker,a.status,a.paddr,a.p1,a.p1raw,a.p2,a.p2raw
from vsessiona,vsession a,vprocess b
where a.paddr=b.addr
–and a.inst_id=3
and a.event like ‘enq%’
order by a.sid;
可以通过blocking_session查到阻塞源的会话id,还可以参考SQL:
set linesize 300
col username for a10
col event for a30
col machine for a20
col status for a15
col program for a20
col sql_id for a15
col spid for a15
select a.sid,a.serial#,a.username,a.event,a.machine,a.program,a.sql_id,a.status,b.spid
from vsessiona,vsession a,vprocess b
where a.paddr=b.addr
and a.sid in (
select blocking_session from v$session
where event like ‘%&event%’);
event修改为enq: TX - row lock contention
2.从第三个AWR看出存在log file sync
这个可以检查一下redo日志的大小
从操作系统看这个数据库是安装在windows上面的。

建议:
1.行锁检查,修改业务逻辑,检查是否存在长期不提交或者回滚的DML操作。
2.检查业务是否存在select for update操作。
3.检查一下redo的大小情况,检查一下磁盘的IO情况

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
oracle数据库sql子查询无法解析到表名
回答 1
是不是用了dblink,如果原来的用了dblink是导不出来的重新要配置
生产环境trc文件出现 process J000 is dead 是什么问题?期间 客户端连接提示:ORA-27102
回答 5
看看这篇文章是否有帮助:https://blog.csdn.net/as1123671649/article/details/132058817
Oracle中rman备份,把脚本的清理归档的动作注释掉了,为什么今天备份的时候还是把归档清理了?
回答 1
有没有用备份工具,设置清理归档的
大神们,19C 的19.11.0.0的RAC经常有这个对象:SVCOBJ_ACCESS 产生锁。不知道啥原因。有人遇到过么?
回答 1
请将问题详细描述一下
单节点ADG环境v$managed_standby中thread#=0和thread#=1的区别及用途是什么?
回答 7
升级问题到:一般问题
请问如何分辨某个用户是从哪台机器登陆 ORACLE 的?
回答 2
已采纳
&nbsp;SELECTmachine,terminalFROMV$SESSION;可以通过这个语句查一下
快速purge dba_recyclebin
回答 7
问题已关闭:问题已经得到解决
Oracle 19c里面 sys.dbms_stats.postprocess_stats 这个的作用是?
回答 1
sys.dbmsstats.postprocessstats是Oracle数据库中一个用于统计信息管理的PL/SQL包中的一个子程序,它的作用是对已经收集的统计信息进行后处理和优化,以提高数据库查询的
GoldenGate Director只能安装在windows么,还有就是为什么找不到这个工具的下载地址呢?
回答 1
已采纳
当然不是,Linux这些也是可以装的,但装的前提条件:1、JRE软件版本必须是1.6.x以上。2、已安装weblogic中间件。如何安装请参考:安装配置weblogic实例3、已安装存放GGDirec
Oracle报错:ORA-01102: cannot mount database in EXCLUSIVE mode
回答 2
使用90%有效的重启大法
问题信息
请登录之后查看
附件列表
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~