oracle报sp20042,oracle中ora-04301故障处理

5268f80b9b1e01f982625ef6fac83ca1.png

本文章来介绍在使用oracle数据库时出现了04301错误的解决方法,有碰到想同问题的同学可以参考一下本文章来处理哦,此文章做笔记使用。

本文章来介绍在使用oracle数据库时出现了04301错误的解决方法,有碰到想同问题的同学可以参考一下本文章来处理哦,此文章做笔记使用。

上一次报ora-04301,调整了一下shared pool size ,好过一段时间,最近又发生了这个错误。所以决心好好整一下应用,主要还是碎片太严重啊。

代码如下

ksmchidx,

(case

when ksmchsiz >= 65560 then

254

when ksmchsiz >= 32792 then

253

when ksmchsiz >= 40 then

1

when ksmchsiz >= 32 then

0

end) bucket#,

count(*) free_chunks,

sum(ksmchsiz) free_space,

trunc(avg(ksmchsiz)) avg_chunk_size

from x$ksmsp

where ksmchcls = 'free'

group by ksmchidx,

(case

when ksmchsiz >= 65560 then

254

when ksmchsiz >= 32792 then

253

when ksmchsiz >= 40 then

1

when ksmchsiz >= 32 then

0

end);

这个是观察shared pool碎片情况的SQL。

代码如下

select name,value from v$sysstat where name like '%parse%';

查看解析情况,好多的硬解析,和软解析差不了!

代码如下

SELECT substr(sql_text, 1, 40) "SQL", count(*), sum(executions) "TotExecs",max(sql_id) sql_id

FROM v$sqlarea

WHERE executions < 5

GROUP BY substr(sql_text, 1, 40)

HAVING count(*) > 30

ORDER BY 2;

select * FROM v$sqlarea where sql_id='g2b789ppwxjx8';

查占用shared pool较多的sql。

代码如下

ELECT KSMCHCLS CLASS, COUNT(KSMCHCLS) NUM, SUM(KSMCHSIZ) SIZ,

To_char( ((SUM(KSMCHSIZ)/COUNT(KSMCHCLS)/1024)),'999,999.00')||'k' "AVG SIZE"

FROM X$KSMSP GROUP BY KSMCHCLS;

shared pool 情况。

1428d0e076c3959ab11d28a39bc84fab.png

5268f80b9b1e01f982625ef6fac83ca1.png

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值