浅谈Oracle DBlink搭建 老猫

如果想建立对远程数据库的访问方法,可以直接读取远程Oracle的数据,或者直接修改,可以建立dblink。dblink可以是公用连接PUBLIC或者私有连接PRIVATE。这一点和同义词很相像。

创建dblink的语法很简单,但要求用户具备创建dblink的权限。权限可以由管理员赋予。

创建dblink的语法如下:

1>已配置本地服务:

CREATE DATABASE LINK数据库链接名CONNECT TO 用户名 IDENTIFIED BY 密码 USING ‘本地配置的数据的实例名’;

2>未配置本地服务:

CREATE DATABASE LINK数据库链接名CONNECT TO 用户名 IDENTIFIED BY 密码 USING '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ip)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = xxx)
)
)';

host=数据库的ip地址,service_name=数据库的sid.

有dblink查询远程数据库,最好建立同义词。这样会使查询方便很多。

创建同义词的方法如下:

CREATE SYNONYM同义词名FOR 表名;
CREATE SYNONYM同义词名FOR 表名@数据库链接名;

另外值得一提的是数据库的global_name ,

当global_name的值为true时,那么dblink的数据库连接名要与数据库的global_name相同,否则通过dblink访问远程数据失败。

为了方便起见,我们一般把数据库global_name的boolean值设为false。

查看数据库global_name的值方法如下:

show parameters global_name

修改global_name的值为false:

alter system set global_names=false;

原文地址:https://www.cnblogs.com/oldcat/p/2179906.html