我有一个困扰我一年的问题。我的机器上安装了Oracle 12.1.x.x。一两天后,监听器停止响应,listener.log包含一堆TNS-12531消息。如果我重新启动,问题就消失了,再过一两天我就没事了。我很懒,我讨厌重新启动,所以我决定最终找到它,但我没有运气。因为另一种选择是做我真的不想做的工作,所以我将把我所有的时间都花在研究这个问题上。
一些注意事项:
TRACE_LEVEL_LISTENER = 16时,我不会得到更多的信息。跟踪文件不被写入ORACLE_SID=xxx并在没有DB标识符的情况下连接),就可以连接到DB。TNS-12531添加到listener.log中。下面是一个listener.log文件的示例:
Fri Jul 28 14:21:47 2017
System parameter file is D:\app\user\product\12.1.0\dbhome_1\network\admin\listener.ora
Log messages written to D:\app\user\diag\tnslsnr\LJ-Quad\listener\alert\log.xml
Trace information written to D:\app\user\diag\tnslsnr\LJ-Quad\listener\trace\ora_24288_14976.trc
Trace level is currently 16
Started with pid=24288
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=LJ-Quad)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
Listener completed notification to CRS on start
TIMESTAMP * CONNECT DATA [* PROTOCOL INFO] * EVENT [* SID] * RETURN CODE
28-JUL-2017 14:22:06 * 12531
TNS-12531: TNS:cannot allocate memory
28-JUL-2017 14:22:47 * 12531
TNS-12531: TNS:cannot allocate memory
28-JUL-2017 14:26:24 * 12531
TNS-12531: TNS:cannot allocate memory谢谢你能提供的任何帮助!
发布于 2018-05-02 15:24:09
问题1
在非英语Windows安装上运行时,大约在通过监听器建立了2048个连接之后,就会发生此错误。
修正第1期
在Administrators所在的计算机上创建名为listener.exe的Windows用户组。这可以解决侦听器死亡的问题。
参考:--我一找到第一期就会把它的链接发出来
问题2
此错误也可能发生在桌面应用程序堆太小的Windows 64位系统上。
修正第2期
中的windows中的桌面应用程序堆注册表。 HKLM\System\CurrentControlSet\Control\会话管理器\子系统\Windows 正如注意不要自己添加此值一样,您必须依赖于文档。
基本上搜索注册表项并更改键SharedSection=1024,20480,1024的第三个值。这是一种尝试和错误的方法,但似乎可以提高侦听器的稳定性和记忆问题。
https://stackoverflow.com/questions/45382086
复制相似问题