Memory Notification: Library Cache Object loaded into SGA
问题现象:
数据库服务器可以ping通,但SSH连接不了;应用、plsqldeveloper 也都连接不了。事情到了这个地步,只能重启服务器。
服务器环境:oracle10.2.0.1 +rhel5.8
重启后,查看实例日志:
Wed Apr 30 13:12:24 2014
Memory Notification: Library Cache Object loaded into SGA
Heap size 2210K exceeds notification threshold (2048K)
KGL object name :XDB.XDbD/PLZ01TcHgNAgAIIegtw==
Wed Apr 30 14:00:16 2014
Thread 1 advanced to log sequence 24932
Current log# 1 seq# 24932 mem# 0: /data/oracle/product/10.2.0/db_1/oradata/urpdb/redo01.log
Wed Apr 30 15:00:16 2014
Thread 1 advanced to log sequence 24933
Current log# 3 seq# 24933 mem# 0: /data/oracle/product/10.2.0/db_1/oradata/urpdb/redo03.log
Wed Apr 30 15:15:05 2014
Thread 1 advanced to log sequence 24934
Current log# 2 seq# 24934 mem# 0: /data/oracle/product/10.2.0/db_1/oradata/urpdb/redo02.log
Wed Apr 30 15:16:02 2014
Thread 1 advanced to log sequence 24935
Current log# 1 seq# 24935 mem# 0: /data/oracle/product/10.2.0/db_1/oradata/urpdb/redo01.log
Wed Apr 30 15:17:42 2014
Thread 1 cannot allocate new log, sequence 24936
Checkpoint not complete
查看系统日志:
Apr 30 15:37:17 wiscomApp1 kernel: [<c0456331>] out_of_memory+0x72/0x1a5
Apr 30 15:37:17 wiscomApp1 kernel: [<c0457806>] __alloc_pages+0x216/0x297
Apr 30 15:37:17 wiscomApp1 kernel: [<c0458a73>] __do_page_cache_readahead+0xc4/0x1c6
Apr 30 15:37:17 wiscomApp1 kernel: [<c045304c>] sync_page+0x0/0x3b
Apr 30 15:37:17 wiscomApp1 kernel: [<c044e161>] __delayacct_blkio_end+0x32/0x35
Apr 30 15:37:17 wiscomApp1 kernel: [<c06077cf>] __wait_on_bit_lock+0x4b/0x52
Apr 30 15:37:17 wiscomApp1 kernel: [<c0452fc7>] __lock_page+0x52/0x59
Apr 30 15:37:17 wiscomApp1 kernel: [<c04558e3>] filemap_nopage+0x151/0x312
Apr 30 15:37:17 wiscomApp1 kernel: [<c045f306>] __handle_mm_fault+0x1d0/0xb62
Apr 30 15:37:17 wiscomApp1 kernel: [<c0609886>] do_page_fault+0x2a5/0x5d3
Apr 30 15:37:17 wiscomApp1 kernel: [<c0448f0d>] audit_syscall_entry+0x14b/0x17d
Apr 30 15:37:17 wiscomApp1 kernel: [<c06095e1>] do_page_fault+0x0/0x5d3
Apr 30 15:37:17 wiscomApp1 kernel: [<c0405a71>] error_code+0x39/0x40
通过这2个日志可以看出,在13:12分,实例日志提示sga中有数据内存超出默认值
操作系统在15:37:17报错内存溢出。这个内存溢出应该和实例有直接关系。
再次查看服务器环境:物理内存8G,但sga只有2G。另外无意中发现操作系统是32-bit Red Hat Linux,晕啊!
当时的第一想法,要想彻底解决这个问题,只能重新安装操作系统,再安装数据库,迁移数据。
后来,想看看实例中下面这段报错什么意思,
Memory Notification: Library Cache Object loaded into SGA
Heap size 2210K exceeds notification threshold (2048K)
于是发现了http://blog.itpub.net/519536/viewspace-659979这篇文章对这个分析的很好;
但从这个系统的实际情况说,这个只能是次要问题。真正要解决问题,还是上面的办法。
==============摘录链接文章中关键部分:===========================
在Oracle 10.2.0.1版本数据库中隐含参数_kgl_large_heap_warning_threshold默认值是2M,
该参数控制加载到内存中对象的大小,当加载的对象大于2M时,就会在alert警告文件中进行提示。
2M的默认大小相对太小,因此在10.2.0.1版本中可能很容易遇到这个报错信息。
该参数默认值在10.2.0.2版本中进行了调整,调整到了50M。
alter system set "_kgl_large_heap_warning_threshold"=52428800 scope=spfile;
然后重启实例。
Memory Notification: Library Cache Object loaded into SGA的更多相关文章
- 笔记:Memory Notification: Library Cache Object loaded into SGA
笔记:Memory Notification: Library Cache Object loaded into SGA在警告日志中发现一些这样的警告信息:Mon Nov 21 14:24:22 20 ...
- sga之library cache 内部原理
一.概述 library cache(库缓存)是shared pool中的一块内存区域,它的主要作用是缓存刚刚执行过的sql语句和pl/sql(包括存储过程.包.函数.触发器)所对应的解析计划.解析树 ...
- 如何使用event 10049分析定位library cache lock and library cache pin
Oracle Library Cache 的 lock 与 pin 说明 一. 相关的基本概念 之前整理了一篇blog,讲了Library Cache 的机制,参考: Oracle Library c ...
- Oracle内存详解之 Library cache 库缓冲
Oracle内存详解之 Library cache 库缓冲 2017年11月09日 11:38:39 阅读数:410更多 个人分类: 体系结构 Library cache是Shared pool的一部 ...
- Oracle内存详解之二 Library cache 库缓冲-转载
Library cache是Shared pool的一部分,它几乎是Oracle内存结构中最复杂的一部分,主要存放shared curosr(SQL)和PLSQL对象(function,procedu ...
- Library cache lock/pin详解
Library cache lock/pin 一.概述 ---本文是网络资料加metalink 等整理得来一个实例中的library cache包括了不同类型对象的描述,如:游标,索引,表,视图,过程 ...
- 11g等待事件之library cache: mutex X
11g等待事件之library cache: mutex X 作者: dbafree 日期: 2012 年 07 月 01 日发表评论 (0)查看评论 library cache: mutex X ...
- 共享内存shared pool (3):Library cache
Shared pool物理层面上由许多内存块(chunck)组成.从逻辑功能划分,Shared pool主要由三部分组成:Library cache,Dictionary cache和Control ...
- Library cache lock 故障解决一例
今天收到同事电话,说是数据库中一张名为acct_balance进行操作是奇慢,第一反映是不是扫行计划有问题,结果我错了,现将过程记录下来. 用pl/sql连上数据库情况:1.对acct_balance ...
随机推荐
- Android中的动画总结
文章主要内容来源<Android开发艺术探索>,部分内容来源网上的文章,文中会有链接. Android系统提供了两个动画框架:属性动画框架和View动画框架. 两个动画框架都是可行的选项, ...
- GeoServer自动发布地图服务
1 NetCDF气象文件自动发布案例 GeoServer是一个地理服务器,提供了管理页面进行服务发布,样式,切片,图层预览等一系列操作,但是手动进行页面配置有时并不满足业务需求,所以GeoServer ...
- 【java】httpclient的使用之java代码内发送http请求
场景: 需要本项目发送HTTP请求到另一个项目中,处理完成返回值给本项目. 1.本项目引入架包 <!-- httpclient 后台发送http请求--> <dependency&g ...
- SocketIO总结
我在马克飞象上写的一样的内容,感觉那个样式好看的:WorkerMan的部分总结 workerman中部分函数总结 以下是把我搜集到的资料进行了一个整合.详细怎么使用.慢慢摸索吧. Worker类 中文 ...
- MySQL主从复制技术与读写分离技术amoeba应用
MySQL主从复制技术与读写分离技术amoeba应用 前言:眼下在搭建一个人才站点,估计流量会非常大,须要用到分布式数据库技术,MySQL的主从复制+读写分离技术.读写分离技术有官方的MySQL-pr ...
- 我对Lamport Logical Clock的理解
建议先看论文原文再来看这篇文章,我不会对论文中的各个点都具体说明.仅仅是写一些我自己的想法,帮助理解. 大家都知道.分布式环境下.确定各个事件发生的顺序非常重要,不然就会发生一些麻烦的问题. 考虑一下 ...
- 通过jstl判断是否给value 赋值
<input type="text" name="saler.password" id="password" value=" ...
- vue2.0 + vux (三)MySettings 页
1.MySettings.vue <!-- 我的设置 --> <template> <div> <img class="img_1" sr ...
- Java序列化算法
Serialization(序列化)是一种将对象以一连串的字节描述的过程:反序列化deserialization是一种将这些字节重建成一个对象的过程.java序列化API提供一种处理对象序列化的标准机 ...
- C#文件操作与编程
一:驱动器System.IO 软盘,优盘,光盘,硬盘 DriveInfo/DriveType DriveInfo:确定有关驱动器的信息:盘符,类型,可用空间 DriveType:确定DriveInfo ...