ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 近期使用10G时遇到的两个问题:Memory Notification和ORA-3136

近期使用10G时遇到的两个问题:Memory Notification和ORA-3136

原创 Linux操作系统 作者:space6212 时间:2019-01-19 18:33:05 0 删除 编辑

近期使用10G时遇到的两个问题:Memory Notification和ORA-3136

数据库版本是linux as4+10201。


一、Memory Notification
在alert文件经常看到:
Memory Notification: Library Cache Object loaded into SGA
Heap size 3837K exceeds notification threshold (2048K)

这个信息表示oracle为了在SGA中分配3837K的内存。
这个信息产生的原因是:为了分配内存,oracle进程花费了很多时间去寻找空闲内存区。这一般表示内存中的碎片比较多了。
这不是一个bug,你可以不用管这些告警信息。如果你觉得看着不舒服,你可以通过设置10gR2的新隐含参数_kgl_large_heap_warning_threshold来避免。
_kgl_large_heap_warning_threshold参数是以字节为单位的,你可以把它设置大一点减少它告警的可能性,也可以把它设成0来禁止它告警。

如:
alter system set "_kgl_large_heap_warning_threshold"=8388608 scope=spfile ;

10201这个参数默认是2M,10202这个参数的默认值已经改为50M了。

注意:修改这个参数需要重启数据库。


二、ORA-3136
WARNING: inbound connection timed out (ORA-3136)
Thu Mar 29 10:12:05 2007
WARNING: inbound connection timed out (ORA-3136)
Thu Mar 29 10:19:38 2007
WARNING: inbound connection timed out (ORA-3136)
Thu Mar 29 10:21:14 2007
WARNING: inbound connection timed out (ORA-3136)

引发这个错误WARNING可能是因为网络缓慢或者数据库负载太重,导致链接超时。

可以按如下方法解决问题:
1)在listener.ora中添加如下语句:
INBOUND_CONNECT_TIMEOUT_LISTENER =0

2)在sqlnet.ora添加如下语句
SQLNET.INBOUND_CONNECT_TIMEOUT = 0

重启监听

设置的这两个参数的含义是:
SQLNET.INBOUND_CONNECT_TIMEOUT is set to a value in seconds and determines how long a client has to provide the necessary authentication information to a database.

INBOUND_CONNECT_TIMEOUT_listenername is set to a value in seconds and determines how long a client has to complete its connect request to the listener after the network connection has been established.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/231499/viewspace-63817/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2005-01-25

  • 博文量
    122
  • 访问量
    89794