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

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

5

积分

0

好友

0

主题
1#
发表于 2011-12-8 08:47:27 | 查看: 7580| 回复: 3
Maclean:
我已将事故发生时间段的AWR 上传,请您帮我看看,谢谢!!

AWR Rpt - SCQPACK Snap 2916 thru 2917.rar

46.7 KB, 下载次数: 1342

2#
发表于 2011-12-8 19:42:26
你好,

就这个AWR来看 硬解析比较多Hard parses:46.0,

% SQL with executions>1:         46.35         64.55  说明SQL语句不重复使用,可能由非绑定变量引起

latch: shared pool        1,327        4,702        3543        32.00        Concurrency
DB CPU                 3,233                 22.00         

主要等待是 : latch: shared pool 说明解析争用剧烈

        Begin        End
Host Mem (MB):         36,864.0         36,864.0
SGA use (MB):         10,704.3         10,704.3
PGA use (MB):         1,560.2         1,771.4
% Host Mem used for SGA+PGA:         33.27         33.84

Oracle 共消耗了33%左右的主机内存

shared pool        kghdmp:new        0        19,669        0
shared pool        kghalo        0        908        10,195
shared pool        kghupr1        0        252        4,153
shared pool        kghfre        0        136        6,005
shared pool        kghalp        0        108        621
shared pool        kghnospc request bits        0        21        1
shared pool        kgh_heap_sizes        0        10        23
shared pool        kghasp        0        4        6
shared pool        kghdmp:old        0        4        116
shared pool        kghfrunp: clatch: nowait        0        2        0
shared pool        kghfrunp: clatch: wait        0        1        0

引起 latch: shared pool 等待事件的最主要函数是kghdmp:new        0 、kghalo        等kgh函数,说明 shared pool size 共享池空间不足

_memory_imm_mode_without_autosga        FALSE

11.2 开始为了避免ORA-4031问题,即使设置sga_target=0 & memory_target=0 也会发生立即模式的动态调整autosga,而AWR显示 该实例 显示地设置该参数_memory_imm_mode_without_autosga为FALSE,也是引起ORA-04031问题的原因之一。


Pool        Name        Begin MB        End MB        % Diff
shared        ASH buffers        64.00        64.00        0.00
shared        KGLH0        187.54        150.96        -19.50
shared        KGLHD        3,372.39        3,398.33        0.77
shared        SQLA        71.94        77.11        7.19
shared        free memory        1,594.85        1,604.94        0.63
shared        kglsim object batch        91.68        91.68        0.00

KGLHD占用了大量内存 3,372MB


建议 通过脚本找出 可能的非绑定变量的SQL语句, 或者采用cursor_sharing=FORCE。


以上是我对该AWR报告的一点分析,因为时间紧张加之报告所提供的数据较少,所以难免有不到之处。

回复 只看该作者 道具 举报

3#
发表于 2011-12-8 20:18:46

回复 2# 的帖子

hello
谢谢你的分析,该种状况我们已经遇到好几次了,最后都只能重启db,修改了oracle的一些参数,使得sga都是手动管的,也设置了SHARED_POOL_RESERVED_SIZE等,还是没用
针对你的分析,有几点我不是很明白
1.kghl..这是什么东西呢,在出故障之前kglhd占了3,372MB,经观察kglhd是逐渐增长的,当使用alter system flush shared_pool时,可以减少该值,在10g中没有该pool
2.参数_memory_imm_mode_without_autosga为FALSE,就是将AMM的动态调整SGA的立即模式关闭了,使得sga是手动管理的,这个怎么理解也是造成ORA-04031的原因之一呢

回复 只看该作者 道具 举报

4#
发表于 2011-12-8 23:59:06
1. kglhd 实际上是library cache handle :All objects stored in the library cache are accessed using handles (kglhd)

2.
11.2 开始为了避免ORA-4031问题,即使设置sga_target=0 & memory_target=0 也会发生立即模式的动态调整autosga
,控制这种新特性的 隐式参数就是_memory_imm_mode_without_autosga , 当设置_memory_imm_mode_without_autosga为FALSE 那么就是纯粹的手动管理SGA。

回复 只看该作者 道具 举报

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

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

GMT+8, 2024-12-23 19:29 , Processed in 0.053718 second(s), 24 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

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