1、 在本地(oracle和phd主服务器)建立一个Oracle的客户端连接sxyuniformance,用于连接远程端机器的oracle数据库。
在远程端机器的数据库中,建立一个表用于测试,创建RTDB_TAG表。
create table uniformance.RTDB_TAG
(
NAME VARCHAR2(30) not null,
DES VARCHAR2(60),
UNIT VARCHAR2(15),
HI VARCHAR2(20),
LO VARCHAR2(10)
)
在其中增加一条记录:
insert into uniformance.RTDB_TAG (NAME, DES, UNIT, HI, LO)
values ('TAG1', 'TAG TEST1', 'M', '10000', '-100');
2、 在oralce和phd服务器端登录PLSQL,创建远程数据库端的连接dblink
create database link dblink connect to uniformance identified by uniformance using ‘sxyuniformance’;
dblink:database link的名称
uniformance:远程端oracle数据库的登录名
uniformance:远程端oracle数据库的登录密码
sxyuniformance:本地建立的连接到远程端的服务名称
注意:创建database link的时候,名字不是随便获取的,如果本地数据库的global_names的参数值为true,dblink的名称必须和远程数据库的global_names相同。
如何查看数据库的GLOBAL_NAME?
执行 SQL>SELECT * FROM GLOBAL_NAME;
如何查看Global_name参数是true还是False?
执行 SQL> show parameter global_name;
如何修改Global_name参数值?
执行 SQL> alter system set global_names=false;
3、 测试连接是否成功
select * from dual@dblink
如果有结果返回则表示连接成功了。
4、在本地数据库中查询已经建立的远程连接名:
SQL> select owner,object_name from dba_objects where object_type='DATABASE LINK';
OWNER OBJECT_NAME
Public dblink
5、至此,在本地oracle和phd服务器上创建一个DBLINK,用于连接到远程端的数据库上,
在本地的数据库中查询远程端数据库中表的信息:
SQL> select * from RTDB_TAG@dblink
查询结果测试是否成功