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 ...
随机推荐
- 【hibernate】Hibernate中get()和load()的区别
Hibernate中根据Id单条查询获取对象的方式有两种,分别是get()和load(),来看一下这两种方式的区别. 1. get() 使用get()来根据ID进行单条查询: 1 User user= ...
- Android图片加载神器之Fresco,基于各种使用场景的讲解
Fresco是Facebook开源Android平台上一个强大的图片加载库,也是迄今为止Android平台上最强大的图片加载库. 优点:相对于其他开源的第三方图片加载库,Fresco拥有更好的内存管理 ...
- [Algorithms] Tree Data Structure in JavaScript
In a tree, nodes have a single parent node and may have many children nodes. They never have more th ...
- table 设置边框
本文引自:https://www.cnblogs.com/leona-d/p/6125896.html 示例代码: <!DOCTYPE html> <html lang=" ...
- Android 扫描Scard卡全部的图片
这几天为了扫描Scard卡全部的图片的事非常纠结,我原本以为这是一件非常easy的事.可是我发现我错了.网上也没有完整的代码.仅仅是零零碎碎的能扫描单个文件的代码.在今天代码调试通过之后,我认为我有必 ...
- Cent OS下发送邮件
首先安装发送邮件的服务: yum install -y sendmail 安装完成之后在安装mutt yum install -y mutt 安装完成之后我们就可以发送邮件了 mutt tes ...
- vs2012 MinGW编译ffmpeg 出现libavdevice/avdevice.c(38) : error C2059: 语法错误:“.”
利用vs2012编译ffmpeg出现以下错误: libavdevice/avdevice.c(38) : error C2059: 语法错误:“.” libavdevice/avdevice.c(40 ...
- HDMI
HDMI,全称为(High Definition Multimedia Interface)高清多媒体接口,主要用于传输高清音视频信号. 现在是HDMI2.0.新一代的HDMI2.0较上一代最大的提升 ...
- [笔记] sed and awk
/ awk程序的典型示例是将数据转换成格式化的报表,当数据拥有某种结构时就能最好的体现awk的好处:可以使用awk脚本对数据的列重新排序,甚至可以将列变成行以及将行变成列:awk的功能将文本编辑的思想 ...
- nginx源代码分析--配置信息的继承&合并
这里仅仅讲述http{}模块下的配置: 在ngx_http_block()函数内(这个函数别调用时在ngx_inti_cycle内的ngx_conf_parse函数,这个函数遇到http命令时 回调n ...