Oracle建立DB-LINK

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle建立DB-LINK相关的知识,希望对你有一定的参考价值。

Oracle建立DB-LINK

测试条件

两台服务器

远程:IP:192.168.0.18,SID: usertest,用户名:usertest,密码:123456

本地:IP: 192.168.8.90,SID: wjn,用户名:userwjn,密码:mosquito0

参数设置

1.     查看数据库global_name

执行select * from global_name;

远程数据库18返回: USERTEST.US.ORACLE.COM

本地数据库90返回: DB_WJN.REGRESS.RDBMS.DEV.US.ORACLE.COM

2.     查看global_name参数

SQL>show parameterglobal_name;

NAME                                 TYPE        VALUE

----------------------------------------------- ------------------------------

global_names                         boolean     FALSE

该参数为TRUE时,本地连接的DBLINK的名称必须和远程的global_name一致.

3.     查看是否支持高级复制功能

查看v$option视图, Advanced replication为true则支持,否则不支持

select * from v$option t wheret.PARAMETER like ‘Advanced replication%‘;

建立方法

1.创建dblink的第一种方式,是在本地数据库tnsnames.ora文件中配置了要远程访问的数据库。

create database link USERTEST_18connect to USERTEST identified by xxxx using ‘USERTEST_192.168.0.18‘;

  其中USERTEST_18是你创建的dblink名字,usertest是远程数据库的实例名,USERTEST/xxxx是登录到远程数据库的用户/密码。然后在本地数据库中通过dblink访问远程数据库18中dual表,sql语句如下所示

  select * from [email protected] USERTEST_18;

2.创建dblink的第二种方式,是在本地数据库tnsnames.ora文件中没有配置要访问的远程数据库

create public database link USERTEST_18

connect to USERTEST

identified by 123456 using

‘(DESCRIPTION =

   (ADDRESS_LIST =

     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.18)(PORT = 1521))

   )

   (CONNECT_DATA =

     (SID = usertest)

     (SERVER = DEDICATED)

   )

  )‘;

  第二种是把第一种配置在tnsnames.ora文件中的信息,直接放在创建dblink语句后面。第一种情况tnsnames.ora文件中信息如下:

USERTEST_192.168.0.18 =

(DESCRIPTION =

    (ADDRESS_LIST =

     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.18)(PORT = 1521))

   )

   (CONNECT_DATA =

     (SID = usertest)

     (SERVER = DEDICATED)

   )

  )

以上是关于Oracle建立DB-LINK的主要内容,如果未能解决你的问题,请参考以下文章

oracle没有锁不能建立索引

在oracle数据库中,如何建立表与表之间的关系?

建立Oracle连线的小问题

在Java中建立Oracle数据库表怎么建啊??????

Oracle建立表空间和用户

oracle dmp导入后还需要建立表空间吗?