首頁 > 資料庫 > mysql教程 > oracle中ora-04301故障处理

oracle中ora-04301故障处理

WBOY
發布: 2016-06-07 17:46:17
原創
2195 人瀏覽過

本文章来介绍在使用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 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 情况。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板