您的位置:首页 > 其它

ETL开发中遇到的一个ORA-12560问题的解决

2014-08-21 15:38 701 查看
工作中需要创建db link连接两个oracle数据库, 第一个顺利完成:

CREATE public DATABASE LINK DB79

CONNECT TO db79

IDENTIFIED BY xxx

USING '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = 10.X.X.X1)

(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = XXX)))';

,第二个也类似创建:

CREATE public DATABASE LINK DB80

CONNECT TO db80

IDENTIFIED BY xxx

USING '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = 10.X.X.X2)

(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = XXXX)))';
但用第二个dblink 执行sql取数却总是报错ORA-12560:TNS:协议适配器错误。

网上各种搜索,无解。

最后发现ORACLE客户端的配置信息里多了一句:(SERVER=DEDICATED)

顿时觉得有门,赶紧加进去,如下:

CREATE public DATABASE LINK DB80

CONNECT TO db80

IDENTIFIED BY xxx

USING '(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.X.X.X2)(PORT=1521)))(CONNECT_DATA=(SID=XXXX)(SERVER=DEDICATED)))';

然后再用@DB80执行查询,通过。

记下来,免得以后忘记。

----------------------------------

补充一下,发完本贴上文没多久,同事Q我说他那发现一个ORA-12560问题,我说现在还流行玩这个了?

远程一看,跟上文的情况不一样,是因为oracle service没了!

上网搜到这个帖子http://bbs.csdn.net/topics/390688143,手工加上那个服务,解决。

然后再看到这个帖子:http://blog.csdn.net/gelyon/article/details/6860434,想起在同事那边服务器上依稀看到有360的黄色图标,赶紧确认下,果真是因为360干掉了oracle服务! 我。。。。。。

此记。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐