Oracle DatabaseLink 跨数据库连接

Oracle DatabaseLink 跨数据库操作

在平时工作中有这么一个需求,要搭建测试环境,需要把开发库中的一部分表和数据导入到测试库中。或者说在测试库中用到开发库中的一些表,视图的数据。咋一看这个需求有很多的实现方法,至少可以使用Oracle的导入导出来操作。这肯定能够实现,但感觉比较low,下面来看一种高大尚的做法,使用Oracle中的DATABASE LINK。

DATABASE LINK 顾名思义,就是数据库的连接,功能就是连接到其他的数据库,并对其他的数据进行方便的操作。但从这一点来看,是不是就非常强大了。DATABASE LINK 有两种,一种是公有的,一种是私有的,这里主要介绍的是公有的。

1. 创建DATABASE LINK (远程连接库)

create public database link DATABASE_LINK_NAME
  connect to CONNECT_DATABASE_USER identified by "CONNECT_DATABASE_PASSWORD"
  using '(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = CONNECT_ORACLE_SERVER)(PORT = CONNECT_ORACLE_SERVER_PORT))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = CONNECT_ORACLE_SERVICE_NAME)
    )
  )';

比如我要连接 192.168.101.111 这台服务器下的 端口号为 1521 的 orcl 数据库实例。用户名是 scott 密码是 tiger,database link名称是 scottdl

create public database link scottdl
  connect to scott identified by "tiger"
  using '(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.101.111)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )';

这样就创建了好啦一个 DATABASE LINK

--查看link
select * from dba_db_links;
删除DATABASE LINK
drop public database link scottdl;

2. 使用DATABASE LINK

我要把emp表的数据,同步到我的数据库中,可以这么做

create table test as (select * from EMP @scottdl );

直接查询的话也是可以的

select * from EMP @scottdl(link名称)

新建DATABASE LINK方案二

1.打开PL/SQL工具新建
在这里插入图片描述

  1. 填写配置信息
    在这里插入图片描述
  2. 创建好之后可在文件夹哪里查看或者sql查询
--查看link
select * from dba_db_links;

最后就可做自己想要的操作啦,是不是很简单呢!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值