dblink实现不同用户之间的数据表访问

1、dblink

1、创建dblink,如果在用户A下创建dblink,名称为TEST_DBLINK; 去操作GCFR_33用户下的表数据等等,

那么在查询表数据的sql就要加上dblink了。如下是创建dblink的语句:

-- Drop existing database link 
drop public database link TEST_DBLINK;
-- Create database link 
create public database link TEST_DBLINK
connect to GCFR_33
using '(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)';

2、假如gcfr_33这个用户下有gcfr_t_vch这个表,但是A用户下没有,想要直接访问gcfr_t_vch,那么查询语句如下:

 select count(*) from gcfr_t_vch@TEST_DBLINK;

2、同义词synonym

1、创建同义词,对于上面的dblink而言,可以创建与之对应的同义词,这样在查询的时候就可以直接select 1 from 同义词就行了,sql语句如下:

create or replace synonym TEST_SYNONM
  for GCFR_T_VCH@TEST_DBLINK;

2、创建同义词之后再查询gcfr_t_vch表,就很简便了

select * from TEST_SYNONM;

先粗略描述,后续继续补充

 

posted @ 2018-01-17 14:08  土豆Z120553  阅读(345)  评论(0编辑  收藏  举报