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

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

351

积分

0

好友

8

主题
1#
发表于 2012-4-6 09:44:34 | 查看: 10427| 回复: 7
今天早上数据库突然hung住,用户投诉前台无法登陆,在em性能页中查看,发现有大量的library cache:mutex X,其中这条语句尤为严重:
select
privilege#
from
sysauth$
where
(grantee#=:1
or
grantee#=1)
and
privilege#>0



执行计划如下:
操作对象顺序字节成本CPU (%)时间查询块名称/对象别名谓词投影
SELECT STATEMENT


3

2100





INLIST ITERATOR


2




SEL$1

"PRIVILEGE#"[NUMBER,22]
INDEX RANGE SCAN
I_SYSAUTH11324200:0:1SEL$1 / SYSAUTH$@SEL$1(("GRANTEE#"=:1 OR "GRANTEE#"=..."GRANTEE#"[NUMBER,22], "PRIVIL...

执行统计信息

总计每次执行每行
执行数2,987,94210.43
用时 (秒)829.03<0.01<0.01
CPU 时间 (秒)475.94<0.01<0.01
缓冲区获取数18,945,2156.342.71
磁盘读取数4<0.01<0.01
直接写入数00.000.00
行数6,994,1062.341
提取数9,982,0843.341.43

数据库版本是11.2.0.3,平台是windows 2008。

按我对library cache:mutex X的理解,应该是有硬解析才会持有mutex X吧,可以看出这里的基本都是软解析,怎么会导致严重的library cache:mutex X等待呢?

[ 本帖最后由 gdpr-dba 于 2012-4-6 10:02 编辑 ]
2#
发表于 2012-4-6 10:00:22
发现这个论坛我都贴不了图片,而且格式有点乱,不管了~~

回复 只看该作者 道具 举报

3#
发表于 2012-4-6 10:01:24
补充一下共享游标统计信息

分析总数  2,987,674
硬分析数  3
子游标  2
加载的计划  2
失效数  0
游标最大大小 (KB)  21.01
所有游标大小 (KB)  41.98
首次加载时间  2012-3-19 9:25:45 (UTC+08:00)
上次加载时间  2012-4-2 22:01:01 (UTC+08:00)

回复 只看该作者 道具 举报

4#
发表于 2012-4-6 14:44:30
Action Plan:

1. library cache:mutex X==> 这应当是 版本 11g吧

2. 上传问题时段的AWR报告

3. 压缩后打包上传问题时段的diag、SMON、PMON进程的TRACE文件

回复 只看该作者 道具 举报

5#
发表于 2012-4-10 09:53:09
刘大,awr报告已上传,帮忙看看,谢谢。

awr_report_6255_6256.html

749.61 KB, 下载次数: 1030

回复 只看该作者 道具 举报

6#
发表于 2012-4-10 22:27:32
11.2.0.3.0  RAC=Yes         Microsoft Windows x86 64-bit  22.32 (mins)


Top 5 wait event

Event        Waits        Time(s)        Avg wait (ms)        % DB time        Wait Class
latch: row cache objects        1,679        49,760        29636        68.71        Concurrency
library cache: mutex X        1,474        3,281        2226        4.53        Concurrency
latch: shared pool        5,031        2,642        525        3.65        Concurrency
DB CPU                 1,051                 1.45         
cursor: pin S wait on X        23        503        21883        0.69        Concurrency


Parses:        36.7        28.3                  
Hard parses:        2.0        1.5           ==> 硬解析并不多



Statistic Name        Time (s)        % of DB Time
connection management call elapsed time        15,532.90        21.45
parse time elapsed        9,567.86        13.21
hard parse elapsed time        5,583.33        7.71


connection management call  连接和  parse time  解析 消耗了主要的DB TIME,可能发生了hang


latch: row cache objects

row cache objects        kqreqd: reget        0        593        16
row cache objects        kqreqd        0        109        26
row cache objects        kqrpre: find obj        0        84        791




library cache: mutex X

Library Cache        kglhdgn2 106        229,842        0
Library Cache        kgllkdl1 85        79,591        0



shared pool        8,192.00        8,192.00        7,808.00        8,320.00        0        GRO/DEF
shared        KGLH0        1,507.44        1,387.50        -7.96
shared        KGLHD        225.81        209.78        -7.10
shared        SQLA        4,208.33        3,671.65        -12.75
shared        free memory        1,348.55        2,026.77        50.29


shared pool  的free memory 从 1,348 上升到 2026MB ,其中SQLA和 KGLHD (kgl handle)、KGLH0 (kgl heap 0) 使用量发生过下降


是否有人在这段时间中 flush 过shared POOL?

memory_target        22548578304
shared pool =8g

回复 只看该作者 道具 举报

7#
发表于 2012-4-11 09:04:30
谢谢刘大,应该没有flush过share pool,因为只有我一个dba,我没做过应该就没有其他人做过了。如果是单纯的高并发的软解析会造成library cache:mutex X吗?

回复 只看该作者 道具 举报

8#
发表于 2012-4-11 19:26:44
"如果是单纯的高并发的软解析会造成library cache:mutex X吗?"

还是有可能的, 但是可以观察AWR发现 问题时段的 软硬解析的频率远未达到水平。

回复 只看该作者 道具 举报

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

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

GMT+8, 2024-11-15 12:27 , Processed in 0.058910 second(s), 24 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

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