ORA-04031报错导致的数据库重启
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ORA-04031报错导致的数据库重启,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2905字,纯文字阅读大概需要5分钟。
内容图文
![ORA-04031报错导致的数据库重启](/upload/InfoBanner/zyjiaocheng/548/973120f3ba9f4b0c97f7229f80484e0e.jpg)
Linux公社(www.linuxidc.com)是专业的Linux系统门户网站,实时发布最新Linux资讯,包括Linux、Ubuntu、Fedora、RedHat、红旗Linux、Linux教程、Linux认证、SUSE
环境:
OS:AIX Version 6.1
Oracle : 10.2.0.5 rac(节点rac2)
一、问题描述
晚上22:40 收到一条短信,数据库挂了,立马连上数据库,在日志里面发现:
从日志里面看问题很明显:是由于ora04031导致数据库重启。
二、分析与解决问题思路:
ora04031错误导致后台进程LCK0挂了,进而导致数据库重启:
查看当前数据库相关参数:
查看awr:
这里可以看出shared pool size 是8G ,buffer cache有 160G,有7个子池
查看dump文件/oracle/product/admin/oss139/bdump/oss1392_lck0_6685174.trc
Memory Utilization of Subpool 1
================================
Allocation Name Size
_________________________ __________
"free memory " 19127320 19M
Memory Utilization of Subpool 2
================================
Allocation Name Size
_________________________ __________
"free memory " 131103400 130M
Memory Utilization of Subpool 3
================================
Allocation Name Size
_________________________ __________
"free memory " 19409776 19M
Memory Utilization of Subpool 4
================================
Allocation Name Size
_________________________ __________
"free memory " 19172224 19M
emory Utilization of Subpool 5
================================
Allocation Name Size
_________________________ __________
"free memory " 18623928 18M
Memory Utilization of Subpool 6
================================
Allocation Name Size
_________________________ __________
"free memory " 18026416 18M
Memory Utilization of Subpool 7
================================
Allocation Name Size
_________________________ __________
"free memory " 12162296 12M
相比前一天总free memory下降到只有200多M,,对应的gcs resources,gcs shadows却占用了5G多空间,gcs resources和gcs shadow资源均是Oracle RAC中特有的全局缓存服务资源,这些资源负责处理RAC中的全局buffer cache。
然后查询shared_pool当前的剩余内存:
只有16M了,也就是昨天发生ora 04031并不是偶然。
在metalink搜索gcs resource:
Gcs 这两位兄弟会导致ora 04031错误:
那么如何评估gcs的大小?
从上图红线可以看出他的大小依赖于db buffer的大小。
当实例高速缓存buffer cache增加的时候,gcs资源所占用的空间也相应增长,具体算法如下:Example with Linux x86-64 / 10.2.0.4
o v$resource_limit
Resource Name Current Max Initial Limit
-------------- ------- ------- ------- -------
gcs_resources 585758 1110251 1113203 1113203
gcs_shadows 909888 1111054 1113203 1113203
o Initial shared memory in theory,
gcs resources = 1113203 * 120(+alpha) bytes = 133,584,360 (+alpha) bytes
gcs shadows = 1113203 * 72(+alpha) bytes = 80,150,616 (+alpha) bytes
o Actual size in shared pool
gcs resources = 185,766,864 bytes
gcs shadows = 107,993,760 bytes
Practically, a little bigger memory is used because gcs resources/shadows
structure sizes are different depending on Oracle versions and platforms.
也就是加大shared_pool 。
内容总结
以上是互联网集市为您收集整理的ORA-04031报错导致的数据库重启全部内容,希望文章能够帮你解决ORA-04031报错导致的数据库重启所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。