创建dblink

需求

两台数据库服务器(本地)(远程192.168.1.59),本地用户orcl需要访问到远程服务器下mars的数据,这时就需要创建DBLink

方案

先确定用户是否有创建DBLink的权限:

select * from user_sys_privs where privilege like upper('%DATABASELINK%');

·        1

·        1

如果没有,则需要使用 sysdba 角色给用户赋权:

grantCREATEPUBLICDATABASE LINK,DROPPUBLICDATABASE LINK to orcl; 

·        1

·        1

这里有两个需要注意的问题: 
1. dblink
有三种权限: 
CREATE DATABASELINK(所创建的dblink只能是创建者能使用,别的用户使用不了) 
CREATE PUBLICDATABASE LINKpublic表示所创建的dblink所有用户都可以使用) 
DROP PUBLIC DATABASELINK(删除dblink 
2.
最后的orcl是本地数据库的用户名。 
以用户orcl登录数据库,创建DBLink

createpublicdatabase link etl59   

 connectto mars identified by mars的密码 

 using'(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL =TCP)(HOST = 192.168.1.59)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = xxxx)))';

说明:etl59为你创建的dblink的名字;mars为远程数据库用户的用户名;后边是mars对应的密码;Host=后边是服务器的地址;SERVICE_NAME=后边是远程数据库的名称。

操作

使用DBLink

select * from T_CLOB@ETL59

·        1

·        1

查询、删除和插入数据和操作本地的数据库是一样的,只不过表名需要写成表名@dblink的名字 
删除DBLink

drop  publicdatabase link  etl59

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值