关于Oracle跨数据库查询

   前几天因为工作需要进行跨数据库查询,当时是要比对一下生产库和源库的某张表数据一致性,自己摸索了半天,终于成功,好了,废话不多说,开始来说说我是怎么实现的

要进行跨数据查询,首先在一个数据库中某个用户下编写一个存储过程,在存储过程中使用DBLINK连接另一个数据库

实现方法步骤:

1:创建存储过程,在存储过程中先创建database link

create database link dblink(这个dblink只是个别名,可以随便起)

        connect to 要连接的数据库用户名 identified by 登陆密码 
        using '(DESCRIPTION =
                (ADDRESS_LIST =
                  (ADDRESS = (PROTOCOL = TCP)(HOST =要连接的数据库所在服务器的IP地址)(PORT = 1521))
                )
                (CONNECT_DATA =
                  (SERVICE_NAME = 你要连接的数据库的SID)
                )
              )'

2:以上已经创建完成存储过程,接下来就可以进行跨库查询了

select * from 目标库表@dblink  (实现跨库查询,表名后面加上@dblink)

select * from dba_db_links  (在当前数据库下查看所有的DBLINK的方法,也就是你创建存储过程的一些信息)

select * from dba_db_links  (删除当前数据库下的一个指定的DBLINK的方法)

drop public database link dblink  (创建的是public的dblink,用此方法删除)

drop database link dblink  (创建private的dblink,用此方法删除)

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值