前言
在上篇博客对于不同库创建同义词时,只是简单提了下dblink,并没有进行深入讲解,在此再对dblink进行深入学习。
一、定义
Dblink(database link),,英文翻译就是数据库连接,就是指不同数据库之间的访问。
二、语法

CREATE PUBLIC DATABASE LINK db_link_name CONNECT TO username IDENTIFIED BY password USING '(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST =visist_IP)(PORT =visit_port ))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = db_name)
    )
  )';
  --参数说明
  --username 需要访问数据用户名, password  密码, visit_ip  需要访问数据库的ip,visit_port 窗口, db_name数据库名称

三、实例演示
1、通过上面sql语句创建
情况是需要在10.248.100.81库中用户cwuser用户下去访问 库10.1.2.1用户ctdev的表employees ,在没有创建dblink前是不能访问的,如图所示

oracle DbLink详解_用户名

创建dblink:

CREATE PUBLIC DATABASE LINK TO_CTDEV CONNECT TO ctdev IDENTIFIED BY ctdev2015 USING '(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST =10.1.2.14)(PORT =1521 ))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ctcore)
    )
  )';

在cwuser库中访问表employees

注意这里访问的语法 是表名+@+dblink 名字

oracle DbLink详解_DBLink_02


2、用oracle数据库图像界面创建

创建前先删掉先前创建的dblink 语法如下

drop public database link  TO_CTDEV

创建操作如下

oracle DbLink详解_数据库_03


oracle DbLink详解_DBLink_04

注意这里db_link 的创建时需要在拥有创建权限,不然是不能创建。