Oracle 跨库查询表数据(不同的数据库间建立连接)

1.情景展示

  当需要从A库去访问B库中的数据时,就需要将这两个库连接起来;

  两个数据库如何实现互联互通,在oracle中,可以通过建立DBLINK实现。

2.解决方案

  2018/12/05

  第一步:创建DBLINK

  前提:要建立通信的2个数据库的IP必须实现可以相互访问。

  方式一:使用plsql实现

  选中“database link” -->右键-->新建

  名称:创建的DBLINK的名称,通过它来完成B库的访问;

  配置连接B库所需的用户名、密码和数据库地址

  方式二:通过sql实现

  方法一:推荐使用

create database link DATABASE_LINK_TEST--数据库别名
  connect to DB_TEST identified by DB_TEST--分别对应用户名和密码
  using '127.0.0.1:1521/ORCL';--域名:端口号/数据库实例

  方法二:

  模板

create database link 随便起个名字
  connect to 用户名 identified by 密码
  using '(DESCRIPTION =                       
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 域名)(PORT = 端口号))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = 数据库实例名称)
    )
  )';

  举例:

-- Create database link 
create database link DATABASE_LINK_TEST --自定义要连接的数据库名称
  connect to username identified by password  --用户名和密码
  using '(DESCRIPTION =                      --数据库连接:域名,端口号,数据库实例    
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )'; 

  第二步:调用方式

  B库表名@连接的B数据库的别名

select * from BASE_TEST@DATABASE_LINK_TEST 

 

  

posted @ 2018-04-14 12:02  Marydon  阅读(28602)  评论(0编辑  收藏  举报