[20260717]ORA-02011 duplicate database link name.txt
--//在centos 9,IP=192.168.56.103上建立dblink,报ORA-02011 duplicate database link name错误,做一个记录:
1.环境:
SCOTT@book01p> @ ver2
==============================
PORT_STRING : x86_64/Linux 2.4.xx
VERSION : 21.0.0.0.0
BANNER : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
BANNER_FULL : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
Version 21.3.0.0.0
BANNER_LEGACY : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
CON_ID : 0
PL/SQL procedure successfully completed.
2.建立dblink:
SYS@book01p> CREATE PUBLIC DATABASE LINK CENTTEST CONNECT TO SCOTT IDENTIFIED BY book USING '192.168.56.101:1521/book01p';
CREATE PUBLIC DATABASE LINK CENTTEST CONNECT TO SCOTT IDENTIFIED BY book USING '192.168.56.101:1521/book01p'
*
ERROR at line 1:
ORA-02011: duplicate database link name
SYS@book01p> CREATE PUBLIC DATABASE LINK CENT101 CONNECT TO SCOTT IDENTIFIED BY book USING '192.168.56.101:1521/book01p';
Database link created.
SCOTT@book01p> drop PUBLIC DATABASE LINK CENT101;
Database link dropped.
--//建立dblink CENT101成功,而建立dblink CENTTEST失败、
SCOTT@book01p> select * from v$dblink;
no rows selected
SCOTT@book01p> select * from gv$dblink;
no rows selected
--//奇怪查询gv$dblink视图查询不到结果,仔细检查才发现仅仅使用后gv$dblink才有记录。
SCOTT@book01p> select sysdate from dual@loopback ;
SYSDATE
-------------------
2026-07-18 10:24:42
--//注:该loopback dblink也已经建立。
SCOTT@book01p> select * from gv$dblink;
INST_ID DB_LINK OWNER_ID LOG HET PROTOC OPEN_CURSORS IN_ UPD COMMIT_POINT_STRENGTH CON_ID
---------- ------------------------------ ---------- --- --- ------ ------------ --- --- --------------------- ----------
1 LOOPBACK 109 YES YES UNKN 0 YES NO 1 3
--//查询底层的视图是sys.link$。对应dba视图是DBA_DB_LINKS。
SYS@book01p> @ col_list sys.link$ PASSWORDX n
SELECT
owner#
,name
,ctime
,host
,userid
,password
,flag
,authusr
,authpwd
,authpwdx
,credname
,credowner
,acredname
,acredowner
FROM sys.link$
SYS@book01p> @ pr
==============================
OWNER# : 1
NAME : CENTTEST
CTIME : 2026-06-28 11:08:25
HOST : 192.168.56.101/book01p
USERID : SCOTT
PASSWORD :
FLAG : 2
AUTHUSR :
AUTHPWD :
AUTHPWDX :
CREDNAME :
CREDOWNER :
ACREDNAME :
ACREDOWNER :
==============================
OWNER# : 1
NAME : LOOPBACK
CTIME : 2026-07-17 18:11:44
HOST : 127.0.0.1/BOOK01p
USERID : SCOTT
PASSWORD :
FLAG : 2
AUTHUSR :
AUTHPWD :
AUTHPWDX :
CREDNAME :
CREDOWNER :
ACREDNAME :
ACREDOWNER :
PL/SQL procedure successfully completed.
--//可以发现centtest dblink 2026-06-28 11:08:25已经建立,主要问题在于自己查询了错误的视图。
SCOTT@book01p> select * from DBA_DB_LINKS;
OWNER DB_LINK USERNAME CREDENTIAL_NAME CREDENTIAL_OWNER HOST CREATED HID SHA VAL INT
------- --------- --------- --------------- ---------------- ---------------------- ------------------ --- --- --- ---
PUBLIC CENTTEST SCOTT 192.168.56.101/book01p 2026-06-28 11:08:2 NO NO YES NO
PUBLIC LOOPBACK SCOTT 127.0.0.1/BOOK01p 2026-07-17 18:11:4 NO NO YES NO
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-3176620/ ,如需转载,请注明出处,否则将追究法律责任。