Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3672703
  • 博文数量: 715
  • 博客积分: 1860
  • 博客等级: 上尉
  • 技术积分: 7745
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-07 08:51
个人简介

偶尔有空上来看看

文章分类

全部博文(715)

文章存档

2023年(75)

2022年(134)

2021年(238)

2020年(115)

2019年(11)

2018年(9)

2017年(9)

2016年(17)

2015年(7)

2014年(4)

2013年(1)

2012年(11)

2011年(27)

2010年(35)

2009年(11)

2008年(11)

分类: Oracle

2022-03-26 19:28:23

告警日志或者应用报错后,可以看看相关trc,也许能看到以下:

导致ora-4031的原因:
* SGA 太小
select pool,round(sum(bytes)/(1024*1024),2) size_mb  from V$SGASTAT group by pool order by 1;

* 内存自动调优问题
* 应用设计导致的碎片(比如没使用绑定变量)
* BUG或内存泄漏

先来个脚本压压惊
srdc_db_ora4031sp.sql

ORA-04031 如果想深入看看到底什么原因导致

  1. --设置事件
  2. sqlplus /nolog
  3. connect / as sysdba
  4. alter system set events '10235 level 65536';
  5. exit

  6. Then wait a while for the ORA-4031 (or at least the memory allocations) to occur, and then execute:
  7. sqlplus /nolog
  8. connect / as sysdba
  9. oradebug setmypid
  10. oradebug unlimit
  11. oradebug dump heapdump 536870914
  12. oradebug tracefile_name
  13. oradebug close_trace

  14. 执行完后关闭事件
  15. alter system set events '10235 off';

在转储的trc文件中搜 Heapdump shows 看是什么函数导致



有这一堆脚本应该够用了 Scripts.zip

参考:
ORA-4031 错误故障排除与诊断[视频] (Doc ID 2016002.1)
阅读(694) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~