DBLink就是数据库链接,而同义词就已经具体到某个用户下的表了
原文链接:http://www.linuxidc.com/Linux/2013-01/77579.htm
这里所需要的信息: 从MM库向GG库建立dblink
MM库的用户名密码为 mmn,mmk
GG库的用户名密码为 ggn,ggk
先决条件:MM库有建立dblink的权限,两边主机的可以ping连通
step1:
首先查询两个库的global_name。
select *from global_name;
例如MM库的为MMDB,GG库的为GGDB
setp2:
创建dblink
-- Create database link
create database link MMDB.GGDB.QHLIFE.COM --dblink的名称,一般是两个库的global_name,和公司的域名
connect to GGN identified by "ggk" --需要连接库的用户名,密码,密码带双引号区分大小写
using '(DESCRIPTION = --需要连接库的TNS信息
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.50.64.187)(PORT = 1521))
(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = zjuat))
)';
step3:
检查是否连接成功。
select *from dual@MMDB.GGDB.QHLIFE.COM;
注:删除dblink的语句
drop database link MMDB.GGDB.QHLIFE.COM;
如果要是每次都使用@dblink去查询是不是有点麻烦呢,那我们就使用同义词吧。
创建的语句也就一句,就是给远程表起个别名。
create synonym GGTABLE for GGDB_TABLE@MMDB.GGDB.QHLIFE.COM;
GGTABLE是以后要使用的名称
GGDB_TABLE@MMDB.GGDB.QHLIFE.COM中的GGDB_TABLE是远程表的名称,MMDB.GGDB.QHLIFE.COM是dblink