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

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

0

积分

1

好友

2

主题
1#
发表于 2013-4-1 18:16:12 | 查看: 5493| 回复: 5
本帖最后由 Magit 于 2013-4-1 18:21 编辑

aix 6.1
oracle 10.2.0.4
rac

上午10点多发生过一次04031,随后重启了数据库,下午15:34再次发生04031。
ORA-04031: unable to allocate 4120 bytes of shared memory ("shared pool","select con#,type#,condlength...","Typecheck","kgghtInit")

数据库为msmm,主要参数:sga:20g,shared_pool:4g,db_cache:4g,keep_cache:3g,recycle_cache:6g

请刘大帮忙分析下,谢谢。

alert_sxvpd1.rar

5.33 KB, 下载次数: 904

awr.rar

42.81 KB, 下载次数: 888

sxvpd1_ora_876786.rar

3.78 MB, 下载次数: 632

sxvpd1_smon_1372202.rar

62.5 KB, 下载次数: 887

2#
发表于 2013-4-1 18:32:38
是11:24就再次报04031了

回复 只看该作者 道具 举报

3#
发表于 2013-4-1 19:43:31
Hard parses:         81.40         4.67

Pool        Name        Begin MB        End MB        % Diff
java        free memory        256.00        256.00        0.00
large        free memory        255.63        255.63        0.00
shared        ASH buffers        50.00        50.00        0.00
shared        CCursor        238.39        199.79        -16.19
shared        KQR L PO        73.59        82.70        12.38
shared        PCursor        177.24        152.01        -14.24
shared        db_block_hash_buckets        45.00        45.00        0.00
shared        free memory        718.74        767.21        6.74
shared        gcs resources        166.41        166.41        0.00
shared        gcs shadows        99.67        99.67        0.00
shared        ges enqueues        209.24        212.77        1.69
shared        ges resource        188.21        196.69        4.50
shared        kglsim object batch        57.63        69.27        20.19
shared        library cache        912.59        899.85        -1.40
shared        sql area        860.07        869.09        1.05
streams        free memory        16.00        16.00        0.00
        buffer_cache        15,360.00        15,360.00        0.00
        fixed_sga        2.02        2.02        0.00
        log_buffer        13.98        13.98        0.00


        Begin        End
Memory Usage %:         82.45         81.27
% SQL with executions>1:         21.17         42.56
% Memory for SQL w/exec>1:         23.02         40.45


可以确定的是 硬解析多 SQL重用率极低  ,虽然shared pool的free memory还不少 但大致可以推断都是 小的memory chunk碎片

回复 只看该作者 道具 举报

4#
发表于 2013-4-1 20:27:34
shared_pool_size 4G设置是否也过小?

回复 只看该作者 道具 举报

5#
发表于 2013-4-1 22:27:24
你这个是 老生常谈型的 4031问题, 就是应用设计不良造成的。

措施有几种:

1. 优化SQL ,这个是治本的
2. 用cursor_sharing=FORCE
3. 或者定期flush shared pool

2、3多少有副作用就是了,但也比出4031好

回复 只看该作者 道具 举报

6#
发表于 2013-4-1 23:28:53
多谢您的解答

回复 只看该作者 道具 举报

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

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

GMT+8, 2024-11-16 11:52 , Processed in 0.058010 second(s), 24 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

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