我的域名服务器名称'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';
我已经尝试了很多,但发生了同样的错误。请提出相关建议。
答案 0 :(得分:13)
您可能已将global_names
设置为true
,而您并未完全按照您的想法进行连接。 connect to
是您要访问的远程数据库上的用户帐户,对应于您在identified by
子句中提供的密码。 using
看起来像tnsnames.ora
条目,但connect_data
指向SID为ORACLE
的条目;将该条目添加到您的问题中可能会有所帮助。看起来您目前在using
和connect to
子句中都给出了别名,这可能是不正确的。
启用global_names
时,数据库链接名称必须与远程数据库名称匹配 - 它是实际名称,而不是您为其指定的别名。这意味着您的数据库链接名称必须是ORACLE
,这可能会有点混乱。
您也可以在数据库级别关闭global_names
设置,但这可能是不允许或不可取的。如果这是一个很少使用的链接,您还可以在使用该链接的任何查询之前添加alter session set global_names=false
。从长远来看,让你的名字保持一致可能不那么令人困惑。