Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

8

积分

0

好友

7

主题
1#
发表于 2015-4-10 12:17:04 | 查看: 6070| 回复: 8
早晨看到一个进程cpu100%,业务那边经常有业务失败,检查发现该进程是 LMD0进程。
但是告警日志没有任何问题,通过MOS和google,没搜到什么好的结论和解决办法。
附件是LMD0为100%的第一个节点的AWR报告和LMD0的TRACE,请刘大指点一下,如何诊断。

另外,机器本身系统配置应该也有问题,操作系统参数配置的内存为500G,实际SGA没有那么大,所以
操作系统本身内存在不断消耗,并且看不到回收。

awrrpt_1_7196_7197.zip

286.92 KB, 下载次数: 1881

LMD0.txt

3.85 KB, 下载次数: 1565

2#
发表于 2015-4-10 12:20:10
还有,LMS进程的trace里面,是没有任何错误

回复 只看该作者 道具 举报

3#
发表于 2015-4-10 12:25:59
感觉应用有点奇葩
例如 1jh42sn8hdfx8 这样的语句

平均等待 enq:TX 非常长的 行锁等待,其中必有蹊跷

EventWaitsTime(s)Avg wait (ms)% DB timeWait Class
enq: TX - row lock contention
24
1,757,757
73239856
99.10
Application
DB CPU
12,405
0.70
SQL*Net message from dblink
341,945
1,149
3
0.06
Network
DFS lock handle
18,116
597
33
0.03
Other
rdbms ipc reply
15,775
267
17
0.02
Other

回复 只看该作者 道具 举报

4#
发表于 2015-4-10 12:33:04
        SELECT * FROM CMQ_MSGLOCK WHERE ID = 1 FOR UPDATE

CMQ_MSGLOCK 表有多少行记录?其中ID=1的有多少行?

回复 只看该作者 道具 举报

5#
发表于 2015-4-10 12:33:36
Maclean Liu(刘相兵 发表于 2015-4-10 12:33
SELECT * FROM CMQ_MSGLOCK WHERE ID = 1 FOR UPDATE

CMQ_MSGLOCK 表有多少行记录?其中ID=1的有多少行? ...

这个是一个常量锁定,会一直锁

回复 只看该作者 道具 举报

6#
发表于 2015-4-10 12:34:10
Maclean Liu(刘相兵 发表于 2015-4-10 12:33
SELECT * FROM CMQ_MSGLOCK WHERE ID = 1 FOR UPDATE

CMQ_MSGLOCK 表有多少行记录?其中ID=1的有多少行? ...

是应用中间件CMQ的一条语句,要一直锁定,所以这个是正常的

回复 只看该作者 道具 举报

7#
发表于 2015-4-10 17:13:24
Segments by Row Lock Waits
% of Capture shows % of row lock waits for each top segment compared
with total row lock waits for all segments captured by the Snapshot
Owner        Tablespace Name        Object Name        Subobject Name        Obj. Type        Row Lock Waits        % of Capture
AMS        AMS_IDX        T_AMS_AC_IF_ADT_BNO_IDX                 INDEX        1,150        41.58
AIS        AIS_IDX        T_AIS_GL_DTL_D_IDX3                 INDEX        184        6.65
AMS        AMS_IDX        AMS_TEST_T_AC_PMT_DTL_IDX                 INDEX        152        5.50
AIS        AIS_IDX        T_AIS_GL_DTL_D_IDX2        P201505        INDEX PARTITION        136        4.92
AMS        AMS_IDX        CMQ_MSGPROD_CCMMIDX                 INDEX        132        4.77


这个索引是不是有问题,查看一下。

回复 只看该作者 道具 举报

8#
发表于 2015-4-10 17:14:04
T_AMS_AC_IF_ADT_BNO_IDX 在Segments by Row Lock Waits
是最大值,这个索引是不是有问题,查看一下。

回复 只看该作者 道具 举报

9#
发表于 2015-4-10 17:20:27
T_AMS_AC_IF_ADT_BNO_IDX 是T_AMS_AC_IF的索引
是不是这个语句引起的row lock waits
UPDATE T_AMS_AC_IF N SET N.ADT=:1 , N.ADT_BNO=:2 , N.LAST_BL=N.SMT_BLK_AMT+N.BL+N.RC_BLK_AMT WHERE N.ADT=:3 AND N.ADT_BNO=:4 AND N.AC_NO=:5

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-12-20 19:52 , Processed in 0.054159 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569