oracle在进行跨库访问时,可以通过创建dblink实现,今天就简单的介绍下如果创建dblink,以及通过dblink完成插入、修改、删除等操作
环境:本地机器安装一个oracle数据库,虚拟机安装一个oracle数据库;
目标:本地oracle数据库创建dblink访问虚拟机的oracle数据库;
本地的tnsnames.ora如下(虚拟机没有安装plsql客户端):
LOCAL=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME =XE)
)
)
##
VMWARE_DBLINK=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.107.128)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME =oracl2)
)
)
第一步:查看本地oracle用户hive是否有创建dblink的权限:
select * from user_sys_privs where privilege like upper('%DATABASE LINK%') AND USERNAME='hive';
如果查询有返回行,则表示具备创建database link权限,否则,则需要在本地使用超级用户对hive赋予创建权限:
grant create public database link to hive;
第二步:创建dblink,有两种方案,plsql客户端或者SQL语句
<1>图形化界面创建
<2> 语句创建
create public database link VMDBLINK connect to hive identified by "000000" USING 'VMWARE_DBLINK';
第三步:以上就操作完成了,可以验证是否创建成功;
本地plsql客户端上操作:
--查看
select * from test@VMDBLINK
;
--插入
INSERT INTO test@VMDBLINK VALUES('TIM',13)
;
--创建别名
CREATE SYNONYM TESTVMDBLINK FOR test@VMDBLINK;
SELECT * FROM TESTVMDBLINK
;