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;

猜你喜欢

转载自lw671579557.iteye.com/blog/2001324