TNS/ORA-12500:TNS:监听未能启动一个专用服务器进程

来源:互联网 发布:淘宝店主客户端 编辑:程序博客网 时间:2024/05/17 05:52

TNS/ORA-12500:TNS:监听未能启动一个专用服务器进程

简单地说,你最有可能运行的操作系统的资源,不论是身体内存或
交换空间,或者如果在UNIX / Linux操作系统,也文件描述符(视窗几乎没有一
每个进程文件描述符限制[注])。

不管操作系统,错误应附有操作系统相关的错误代码
listener.log。从Windows(例如)是这样的:

TNS的- 12500:TNS:监听未能启动一个专用服务器进程
 
TNS的- 12540:TNS的:超出内部限制的限制
  
TNS的- 12560:TNS:协议适配器错误
   
TNS的- 00510:超出内部限制的限制
    
32位Windows错误:8:Exec的格式错误

最后一行是有用的,因为它告诉你的OSD层的原因。神谕
要解决这个港口具体的“错误”。[注2在Solaris和其他]
UNIX系统/ Linux的,错误8确实是“Exec的格式错误”。但是,在Windows,它的
实际上:

ç:/“净helpmsg 8

没有足够的存储可用于处理此命令。

在其他几个操作系统一样,“没有足够的存储”,并不意味着缺乏的磁盘
空间。这意味着虚拟内存不足,而是包括交换空间。

你可能认为OSD的8不帮助,因为你已经猜到了它的短上
内存。但有时的确有助于错误,像这样:

TNS的- 12500:TNS:监听未能启动一个专用服务器进程
 
TNS的- 12547:TNS的:失去联络
  
TNS的- 12560:TNS:协议适配器错误
   
TNS的- 00517:失去联络
    
32位Windows错误:54:未知的错误

Windows错误54“网络繁忙”。因此,在这种情况下你可以做一个小
研究您的网络。另一个例子:

TNS的- 12500:TNS:监听未能启动一个专用服务器进程
 
TNS的- 12537:TNS集团:连接关闭
  
TNS的- 12560:TNS:协议适配器错误
   
TNS的- 00507:连接已关闭
    
32位Windows错误:109:未知的错误

我得到这个错误,当我开始为9.2 TNS监听器和一个10g数据库
尝试连接到10g的数据库。解决方法是简单地使用10g的监听器。

*********************************************
正如我表明,“净helpmsg”是你在Windows中使用命令获取Windows
错误。实际上,有一个通用的方式,独立于操作系统的,要
一个操作系统的依赖错误的描述,如果你有Perl的安装:

perl的- é'$ ^ é = 8;打印$ ^ é'(用于UNIX / Linux)的
的perl - e“的$ ^ é = 8;打印$ ^ E”类(用于Windows)

但在UNIX上,您也可以找到在errno.h文件中的错误,如“的grep - 12瓦特
/ usr / include中/ / errno.h Solaris上的“sys在Linux上。,它的/ usr / include中/汇编/ errno.h。
如果文件路径并不明显,发现它在我的recinc.pl
http://yong321.freeshell.org/computer/archive.txt。
*********************************************

在UNIX上,您还应该检查,例如/ var /行政/信息在系统信息日志,
Solaris操作系统中,/ var / log / messages文件在Linux(找到“默认syslog和信息”在
http://bhami.com/rosetta.html)。一个常见的错误是错误12,这是“#定义
ENOMEM 12 / *没有足够的核心* /“在Solaris,其中的”核心“,实际上只是指
内存。如果你把这个问题解决Solaris的错误,它可能是/ tmp目录已满
因为在/ tmp目录的使用交换空间取走。 (没人应创造巨大的文件
在/ tmp的Solaris上。)



这不是让这个罕见的Windows错误。如果您有足够的RAM和
得到这个错误,考虑将一个Windows进程的用户空间虚拟
从它的默认内存2GB的达3GB通过附加/ 3GB开关到c:/ boot.ini中
(最可能是你已经拥有/ fastdetect开关,因此只要追加的是,
用空格隔开),然后重新启动。但是,这可能仍然不够,
你有很多很多的记忆。然后考虑PAE的(物理地址
扩展名),又名,博览馆(地址窗口延伸)。添加/ PAE开关来
boot.ini中。在这两种情况下,可以提高页面文件大小为一个庞大的数字。注意
这64位Windows不需要这个种子文件未被更新。参考:Metalink公司注:225349.1。

如果仍不能解决问题,请考虑减少堆栈的大小内
oracle.exe和tnslsnr.exe。备份的EXE文件并运行“orastack oracle.exe
500000“设置堆栈大小为500000字节储备(默认为1M)。只要
类型orastack帮助。这样,每个Oracle连接(如果使用专用
配置)使用进程内oracle.exe较少的内存。请注意,这
承诺不会改变堆栈大小,它在1内存页面大小(4K的为保持
最架构)。堆栈承诺逐步增加网页的使用,直至
预留的大小。



如果没有帮助,然后放弃和减少SGA的,或共享服务器配置
如果在UNIX / Linux上,也考虑双氰胺,死连接检测。
不直接解决的TNS - 12500的问题,而是帮助清理无用
会议。 (双氰胺在8i的到10gR1在Windows有问题,见注:285026.1。)如果
这是考虑,还要考虑数据库用户idle_time形象。

增加过程参数忠告是值得怀疑。当你打的
限额出现在v $ resource_limit,你邑- 20,而不是TNS的- 12500。如果听众
由于暂时性的连接块连接穗达到“过程”
限制,你TNS的- 12519和TNS - 12516。参见注释:240710.1。


________________
[注1]的理论公开处理一个Windows进程限制为16万美元。
但在现实中可能会大大降低,也许是几千几万。
http://blogs.technet.com/markrussinovich/archive/2009/09/29/3283844.aspx

[注2]这是Windows错误8误解甚至在注:171636.1,但
注:46001.1得到它的权利。我得到这个错误在追查兴趣。看来
就像我们不能完全责怪甲骨文。这是微软在其松散的获取
errno.h在早期的尝试,以显示与UNIX和XENIX的兼容性。
http://msdn2.microsoft.com/en-us/library/s37ta3wt.aspx
http://support.microsoft.com/default.aspx?scid=kb%3Ben美%3B47692
另一方面,微软警告说,如Oracle用户()对这些
误导性的错误。如果您运行

光盘/天ç:/窗口/ system32
grep的“Exec的格式错误”*. dll的2>讷:| grep的二元^

你会发现十几个文件,有一半是硬编码的字符串,其中包括
crtdll.dll,msvcr71.dll等甲骨文的hsbase.dll和hsnav32.dll(和
在10g中OsUtils.dll)也有它。

原创粉丝点击