一、DBLink的使用方法
1、DBLink的作用是通过一台服务器上面的数据库访问另外一台服务器上面的数据库
(在同一个服务器所以IP地址都一样,数据库实例分别为orc和test,用户分别为cmh和system,现在orcl数据库通过DBLink来连接test数据库的用户system)
2、DBLink创建
a、赋予权限
select * from user_sys_privs where privilege like upper('%DATABASE LINK%') and username='CMH' --查询CMH用户是否具备创建database link权限,如果有返回行则具备该权限;否则需登录sys为CMH用户赋予创建权限。upper是转为大写,大小写敏感 grant create public database link to cmh; --授权CMH用户创建DBLink的权限,需要登录sys进行授权
b、确认目标数据库的TNS信息
c、创建DBLink
方法一 通过PLSQL图形化创建
①配置相关信息
(如果是本机上的数据库,数据库那里只用填数据库名,如test,如果是连接其他主机上的数据库,数据库那里需要填数据库的IP/数据库名)
②查询结果
select * from help@testLink --help是test数据库里system用户下的一个表,testLink是DBLink链接的名称
方法二 通过SQL语句创建
①SQL语句创建
create public database link testLink2 connect to system identified by "123456" using 'test'; --testLink2是连接名,system是用户名,123456是密码,test是tnsnames.ora配置的实例名 --成功会返回Database link created
②查询结果
select * from help@testlink2;
二、DBLink的相关命令
1、查询数据库已经配置的DBLink连接
select owner,object_name,object_type from dba_objects where object_type='DATABASE LINK';
2、创建DBLink
create public database link testLink2 connect to system identified by "123456" using 'test'; --testLink2是连接名,system是用户名,123456是密码,test是tnsnames.ora配置的实例名 --成功会返回Database link created
3、删除DBLink
drop public database link testLink2; --成功会返回Database link dropped
4、DBLink插入、修改、删除操作
在test数据库里system用户下创建一个表
create table accu ( day_code varchar2(10), buss_month varchar2(10), fnum int )
a、插入数据
insert into accu@testlink values('20211101','202111',5);
b、修改数据
update accu@testlink set fnum=10 where day_code='20211101';
c、删除数据
delete from accu@testlink where day_code='20211101'
参考连接
https://www.cnblogs.com/wangyong/p/6354528.html
https://blog.csdn.net/qq_22083251/article/details/82495283
https://blog.csdn.net/xulei_19850322/article/details/8219023