Oracle笔记--dblink

概述

1、database link是定义一个数据库到另一个数据库的路径的对象,database link允许你查询远程表及执行远程程序。在任何分布式环境里,database都是必要的。另外要注意的是database link是单向的连接。
2、在创建database link的时候,Oracle在数据字典中保存相关的database link的信息,在使用database link的时候,Oracle通过Oracle Net用用户预先定义好的连接信息访问相应的远程数据库以完成相应的工作。

database link的创建

创建dblink的用户有对应的数据库权限,创建dblink命令为:

--public表示所创建的dblink所有用户都可以使用
create public database link 
或者
--所创建的dblink只能是创建者能使用,别的用户使用不了
create database link 

如果用户没有权限创建dblink,则可以通过管理员身份并使用 :

grant create public database link, create database link to myAccount

来授权(myAccount表示需要被授予创建dblink的用户)。
:A库需要访问B库的表数据,需要在A库建立连接到B库的dblink,在A账户下执行(推荐)

create database link LIS_LINK01 connect to bUser identified by bPasword using '10.22.xx.xx:1521/orcl'
-- bUser:B库的数据库账户
-- bPassword:B库的数据密码
-- 10.22.xx.xx:B库的ip地址

或者

create database  link blink1 connect to dbName identified by dbPassword using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.1.106)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))';
 
-- blink1 : 表示dblink名字
-- dbName :表示 远程数据库的用户
-- dbPassword:表示 远程数据库的密码
-- HOST : 表示远程数据库IP
-- PORT : 表示远程数据库端口
-- SERVICE_NAME : 远程数据库的实例名

查看dblink

select owner,object_name from dba_objects where object_type='DATABASE LINK';

或者

select * from dba_db_links;

database link删除

删除public类型的database link

DROP PUBLIC database link link_name;

删除非public类型的database link
注意:只有owner自己能删除自己的非public类型database link

DROP database link link_name;

dblink应用

当需要跨库拷贝数据而且数据量很大的时候,使用dblink速度很快。
如:通过dblink跨库复制数据量非常多的表T_WEBSERVICE(db3的user name 是SJSJZX用户,而表T_WEBSERVICE是SJSJZX下的)

create table test as select * from T_WEBSERVICE@db3
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值