暂无图片
暂无图片
3
暂无图片
暂无图片
暂无图片

奇怪的ORA-12514: TNS:listener does not currently know of service requested in connect descriptor

原创 jieguo 2021-11-26
8297

开发人员发了的问题,创建dblink后查询报错,你以为这要么是监听没起,要么就是服务名不对,其实不是。

e11.png
直接通过conn xxx/xxx@jzshdev是可以连接的,正常没问题。这就排除了上述的可能原因。

怀疑开发是不是写错了?自己动手操作一下。
根据开发给的语句:
create public database link JZSHDEV connect to xxx identified BY “xxx” using ‘jzshdev’;

处理过程很简单,步骤如下:

SQL> conn xxx/xxx
Connected.
SQL> create public database link JZSHDEV connect to xxx identified BY "xxx" using 'jzshdev';

Database link created.

------dblink创建正常

SQL> select * from dual@jzshdev;
select * from dual@jzshdev
                   *
ERROR at line 1:
ORA-12514: TNS:listener does not currently know of service requested in connect
descriptor

----------此处查询确实报错了,奇怪。

SQL> drop public database link JZSHDEV;

Database link dropped.

----删掉public dblink,尝试创建普通私有dblink看看

SQL> create database link JZSHDEV connect to xxx identified BY "xxx" using 'jzshdev';
create database link JZSHDEV connect to xxx identified BY "xxx" using 'jzshdev'
                     *
ERROR at line 1:
ORA-02011: duplicate database link name
----竟然报了已存在,这个问题就很清楚了

SQL> select * from dual@jzshdev;
select * from dual@jzshdev
                   *
ERROR at line 1:
ORA-12514: TNS:listener does not currently know of service requested in connect
descriptor
----原先数据库用户下存在同名的普通dblink,而且这个dblink是有问题的,指向不对,所以报了错。查询的时候优先选择了普通dblink导致报错。

SQL> drop database link JZSHDEV;

Database link dropped.
----问了开发,这个dblink没用可删,既然普通dblink没用,那就删除,重新创建给public dblink就行了。

SQL> create public database link JZSHDEV connect to xxx identified BY "xxx" using 'jzshdev';

Database link created.

SQL> select * from dual@jzshdev;

D
-
X

----查询正常。

复制

总结提示:oracle的dblink分为public dblink和普通私有dblink的名字可以相同,默认优先使用普通私有dblink。

其它常见的错误原因参考:https://dbamarco.wordpress.com/2023/09/28/connecting-to-an-oracle-database-what-could-possible-go-wrong/

最后修改时间:2023-10-09 13:43:35
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论