Oracle同构数据库访问(dblink)

Oracle同构数据库访问(dblink):

测试环境: Microsoft Windows Server 2003 R2,版本Oracle 10G

数据库A

IP192.yy.xx.76SID Analysis,用户名rpt,密码jsyfrpt.

数据库B

      IP192.yy.xx.77SID jztgos_center,用户名Center,密码center.

测试条件:通过A数据库查询B数据库的表内容。

建立环境时,要注意关闭两台计算机上的Windows的防火墙,否则,会出现能ping通,但Oracle连接不通的情况。

准备工作:

1、如何返回数据库的GLOBAL_NAME

执行SELECT * FROM GLOBAL_NAME;

数据库AGLOBAL_NAMEANALYSIS.REGRESS.RDBMS.DEV.US.ORACLE.COM

数据库BGLOBAL_NAMEJZTGOS_C.REGRESS.RDBMS.DEV.US.ORACLE.COM

2、如何查看Global_name参数是true还是False?
执行:SQL> show parameter global_name;

该参数为true时,你在本地建立的DBLINK的名称必须和远程的Global_name一致才行。

3、查看远程数据徊是否支持高级复制功能。

通过查看v$option视图,如果其中Advanced replicationTRUE,则支持高级复制功能;否则不支持。

执行语句为:select * from v$option;

也可以执行select * from v$option where PARAMETER='Advanced replication'语句,如何返回值为True,那么就是支持,否则就是不支持。在两个数据库中都是检查是否支持才行。

建立步骤:

1、  在数据库A所在服务器上,建立一个用于链接数据库B的服务。

   JZTGOS_C =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.yy.xx.77)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = jztgos_center)

    )

  )

2、  创建dblink

CREATE DATABASE LINK JZTGOS CONNECT TO Center IDENTIFIED BY center USING 'JZTGOS_c';  

3、  测试

SELECT SYSDATE FROM dual@JZTGOS;

返回时间值则表示连接成功。

 

原文地址:https://www.cnblogs.com/pan11jing/p/1617075.html