我有一个问题已经困扰我一年了。我的计算机上安装了 Oracle 12.1.x.x。一两天后,侦听器停止响应,listener.log 包含一堆
TNS-12531
消息。如果我重新启动,问题就会消失,再过一两天就可以了。我很懒,我讨厌重新启动,所以我决定最终找到这个问题,但我没有运气。由于替代方案是做我真的不想做的工作,所以我将花费所有时间研究这个。
一些注意事项:
TRACE_LEVEL_LISTENER = 16
时,我没有得到更多信息。跟踪文件未写入ORACLE_SID=xxx
并在没有数据库标识符的情况下连接)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
非常感谢您提供的任何帮助!
在非英语 Windows 安装上运行时,大约在通过侦听器建立 2048 个连接后,可能会出现此错误。
在listener.exe所在的计算机上创建一个名为“Administrators”的Windows用户组。这可以解决听者死亡的问题。
参考:第一期的链接我一找到就贴出来
第2期太小的 Windows 64 位系统上。 修复问题 2
HKLM\System\CurrentControlSet\Control\Session Manager\SubSystems\Windows
注意不要自己添加这个值,你必须依赖文档。基本上搜索注册表项并更改键
SharedSection=1024,20480,1024
的第三个值。这是一种反复试验的方法,但似乎可以改善听众的稳定性和记忆问题。
Linux 版 LSNRCTL:版本 12.2.0.1.0 - 于 2023 年 11 月 13 日 17:07:13 投入生产
版权所有 (c) 1991、2016,Oracle。保留所有权利。
欢迎来到 LSNRCTL,输入“帮助”获取信息。
LSNRCTL>
设置 TRACE_LEVEL_LISTENER = 16NL-00853:未定义的设置命令“TRACE_LEVEL_LISTENER”。尝试“帮助设置”
LSNRCTL> 设置 trc_level 16
连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.56.62)(PORT=1521)))
TNS-12541:TNS:没有监听器
TNS-12560:TNS:协议适配器错误
TNS-00511:没有听众
Linux 错误:111:连接被拒绝
连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
TNS-12541:TNS:没有监听器
TNS-12560:TNS:协议适配器错误 TNS-00511:没有听众
Linux 错误:2:没有这样的文件或目录