在项目遇到一个问题,在用java中用jdbc连接oracle时出错,log中记录“connectin refuse(DESCRIPTION=(TMP=)(VSNNUM=168354658)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))”,采用的连接url是“jdbc:oracle:thin:@hostname:1521:ovsDB”, 由于连接的配置是在一个开发工具中进行的,于是写了一个简单的测试程序在eclipse中测试,结果是提示出错“ORA-12505 :listener does not currently know of SID given in connect descriptor”, oracle服务器的监听器不能识别这个SID, 本地的tnsnames.ora中是这样写的
ovsDB = (网络服务名)
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = remotehostname)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ovsDB)
)
)
SID和tnsnames.ora配置都是维护服务器的人给的,在使用"oracle SQL developer" 和sqlplus连接时都可以正常连接上,百思不得其解.
在查阅了资料后,罪魁祸首指向SID,在此灰常感谢参考URL中的blog主人, 原因是工具在连接时只需给其指定service_name,而使用jdbc连接是则必须要SID, 使用oracle SQL developer连接上后执行select instance_name from v$instance后得出的instance_name是ovsDatabase,这个才是oracle服务器上的SID, 于是在url中使用这个SID连接,终于正常了!问题解决!
在解决这个问题过程中,总结出的东东有:
1. 工具在连接时只需给其指定service_name,而使用jdbc连接是则必须要在url中提供SID;
2.客户端的tnsnames.ora中的网络服务名并不是SID,而是一个可任意命名的代号,oracle客户端或者其他连接工具在连接服务器是使用这个代号来解析其中的service_name.
参考URL: http://www.blogjava.net/itspy/archive/2007/12/20/169072.html
http://www.hinn.cn/2009/04/oracle_sqlnetora_tnsnamesora_listenerora.html
分享到:
相关推荐
用oracle数据库新建连接时遇到ora-12505,此问题解决后又出现ora-12519错误,郁闷的半天,经过一番折腾问题解决,下面小编把我的两种解决方案分享给大家,仅供参考。 解决方案一: 今天工作时在新建连接的时候遇到...
离线误删空间文件导致的ORA-01033及ORA-01145问题的解决办法,在解决ORA-01033的过程中,又出现ORA-01145 * 第 1 行出现错误: ORA-01145: 除非启用了介质恢复, 否则不允许立即脱机 接着的解决步骤
Oracle 11gr2连Oracle 19c 报ORA-28040 ORA-01017解决方法
ora-00604 错误 解决 方法 ora-00604 错误 解决 方法 ora-00604 错误 解决 方法 ora-00604 错误 解决 方法 ora-00604 错误 解决 方法ora-00604 错误 解决 方法
oracle数据库ora-01152和ora-01110的解决办法
Drop goldengate用户时,报ORA-00604 ORA-20782 ORA-06512错误
ORACLE的ora-12505报错以及连接问题的解决
使用工具IMPDP导入数据时ORA-39002、ORA-39070错误排查。使用工具IMPDP导入数据时ORA-39002、ORA-39070错误排查 使用工具IMPDP导入数据时ORA-39002、ORA-39070错误排查
oracle启动失败,ORA-00702报错,windows,linux系统下解决办法
ORA-12541 TNSno listener 的解决方案 ORA-12541 TNSno listener 的解决方案
oracle的ORA-12514错误 解决办法
navicat连接oracle报错:“ORA-12514:TNS:监听程序无法识别连接描述符中请求的服务”;问题解决:资源包中只包含一些 dll 文件,无需安装解压即可,并附有详细的操作步骤。
错误描述:oracle远程连接服务器出现 ORA-12170 TNS:连接超时 错误检查:有很多是oracle自身安装的问题,但是我这里服务器配置正常,监听正常,服务正常,远程可以ping通服务器。 这里主要是防火墙问题,解决办法: ...
oracle网络配置(listener_ora-sqlnet_ora-tnsnames_ora).mht
在oracle数据库遇到ora-227101错误的解决办法
关于WIN10系统使用oracle instant client 时候提示ORA-01019错误的解决方案,本方案是配置好环境变量后依然提示ORA-01019错误的解决方案,内附本人制作测试的全过程说明
创建物化视图ORA-12014错误解决方法 创建物化视图ORA-12014错误解决方法
ORACLE ORA-00132 ORA-00214
在运行查询SELECT * FROM V$SESSION 会出现ORA-29275:部分多字节字符的错误,这是什么原因开始我不得其解,网上也没有介绍什么好办法。本文给出答案。
客户端进行连接的时候,系统不定期出现ora-12520,ora-12516的连接问题, 问题解决方案建议: 1、增加process和session的连接数。 2、检查连接的应用,是不是有没有释放的连接。 3、将修改参数local_listener中的vip为...