跳转到主内容
Waters China

Empower 报错:Server Busy TNS-12531(服务器忙 TNS-12531) - WKB201290

故障描述

  • 在“监听器”中观察到错误 Server Busy TNS-12531 TNS:cannot assigned memory(服务器忙 TNS-12531 TNS:无法分配内存)
  • Windows:在Windows 64位平台上,通过监听器进行的Oracle Net或连接失败,错误代码为TNS-12531(文档ID 1384337.1)
  • 有可能不会同时引发其他与内存相关的错误
  • 错误也有可能是短暂错误或者似乎会自行纠正

环境

  • Empower 3 FR4
  • Server 2012 R2,64 GB RAM

原因

这可能是由于 Desktop Heap Size(桌面堆大小)设置不当导致。

即使这是具有大量内存的 64 位操作系统,仍然存在生成此错误的限制。

解决方法

  1. 检查并编辑注册表中的桌面堆大小:
  2. 启动 Regedt32 并转到 \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems\
  3. 在右侧窗格中,单击“窗口”,然后选择下拉菜单“编辑”,然后选择“修改”。
  4. 用户应该会看到类似于以下内容的字符串:
    %SystemRoot%\system32\csrss.exe ObjectDirectory=\ Windows SharedSection=1024,20480,768 Windows = On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ServerDll=sxssrv,4 ProfileControl=Off MaxRequestThreads=16
  5. 关注此部分:Windows SharedSection=1024,20480,768
  6. 第三个参数是分配给非交互式桌面的最大堆内存量。增加第三个值,查看 TNS 错误何时消失。无最佳值。在每台MS Windows 服务器上该设置都不同。
  7. 此项注册表更改需要重新启动 Windows 服务器,更改才能生效。

    重要说明:进行任何更改之前,请务必备份注册表。

附加信息

内存实际上不足时也可能导致此错误。检查出现问题时的资源消耗。如果没有明显的内存不足情况,此处记录的解决方案可以解决问题。

id201290, EMP2LIC, EMP2OPT, EMP2SW, EMP3GC, EMP3LIC, EMP3OPT, EMP3SW, EMPGC, EMPGPC, EMPLIC, EMPOWER2, EMPOWER3, EMPSW, SUP