DBLink创建

背景:

数据库A:testa/testa SID=testa

数据库B:testb/testb SID=testb

 

需求:

数据库A想访问数据B的test表

 

分析:

1、在testa数据库中创建dblink

2、在A数据库创建test表同义词,这样A数据库就可以像访问自己的表一样访问B的test表

 

步骤:

1、在A数据库的tnsnames.ora中添加连接B数据库的连接字符串

db_B = --连接字符串
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.10)(PORT = 1521)) -- B数据库IP
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = testb) -- B数据库的SID
    )
  )

2、以sys用户登录A数据库,并赋予testa用户创建dblink的权限

grant resource to testa;

grant creat database link to testa;

 

3、以testa用户登录A数据库,创建dblink

CREATE DATABASE LINK DBLink_B CONNECT TO testb IDENTIFIED BY testb USING 'db_B';

参数解释:

CREATE DATABASE LINK DBLink_B: 创建dblink,名称为DBLink_B
CONNECT TO testb : 连接到testb用户
IDENTIFIED BY testb:testb用户密码为testb
USING 'db_B':使用上面创建的数据库连接字符串

 

创建好以后可以使用下面的方式访问B数据库的test表:

select * form test@DBLink_B;

 

4、创建同义词,更方便

create or replace synonym test
  for test@DBLink_B;

 

现在A数据库可以直接访问test表了。

select * from test;

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值