DB_LINK 介绍
在本机数据库orcl上创建了一个prod_link的public
dblink(使用远程主机的scott用户连接),则用sqlplus连接到本机数据库,执行select * from scott.emp@prod_link
即可以将远程数据库上的scott用户下的emp表中的数据获取到。
也可以在本地建一个同义词来指向scott.emp@prod_link,这样取值就方便多了。
创建前的准备
一、网路互通
二、保证本地可以通过TNS连接到远程数据库的用户
三、保证本地用户有创建db_link的权限
############################################################################################
1、确认用户权限
--用户里
select * from user_sys_privs where privilege like upper('%DATABASE LINK%');
--DBA查询
col grantee for a30
col PRIVILEGE for a30
set lines 180 pages 999
select * from dba_sys_privs where privilege like upper('%DATABASE LINK%');
2、用户授予权限
grant create public database link,create database link to c##user_name;
grant drop public database link to c##user_name;
############################################################################################
1、创建:如果在create之后不加public,则创建的dblink就不是公共的,就只有创建者可以使用。
---公有
create public database link link_name connect to system identified by oracle using 'orcl';
---私有
create database link link_name connect to system identified by oracle using 'orcl';
2、使用
create table table_name as select * from dba_objects@link_name; (在表之后增加@连接串)
查询、删除和插入数据和操作本地的数据库是一样的,只不过表名需要写成表名@dblink的名字。
3、删除
drop database link link_name;
drop public database link link_name;
############################################################################################
col owner for a15
col db_link for a15
col username for 15
col host for a15
col created for a20
col object_name for a15
set lines 180 pages 999
alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
查询一
select owner,object_name from dba_objects where object_type='DATABASE LINK';
OWNER OBJECT_NAME
---------- ---------------
SYS SYS_HUB
PUBLIC ORCL_LINK
查询二
select * from dba_db_links;
OWNER DB_LINK USERNAME HOST CREATED HIDDEN
---------- --------- --------- ---------- ------------------- ------
SYS SYS_HUB SEEDDATA 2017-01-26 14:19:44 NO
PUBLIC ORCL_LINK SYSTEM orcl 2018-08-13 17:55:00 NO
PUBLIC ORCL1 SYSTEM orcl 2018-08-13 18:20:40 NO
C##USER1 ORCL2 SYSTEM orcl 2018-08-13 18:21:52 NO
SYS ORCL_LINK SYSTEM orcl 2018-08-13 18:24:34 NO