Oracle DBLink创建和维护以及ORA-02085 解决办法(二)

2015-07-16 12:07:38 · 作者: · 浏览: 1
obal_names值为false,取消这种限制
?


一定要理解具体怎么操作


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。