Oracle DBlink的创建-查看与删除

DBlink常用于在两个Oracle数据库之间相互连接,如手工同步数据时,DBLink是最方便快捷的手段之一。

1、创建DBLink语法:
create public database link <DBLink名称> connect to <被连接库的用户名> identified by <被连接库的密码> using ‘<Oracle客户端工具建立的指向被连接库服务名,即TNSNAME中配置的本地服务名>’;
public指明所有用户均可使用这个DBlink,如果不指定,则只有创建者才能使用。

2、授权用户具有创建dblink的权限
创建dblink的用户有对应的数据库权限
create public database link 或者create database link
可以使用
grant create public database link, create database link to username;

3、使用本地服务名来创建public dblink

SQL> create public database link link201orcl connect to scott identified by tiger using ‘rhel201’;

数据库链接已创建。

SQL> select sysdate from dual@link201orcl; --使用dblink连接并查询远程数据库中的系统时间

SYSDATE

26-4月 -15

SQL>
但这种方式有个缺点就是必须要在服务器建立一个被连接库的服务名,如果不建则会报错:
ORA-12154: TNS: 无法处理服务名
如果直接使用地址来建DBLink,就可以省去配置服务名的麻烦了:

4、不需要配置本地服务名,在创建dblink时加上description信息

SQL> create public database link link201 connect to scott identified by tiger using
2 ‘(DESCRIPTION =
3 (ADDRESS_LIST =
4 (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.201)(PORT = 1521))
5 )
6 (CONNECT_DATA =
7 (SERVICE_NAME = orcl)
8 )
9 )’;
Database link created

SQL> select * from emp@link201; --使用dblink连接并查询远程数据库中的表
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


7369 SMITH CLERK 7902 1980/12/17 800.00 999.00 20
7499 ALLEN SALESMAN 7698 1981/2/20 1600.00 300.00 30

5、查看dblink
select owner,object_name from dba_objects where object_type=‘DATABASE LINK’;
或者
select * from dba_db_links;

select owner,object_name from dba_objects where object_type=‘DATABASE LINK’;
或者
select * from dba_db_links;
SQL> select owner,object_name from dba_objects where object_type=‘DATABASE LINK’;
OWNER OBJECT_NAME


PUBLIC LINK201
PUBLIC LINK201ORCL

SQL> select * from dba_db_links;

OWNER DB_LINK USERNAME HOST CREATED


PUBLIC LINK201ORCL SCOTT rhel201 26-4月 -15
PUBLIC LINK201 SCOTT (DESCRIPTION = 26-4月 -15
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.201)
(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
5、删除dblink
drop database link linkname;
drop public database link linkname;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tony-甲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值