Oracle:DBlink

一、作用

开发过程中,经常会碰到需要从数据库A中查询另一个数据库B的某张表的数据,这是时候我们可以使用dblink来连接数据B进行数据查询等。

 二、创建

     两台数据库服务器(本地)和(远程192.168.1.59),本地用户orcl需要访问到远程服务器下mars的数据。

1、确定用户是否有创建DBLink的权限

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

2、sys登陆,为orcl赋予权限

grant CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK to orcl;  

注意问题: 
1. dblink有三种权限: 
CREATE DATABASE LINK(所创建的dblink只能是创建者能使用,别的用户使用不了) 
CREATE PUBLIC DATABASE LINK(public表示所创建的dblink所有用户都可以使用) 
DROP PUBLIC DATABASE LINK(删除dblink) 
2. 最后的orcl是本地数据库的用户名。 

3、orcl用户创建DBLink

create public database link etl59    
connect to 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=后边是远程数据库的名称。

三、操作

1、使用DBLink

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

select * from T_CLOB@etl59

2、删除DBLink

drop  public database link  etl59

3、查看DBLink

select * from dba_db_links

转载:https://blog.csdn.net/aiynmimi/article/details/52857732

猜你喜欢

转载自blog.csdn.net/u014231646/article/details/81503795