问题现象:

数据库服务器可以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的更多相关文章

  1. 笔记:Memory Notification: Library Cache Object loaded into SGA

    笔记:Memory Notification: Library Cache Object loaded into SGA在警告日志中发现一些这样的警告信息:Mon Nov 21 14:24:22 20 ...

  2. sga之library cache 内部原理

    一.概述 library cache(库缓存)是shared pool中的一块内存区域,它的主要作用是缓存刚刚执行过的sql语句和pl/sql(包括存储过程.包.函数.触发器)所对应的解析计划.解析树 ...

  3. 如何使用event 10049分析定位library cache lock and library cache pin

    Oracle Library Cache 的 lock 与 pin 说明 一. 相关的基本概念 之前整理了一篇blog,讲了Library Cache 的机制,参考: Oracle Library c ...

  4. Oracle内存详解之 Library cache 库缓冲

    Oracle内存详解之 Library cache 库缓冲 2017年11月09日 11:38:39 阅读数:410更多 个人分类: 体系结构 Library cache是Shared pool的一部 ...

  5. Oracle内存详解之二 Library cache 库缓冲-转载

    Library cache是Shared pool的一部分,它几乎是Oracle内存结构中最复杂的一部分,主要存放shared curosr(SQL)和PLSQL对象(function,procedu ...

  6. Library cache lock/pin详解

    Library cache lock/pin 一.概述 ---本文是网络资料加metalink 等整理得来一个实例中的library cache包括了不同类型对象的描述,如:游标,索引,表,视图,过程 ...

  7. 11g等待事件之library cache: mutex X

    11g等待事件之library cache: mutex X 作者: dbafree 日期: 2012 年 07 月 01 日发表评论 (0)查看评论   library cache: mutex X ...

  8. 共享内存shared pool (3):Library cache

    Shared pool物理层面上由许多内存块(chunck)组成.从逻辑功能划分,Shared pool主要由三部分组成:Library cache,Dictionary cache和Control ...

  9. Library cache lock 故障解决一例

    今天收到同事电话,说是数据库中一张名为acct_balance进行操作是奇慢,第一反映是不是扫行计划有问题,结果我错了,现将过程记录下来. 用pl/sql连上数据库情况:1.对acct_balance ...

随机推荐

  1. 【spring data jpa】使用repository进行查询,使用userRepository.getOne(id)和userRepository.findById(id)无法从数据库查询到数据

    如题: 使用repository进行查询,使用CrudRepository自带的getOne()方法和findById()方法查询,数据库中有这条数据,但是并不能查到. userRepository. ...

  2. Go -- FIFO类(缓存淘汰算法)(转)

    1 FIFO 1.1. 原理 按照“先进先出(First In,First Out)”的原理淘汰数据. 1.2. 实现 FIFO队列,具体实现如下: 1. 新访问的数据插入FIFO队列尾部,数据在FI ...

  3. open-falcon的邮件报警

    mail-provider提供http邮件服务,和邮件服务器打通 falcon-sender 负责收集falcon的邮件,然后通过mail-provider发送出去 mail-provider 把sm ...

  4. awk的求和计算使用;awk多个分隔符如何使用?

    1.对于下图,如何使用awk求所有各列的和 和:175 16 78 19 方法:awk '{for(n=1;n<=NF;n++)t[n]+=$n}END{for(n=1;n<=NF;n++ ...

  5. hdu 4300 Clairewd’s message(具体解释,扩展KMP)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4300 Problem Description Clairewd is a member of FBI. ...

  6. [c++菜鸟]《Accelerate C++》习题解答

    第0章 0-0 编译并运行Hello, world! 程序. #include <iostream> using namespace std; int main() { cout < ...

  7. thrift的使用及遇到的问题

    centos 系统安装官方文档:http://thrift.apache.org/docs/install/centos 一.按该文档安装出现了一系列的问题,记录如下: 1.安装thrift时./bo ...

  8. mysql 授权新的root用户

    grant all privileges to *.* on system@'localhost' identified by 'woshishui' with grant option;

  9. mac os PHP 访问MSSQL

    写在前: 项目的数据库是sql server,但是自己的系统是mac os.这样导致了需要一个烦人的系统环境搭建过程.目前要在mac 上的php环境中支持mssql环境访问,经过自己了解,有两种方式: ...

  10. 【环境配置】Linux的经常使用命令

    系统信息 arch 显示机器的处理器架构uname -m 显示机器的处理器架构uname -r 显示正在使用的内核版本号 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)  ...