今天又遇到几天前遇到的一个Oracle连接问题,崩溃,因为前边我已经遇到了这个问题,当时没有解决,也花了不少时间,搞来搞去最后还是不行,今天查找问题根源时:
又去看了一下各个日志,最后看了一下alert/log.xml发现日志文件里重复很多遍的一个错误,内容如下:
<msg time='2010-09-03T01:37:13.578+08:00' org_id='oracle' comp_id='clients'
type='UNKNOWN' level='16' host_id='PC-20100723HCXR'
host_addr='192.168.1.153'>
<txt> nt OS err code: 0
</txt>
</msg>
到网上去搜解决办法,最后找到了一个解决办法,英文的这里先将大致步骤翻译一下,如果觉得翻译的不好,大家就直接去点本文最后的英文连接查看,推荐查看原文。毕竟俺不是很专业的英文翻译人士。
好了快来看一下吧。
同步记录在sqlnet.log 如下错误:
Fatal NI connect error 12518, connecting to:
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.153)(PORT=1521))(CONNECT_DATA=(SID=orcl)(CID=(PROGRAM=D:\app\product\11.2.0\dbhome_1\bin\emagent.exe)(HOST=PC-20100723HCXR)(USER=SYSTEM))))
VERSION INFORMATION:
TNS for 32-bit Windows: Version 11.2.0.1.0 - Production
Windows NT TCP/IP NT Protocol Adapter for 32-bit Windows: Version 11.2.0.1.0 - Production
Time: 03-9月 -2010 00:45:29
Tracing not turned on.
Tns error struct:
ns main err code: 12564
TNS-12564: TNS: 拒绝连接
ns secondary err code: 0
nt main err code: 0
nt secondary err code: 0
nt OS err code: 0
英文引文中的错误如下:
VERSION INFORMATION:
TNS for Linux: Version 10.2.0.2.0 - Production
Oracle Bequeath NT Protocol Adapter for Linux: Version 10.2.0.2.0 - Production
TCP / IP NT Protocol Adapter for Linux: Version 10.2.0.2.0 - Production
Time: 19-JUL-2006 11:25:26
Tracing not turned on.
Tns error struct:
ns main err code: 12535
TNS-12535: TNS: operation timed out
ns secondary err code: 12606
nt main err code: 0
nt secondary err code: 0
nt OS err code: 0
Client address: (ADDRESS = (PROTOCOL = tcp) (HOST = 192.168.1.123) (PORT = 58147))
这个错误和一个network连接和错误有关系,Metalink 给出了如下的解决方案:
1. 在listener.ora里设置如下内容 : INBOUND_CONNECT_TIMEOUT_ <listenername> = 0
2. 在sqlnet.ora里或者服务器端 设置如下内容: SQLNET.INBOUND_CONNECT_TIMEOUT = 0
3. 关闭并重新启动listener 和 database(listener服务和数据库(初学的朋友如果不太会命令可以在cmd里输入:services.msc打开windows服务,并重新启动所有以oracle开头的服务就ok了)。
4. 现在设置好上边的内容之后,重新尝试连接DB并且遵守行为(遵守行为是在不知道怎么翻译,大家忍耐一下原文是:
Now try to connect to DB and observe the behaviour)
这样做之后在服务器端和Listener是比较迟钝的。因此我们或许需要reload一下它。
具体操作如下:
[Oracle @ order admin] $ lsnrctl
LSNRCTL for Linux: Version 10.2.0.2.0 - Production on 19-JUL-2006 15:26:33
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Welcome to LSNRCTL, type "help" for information.
LSNRCTL> reload
Connecting to (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST = 172.16.9.11) (PORT = 1521)))
The command completed successfully
LSNRCTL> services
Connecting to (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST = 172.16.9.11) (PORT = 1521)))
Services Summary ...
Service "order" has 2 instance (s).
Instance "order", status UNKNOWN, has 1 handler (s) for this service ...
Handler (s):
"DEDICATED" established: 0 refused: 0
LOCAL SERVER
Instance "order", status READY, has 1 handler (s) for this service ...
Handler (s):
"DEDICATED" established: 0 refused: 0 state: ready
LOCAL SERVER
The command completed successfully
LSNRCTL> show inbound_connect_timeout
Connecting to (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST = 172.16.9.11) (PORT = 1521)))
LISTENER parameter "inbound_connect_timeout" set to 0
The command completed successfully
LSNRCTL> exit
在windows下通俗点说就是:
1. 在cmd中输入: lsnrctl
2. 打开Listener控制台,然后输入reload命令,重载
3. 输入:services命令
4. 输入show inbound_connect_timeout查看设置是否成功
5. 最后输入:exit命令推出控制台
这样以后尝试连接一下数据库,或许就可以了,我尝试的结果是,第一次行ok,然后好像又不行了,就又设置了一下应该问题不大,总而言之,这个问题算是解决了,现在数据库正常连接了。
本文主要参考连接:
http://www.kods.net/oracle10gr2-ora-3136-error-solution/
对于这个问题在JavaEye上有一位叫做"jinchunjian"的Java Friend 也给了一个解决方案,讲的很不错,大家可以分享一下:
http://yinchunjian.iteye.com/blog/697153
附带一点内容:
执行一下内容可以重启监听器和EM:
lsnrctl stop
lsnrctl start
emctl stop dbconsole
emctl start dbconsole
。
分享到:
相关推荐
这篇文章主要讲述了在Oracle 11g R2客户端尝试连接Oracle 19c服务端时,遇到了两个特定的错误:ORA-28040和ORA-01017,以及如何解决这些问题。 ORA-28040错误是因为客户端和数据库服务器在版本兼容性上存在不匹配。...
### Oracle 10g启动后报ORA-16038错误的解决方法 #### 错误概述 在启动Oracle 10g数据库时遇到ORA-16038错误,该错误通常与归档日志操作有关。具体错误信息为: ``` ORA-16038: log 1 sequence #230 cannot be ...
本文将详细介绍如何在Windows和Linux操作系统下解决ORA-00702错误。 **ORA-00702错误解析** ORA-00702错误信息表明数据库实例试图访问一个尚未完全初始化的数据文件或控制文件。这可能是由于数据库在不正常的情况下...
### 如何解决Oracle 11G中的ORA-24247网络访问被访问控制列表 (ACL) 拒绝错误 #### 背景 在处理Oracle 11G数据库时,可能会遇到ORA-24247错误,该错误通常出现在尝试通过网络访问数据库资源时。这一错误是由于访问...
在实际工作中,遇到Oracle错误时,除了直接解决错误外,还需要了解错误的根本原因,以防止类似问题的再次发生。定期检查数据库健康状况,优化归档策略,以及及时更新和备份数据库都是维护数据库稳定运行的关键措施。
在创建Oracle数据库连接时遇到的错误ORA-01017和ORA-02063涉及到用户认证问题以及Oracle数据库版本之间的差异处理。ORA-01017错误表示用户名或密码无效,登录被拒绝,而ORA-02063则通常表示在Oracle数据库之间进行...
### Oracle ORA-12518 故障处理 #### 概述 在Oracle数据库管理过程中,遇到ORA-12518错误是较为常见的问题之一。此错误通常发生在客户端试图连接到数据库服务器的过程中,当监听器无法将客户端连接顺利地移交给...
用oracle数据库新建连接时遇到ora-12505,此问题解决后又出现ora-12519错误,郁闷的半天,经过一番折腾问题解决,下面小编把我的两种解决方案分享给大家,仅供参考。 解决方案一: 今天工作时在新建连接的时候遇到...
错误描述:oracle远程连接服务器出现 ORA-12170 TNS:连接超时 错误检查:有很多是oracle自身安装的问题,但是我这里服务器配置正常,监听正常,服务正常,远程可以ping通服务器。 这里主要是防火墙问题,解决办法: ...
### Oracle 错误 ORA-00132 和 ORA-00214 解析及处理 #### 一、错误概述 在Oracle数据库管理过程中,遇到ORA-00132和ORA-00214这类错误时,往往意味着数据库配置或启动过程中出现了问题。下面将对这两个错误进行...
### ERwin连接Oracle报ORA-01041内部错误,hostdef扩展名不存在的知识点解析 #### 一、问题背景及概述 在使用ERwin数据建模工具连接Oracle数据库时,可能会遇到ORA-01041内部错误提示:“hostdef扩展名不存在”。...
关于WIN10系统使用oracle instant client 时候提示ORA-01019错误的解决方案,本方案是配置好环境变量后依然提示ORA-01019错误的解决方案,内附本人制作测试的全过程说明
Oracle数据库发生ORA-04031错误原因浅析及处理 Oracle数据库是甲骨文公司提供的...本文通过对ORA-04031错误的分析和解决方法的介绍,旨在帮助读者更好地理解Oracle数据库中的ORA-04031错误,并提供了实用的解决方法。
ora-00604 错误 解决 方法 ora-00604 错误 解决 方法 ora-00604 错误 解决 方法 ora-00604 错误 解决 方法 ora-00604 错误 解决 方法ora-00604 错误 解决 方法
下面将详细解析“ORA-27101: shared memory realm does not exist”这一错误及其解决办法,同时提及可能伴随的“ORA-01034: ORACLE not available”和“ORA-01033: ORACLE initialization or shutdown in progress”...
### 远程登录并启动Oracle数据库及解决ORA-01031问题 #### 引言 在Oracle数据库管理过程中,远程登录与启动数据库是非常重要的操作之一。这不仅能够提高数据库管理员的工作效率,还能帮助他们更好地监控和维护...
使用PL/SQL登录ORACLE数据 报错,error while trying to retrieve text for error ORA-01804,的解决方法,操作步骤,在windows server 2008R2 64位,oracle 12C,PLSQL Developer 12 64位,以上使用环境正常,
### 解决ORA-01033:Oracle正在初始化或关闭 #### 背景与问题解析 在Oracle数据库管理中,遇到ORA-01033错误是较为常见的问题之一,该错误通常出现在数据库启动或关闭的过程中。ORA-01033错误的全称是“ORA-01033:...
每一个DBA在进行数据库管理的过程中不可避免的要遇到形形色色的错误(ORA- 1547 ,ORA-904,ORA-1578 ......)。有些错误由于频繁出现、原因复杂而被 Oracle DBA 们戏称之为\\\\\\\"经典的错误\\\\\\\"。其中ORA-3113 \\...