Oracle的12505错误怎么解决

12505错误的出现原因是“service_name”和sid不一致。解决方法:1、使用“select INSTANCE_NAME from v$instance”获取数据库中当前的sid;2、将获取到的sid填入数据库程序的连接串中即可。

Oracle的12505错误怎么解决

本教程操作环境:Windows10系统、Oracle 11g版、Dell G3电脑。

Oracle的12505错误怎么解决

出现12505提示已经很明确了,找不到sid对应的实例库,即Oracle的“service_name”和sid不一致。

解决步骤

1、 执行这条语句:

select INSTANCE_NAME from v$instance;

登录后复制

得到实例库的sid

30.png

2、然后再用该sid登录系统即可

ORA-12505:

之前用PL/SQL DEVELOPER和SQLPLUS 登录数据库都没有问题,就是应用程序通过JDBC连接Oracle时无法成功连接,出现ORA-12505错误listener does not currently know of SID given in connect descriptor……。

经过查找,发现Oracle的service_name 和sid_name不一致,而PL/SQL DEVELOPER和SQLPLUS 采用service_name进行连接,而应用程序是按照sid_name进行连接,所以出现PL/SQL DEVELOPER和SQLPLUS 能够连接而应用程序却无法连接的问题。

问题描述:

今天使用jdbc连接oracle 10.2.0.1.0 数据库的时候出现了下列错误:

Connection refused(DESCRIPTION=(TMP=)(VSNNUM=153093120)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))

登录后复制

而直接通过plsql可以正常连接数据库,或者可以通过sqlplus 连接数据库

经过debug和查找相关的资料发现问题原因如下:

jdbc连接数据库的时候,需要使用数据库的sid_name,而不是数据库的services_name

而使用plsql连接数据库的时候,只需要数据库的services_name即可,所以修改连接字符串中的services_name 为sid_name

推荐教程:《Oracle视频教程》

以上就是Oracle的12505错误怎么解决的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2069411.html

(0)
上一篇 2025年2月24日 07:25:40
下一篇 2025年2月18日 13:16:59

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • oracle怎么修改sequence

    方法:1、用DROP SEQUENCE语句删除sequence,然后用Create sequence语句重新创建一个;2、用Increment By修改序列初始值,语法为“ALTER SEQUENCE…INCREMENT BY …

    2025年2月24日
    200
  • 什么是oracle表分区

    在oracle中,表分区指的是当表中的数据不断增大时,将表中的数据在物理上存放到多个表空间,也即将表进行分区;表分区能够将表、索引或索引组织表进一步细分为段,这些数据库对象的段叫做分区,能够改善可管理性、性能和可用性。 本教程操作环境:Wi…

    2025年2月24日
    200
  • oracle怎么解决1067错误

    解决方法:1、进入“$NETWORKADMIN”将“listener.ora”文件中的IP地址信息修改为正确的;2、利用Net Manager,在本地的监听程序中,将监听位置修改为正确的IP地址即可。 本教程操作环境:Windows10系统…

    2025年2月24日
    200
  • oracle怎么取消dba权限

    在oracle中,可以利用revoke取消dba权限,revoke可以对权限进行撤销操作,并且执行该语句需要执行者本来就具有dba权限,语法为“revoke dba from user_Name;”。 本教程操作环境:Windows10系统…

    2025年2月24日
    200
  • oracle怎么判断数据是否为日期

    判断方法:1、在sqlplus中利用“desc 表名”判断,该语句可以显示表中的数据状态,包括各列的类型;2、利用“select to_char(字段,’yyyy-mm-dd’) from 表名”语句判断,结果不报错…

    2025年2月24日
    200
  • 怎么删除oracle被锁的表

    方法:1、用“select…from v$locked_object ,v$session…”查看被锁表的sid和“serial#”;2、用“alter system kill session ‘sid,…

    2025年2月24日
    200
  • oracle怎么删除schema

    在oracle中,可以利用drop语句删除schema,语法为“drop user username cascade;”;drop语句用于删除表的结构,包括schema,schema是数据库对象的集合,也可以理解为用户。 本教程操作环境:W…

    2025年2月24日
    200
  • oracle怎么修改db name

    修改方法:1、将“pfile.ora”参数文件中的“db_name”值修改为指定值并保存;2、将原环境变量中的sid修改为新的“db_name”值;3、重启数据库后,使用resetlogs方式打开数据即可完成修改。 本教程操作环境:Wind…

    2025年2月24日 数据库
    200
  • oracle中like查询语句怎么用

    在oracle中,like语句常与where语句配合使用,用于在一个字符型字段中检索包含的对应子串;该语句主要是针对字符型字段,语法为“select * from 表名 where 字段名 like 对应值(子串)”。 本教程操作环境:Wi…

    2025年2月24日 数据库
    200
  • oracle归档路径怎么修改

    修改方法:1、利用“startup mount;”将数据库启动到mount状态;2、利用“alter system set log_archive_dest_1=’location=更改以后的归档路径’;”语句修改归…

    2025年2月24日
    200

发表回复

登录后才能评论