ORA-02085:数据库链接DBLINK_NAME连接到ORACLE

时间:2012-04-03 07:32:50

标签: oracle dblink

我的域名服务器名称'HBHAWANI'(版本Oracle 8i)上有一个名为'HBHAWANI'的数据库。每当我尝试在这里创建一个dblink时,它会给出错误:

Link  : "DBLINK_DOMAINSERVERTOUPASS_PP"  
Error : ORA-02085: database link DBLINK_DOMAINSERVERTOUPASS_PP connects to ORACLE  

DBLink的脚本是:

CREATE PUBLIC DATABASE LINK DBLINK_DOMAINSERVERTOUPASS_PP  
CONNECT TO UPASS.HBHAWANI  
IDENTIFIED BY <PWD>  
USING 'UPASS.HBHAWANI';  

我已经尝试了很多,但发生了同样的错误。请提出相关建议。

1 个答案:

答案 0 :(得分:13)

您可能已将global_names设置为true,而您并未完全按照您的想法进行连接。 connect to是您要访问的远程数据库上的用户帐户,对应于您在identified by子句中提供的密码。 using看起来像tnsnames.ora条目,但connect_data指向SID为ORACLE的条目;将该条目添加到您的问题中可能会有所帮助。看起来您目前在usingconnect to子句中都给出了别名,这可能是不正确的。

启用global_names时,数据库链接名称必须与远程数据库名称匹配 - 它是实际名称,而不是您为其指定的别名。这意味着您的数据库链接名称必须是ORACLE,这可能会有点混乱。

您也可以在数据库级别关闭global_names设置,但这可能是不允许或不可取的。如果这是一个很少使用的链接,您还可以在使用该链接的任何查询之前添加alter session set global_names=false。从长远来看,让你的名字保持一致可能不那么令人困惑。