DATABASE LINK 使用一例

需求:
1.A库要访问B业务库数据,两个库分别位于不同的服务器上。
2.只能给A用户部分表的访问权限。

 

方案:
1.A库通过database link的方式访问B库数据。

2.B业务库上建只读用户RESERVE_VIEW授予部分表select的权限。
 
  A与B库只读用户RESERVE_VIEW建立db_link连接。

 

--1.a)业务库用户B登录,建只读用户RESERVE_VIEW
create user RESERVE_VIEW
  identified by 密码
  default tablespace RESERVE
  temporary tablespace TEMP
  profile DEFAULT;
 
--b)授予RESERVE_VIEW 权限
grant create session to RESERVE_VIEW; 
grant create any synonym to RESERVE_VIEW;

--2.业务库用户B给RESERVE_VIEW授只读权限
grant select on  PRPCITEMKINDORIGIN        to  RESERVE_VIEW;
grant select on  PRPCFEE                   to  RESERVE_VIEW;

 

--3.RESERVE_VIEW用户登录建同义词

create or replace SYNONYM    PRPCITEMKINDORIGIN  for B.PRPCITEMKINDORIGIN    ;
create or replace SYNONYM    PRPCFEE             for B.PRPCFEE               ;

 

 

--4.授予A用户创建db_link权限
grant create database link to RESERVE_PROD;

 
--5.A用户创建db_link到RESERVE_VIEW

create database link  CORE_PROD   connect to RESERVE_VIEW
      identified by 密码
using'(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST =192.168.0.1)(PORT = 1521))
    )
    (LOAD_BALANCE = yes)
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = prod)
    )
  )';
 
--6.A用户登录


SQL> select  count(1) from   PRPPFEE@core_prod;
  COUNT(1)
------------------
     78908898

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值