软件环境 Windows NT+ORACLE
ORACLE安装路径为C:\ORANT
服务器A服务器B均装有NT 中文版
实现方法 假设A地址B地址
AB上配置好TCP/IP互相Ping通
配置initora文件若global_name = true的话database link 的名字必须同远程机的实例名相同
为简便起见请将global_name 设为 false
在服务器上配置tnsnamesora将Remote机器的地址(IP)信息加入本地的tnsnamesora
A服务器
TNSA_B =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(COMMUNITY = tcpworld)
(PROTOCOL = TCP)
(Host = )
(Port = )
)
)
(CONNECT_DATA = (SID = ORCL)
)
)
B服务器
TNSB_A =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(COMMUNITY = tcpworld)
(PROTOCOL = TCP)
(Host = )
(Port = )
)
)
(CONNECT_DATA = (SID = ORCL)
)
)
在 SQL*Plus 或其它工具中创建数据库链接
A服务器create public database link A_TO_B connect to tmp identified by tmp using TNSA_B;
B服务器create public database link B_TO_A connect to tmp identified by tmp using TNSB_A;
说明
tmp是一个临时用户A服务器B服务器上均有它的作用是提供链接的目的地
假如
B服务器上有userusertmp三个用户user和user把他们想要对外公开的表的权限授给tmp用户
那么所有能通过database link连接到tmp用户上的人就可以直接访问useruser上的已授权表了
建立database link以后请用这种格式select * from table_name@database_link_name 的方式访问
如在A服务器上想访问B服务器上user用户table表的内容(A到B的连接为A_TO_B)则
SQL> select * from table@A_TO_B;
如果Oracle版本为则数据库联接写法如下
A服务器create public database link A_TO_B connect to tmp identified by tmp using t::orcl;
B服务器create public database link B_TO_A connect to tmp identified by tmp using t::orcl;