oracle在进行跨库访问时,可以通过创建dblink实现,今天就简单的介绍下如果创建dblink,以及通过dblink完成插入、修改、删除等操作
第一步:赋予权限
在创建database link之前,我们需要判断,登陆的用户是否具备创建database link 的权限,所以我们执行以下的语句(用test用户登陆orcl):
-- 查看test用户是否具备创建database link 权限
select * from user_sys_privs where privilege like upper('%DATABASE LINK%') AND USERNAME='test';
如果查询有返回行,则表示具备创建database link权限,否则,则需要使用sys登陆orcl为WANGYONG用户赋予创建权限
-- 给用户授予创建dblink的权限
grant create public database link to test;
第二步;创建database link
-- 注意一点,如果密码是数字开头,用“”括起来
create public database link TESTLINK2 connect to test identified by "123456" USING USING '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.1.8)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))';
第三步:操作
select * from testtab@TESTLINK2;
insert into testtab@TESTLINK2 values(1);
delete from testtab@TESTLINK2 where id=1;
update testtab@TESTLINK2 set id=3 where id=1;
其他相关的知识
--查看所有的数据库链接,登录管理员查看
select owner,object_name from dba_objects where object_type='DATABASE LINK';
--删除数据库连接
drop database link TestDblink;
--创建同义词
create synonym TESTSYNONYM FOR testtab@TESTLINK2;