GLOBAL_NAMES参数研究(二)
SQL> select * from dual@test_link2 ;
select * from dual@test_link2
*
第 1 行出现错误:
ORA-02085: 数据库链接 TEST_LINK2 连接到 DMDB
如果在GLOBAL_NAMES设置为TRUE的情况下,如果要建多个数据库链接到同一个库,怎么办呢?因为数据库链接的名称必须与目标库的GLOBAL_NAME相同。可以按如下的方法:
SQL> create database linkdmdb@link1connect to test identified by test using 'dmdb';
数据库链接已创建。
SQL> create database linkdmdb@link2connect to test identified by test using 'dmdb';
数据库链接已创建。
SQL> select * fromdual@dmdb ;
D
-
X
SQL> select * fromdual@dmdb@link1 ;
D
-
X
SQL> select * fromdual@dmdb@link2 ;
D
-
X
也就是在GLOBAL_NAME后面加上@再加上一个标识。这样就能够创建多个数据库链接到同一目标库上了。
另外在创建数据库链接时,不能给其他SCHEMA创建链接,这是因为数据库链接(database link)其名称可以含有'.'即点号。比如A用户想给B用户创建一个DBLINK名叫LINKB,CREATE DATABASE LINK B.LINKB ......, 这个语句将会实际创建一个A用户下的名为B.LINKB的数据库链接。