【Oracle】Oracle数据库DATABASE LINK 的命名

 

当前数据库的GLOBAL_NAMES参数设置为 TRUE,使用DATABASE LINK 时,DATABASE LINK的名称必须与被连接库的 GLOBAL_NAME一致。 而要建多个 DBLINK到同一个库,则DBLINK的命名规则可以为:被连接库 GLOBAL_NAME@标识。
例如:
A数据库的 global_nameglobal_names
SQL> show parameter global_names;
NAME                         TYPE        VALUE
------------------------------------ ----------- -----
global_names           boolean     TRUE
B数据库的 global_nameB 数据库的 GLOBAL_NAMES参数不影响)
SQL> select * from global_name;
GLOBAL_NAME
------------------------------------
KYY.REGRESS.RDBMS.DEV.US.ORACLE.COM
A数据库创建 DBLINKB 数据库
CREATE DATABASE LINK "KYY.REGRESS.RDBMS.DEV.US.ORACLE.COM @dp_taishan "
 CONNECT TO DP_TAISHAN
 IDENTIFIED BY a1b2c3
 USING 'kyy';
 
CREATE DATABASE LINK "KYY.REGRESS.RDBMS.DEV.US.ORACLE.COM @dp_pk "
 CONNECT TO DP_PK
 IDENTIFIED BY a1b2c3
 USING 'kyy';
 
CREATE DATABASE LINK "KYY.REGRESS.RDBMS.DEV.US.ORACLE.COM @dp_sharedb "
 CONNECT TO DP_SHAREDB
 IDENTIFIED BY a1b2c3
 USING 'kyy';
 
  另外,当前 SCHEMA不能给其他SCHEMA 创建链接,因为数据库 DBLINK其名称可以含有'.'即点号。比如 A用户想给B 用户创建一个 DBLINK名叫LINKB CREATE DATABASE LINK B.LINKB ...... 这个语句将会实际创建一个 A用户下的名为B.LINKB的数据库链接。
  
原文地址:https://www.cnblogs.com/leemoby/p/3583422.html