ITPub博客

首页 > 数据库 > Oracle > 创建本地数据库到远程数据库的DB_link

创建本地数据库到远程数据库的DB_link

原创 Oracle 作者:jiage_Daniel 时间:2016-07-30 20:17:11 0 删除 编辑

      在DBA日常管理中会遇到跨本地数据库访问另外一个数据库中某个表的数据时,本地数据库就可以通过创建远程数据库的DB_link来实现访问远程数据库中表的操作,通过DB_link本地数据库可以像访问本地数据库一样访问远程数据库中的表。

创建DB_link的必要条件:

1.用户必须有创建DB_link的系统权限:CREATE DATABASE LINK或CREATE PUBLIC DATABASE LINK

2.本地和远程的监听均为启动并且是注册的

3.配置TNS,在本地库中添加远程库的TNS信息,在添加远程库的TNS时连接字符串建议与远程库的SERVICE_NAME一致这样容易辨别

示例:本地数据库(A)——远程数据库(B)

1.配置TNS,在A库中添加B库的tns信息


BEIJING = (A库)
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.3)(PORT = 1526))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = BEIJING)
    )
  )

SHANGHAI =(B库)
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.5)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = SHANGHAI)
    )
  )

2.测试能否tnsping通

[oracle@gc1 admin]$ tnsping SHANGHAI

3.通过A库连接B库

[oracle@gc1 dbhome_1]$ sqlplus sys/oracle@SHANGHAI as sysdba


SQL*Plus: Release 11.2.0.4.0 Production on Thu Jul 21 16:24:18 2016


Copyright (c) 1982, 2013, Oracle.  All rights reserved.

  

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

4.登录A库创建DB_link

SQL>create database link dl_5_scott connect to scott identified

  2  by tiger using 'SHANGHAI';


Database link created.


5.验证DB_link



SQL>select * from dept@dl_5_scott;


    DEPTNO DNAME          LOC

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

        10 ACCOUNTING     NEW YORK

        20 RESEARCH       DALLAS

        30 SALES          CHICAGO

        40 OPERATIONS     BOSTON


     通过DB_link可以实现本地数据库访问远程数据库表中的数据及对表中数据的DML操作,但是需要注意的是创建DB_link时对远程数据库的像SYS这样具有DBA角色的用户是失效的,对普通用户是可以的。



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31362743/viewspace-2122755/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2016-06-16

  • 博文量
    17
  • 访问量
    20439