像查看本地Oracle数据一样查看远程Oracle数据-----Oracle database link创建和使用

      客户现场有三套网络ABC,现在程序所在1号应用服务器(双网卡,所在BC网络)无法连接到A网络的Oracle2号服务器,考虑到还有一台双网卡3号服务器是AB网络的,并且上面也安装了Oracle,便考虑在这台3号服务器上创建db link来使1号应用服务器上的程序可以获取到A网络的Oracle2号服务器数据。
       一、创建
       1、已经配置本地服务
 create public database link linkname
connect to username identified by password
using 'netmanagername';
       Net Manager一定要现在本地的服务名里面配置好,要不然使用db link的时候会提示ora -12512:tns;无法解析指定的连接标识符
       如果本地既安装了Oracle服务端又安装了客户端,最好服务端和客户端都要配置。
       如果创建全局dblink,必须使用systm或sys用户,在database前加public。
       2、未配置本地服务
create database link linkname
connect to username identified by password
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = IP或者计算机名)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = 远程Oracle数据库的ssid)
)
)';
       二、使用:
       查询远端数据库里的表
select * from tablename@linkname
       查询、删除和插入数据和操作本地的数据库是一样的,只不过表名需要写成tablename@linkname
       三、删除
drop public database link linkname
        如果创建的不是public的db link删除的时候就不需要写public

你可能感兴趣的:(Oracle)