?
一定要理解具体怎么操作
global_names和global_name看起来很相似,global_names的作用是创建db link时是否强制使用远程数据库的global_name,如果
global_names=true,则db link name必须要求是remote database的global_name,否则创建之后db link 不能连同,?
假如在本地:不是远端,和自己的思维不一样。
SQL> show parameter global_names
NAME? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TYPE? ? ? ? VALUE
------------------------------------ ----------- ------------------------------
global_names? ? ? ? ? ? ? ? ? ? ? ? boolean? ? TRUE
这样在本地要想创建dblink ,那么该dblink的名字 ,必须是远端4.151的global_name ,如下查看global_name?
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
NEWZQDB
也就是只能起名为newzqdb? ,都则报错ORA-02085
? create public database link? newzqdb? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? connect to system identified by manager
? ? ? using '(DESCRIPTION =
? ? ? ? ? ? ? ? (ADDRESS_LIST =
? ? ? ? ? ? ? ? ? (ADDRESS = (PROTOCOL = TCP)(HOST =192.168.4.151)(PORT = 18000))
? ? ? ? ? ? ? ? )
? ? ? ? ? ? ? ? (CONNECT_DATA =
? ? ? ? ? ? ? ? ? (SERVICE_NAME = newzqdb)
? ? ? ? ? ? ? ? )
? ? ? ? ? ? ? )';? ?
你可以在本地通过? alter system set global_names=FALSE;? 来取消这种限制,一定注意在本地, 不是远端。
也就是说如果本地global_names这个参数是TRUE,那么在这里只能创建一个可以使用的dblink。