oracle怎么释放dblink连接数,oracle dblink的使用及连接释放

oracle在进行跨库访问时,可以通过创建dblink实现,今天就简单的介绍下如果创建dblink,以及通过dblink完成插入、修改、删除等操作

首先了解下环境:在tnsnames.ora中配置两个数据库别名:orcl(用户名:dwzszf 密码:dwzszf)、cs(用户名:dwzszf密码:123456),在orcl中创建database link来访问cs

61748263adf13f2eb390ce54635683d9.png

第一步:赋予权限

在创建database link之前,我们需要判断,登陆的用户是否具备创建database link 的权限,所以我们执行以下的语句(用dwzszf用户登陆orcl):

--查看dwzszf用户是否具备创建database link 权限

select * from user_sys_privs where privilege like upper('%DATABASE LINK%') AND USERNAME='dwzszf';

如果查询有返回行,则表示具备创建database link权限,否则,则需要使用sys登陆orcl为WANGYONG用户赋予创建权限

--给wangyong用户授予创建dblink的权限

grant create public database link to dwzszf;

此时,再执行上面查看是否具备权限的sql语句,会发现有返回行,表示,dwzszf这个用户已经具备创建database link的权限

第二步;创建database link

我所了解到的创建方式有两种:1)通过pl/sql developer图形化创建、2)通过sqlplus中的sql语句创建,依次来看

1)pl/sql developer 图形化创建

22fe5754166fc3fe4fce87d30626faa0.png

填写完成后点击“应用”按钮即可创建成功。

2)sql语句创建

--注意一点,如果密码是数字开头,用“”括起来

create public database link dwzszf_link connect to dwzszf identified by "123456" USING 'cs'

这样,就完成了简单database简单的创建

第三步:操作

比如,我们需要通过orcl查询cs中的tb_xt_dwxx这张表的信息,如下图:

c8d80e9a3c41b438f4af877ae7191183.png

从截图中可以看到,在ORCL中可以成功访问到cs中用户dwzszf的表tb_xt_dwxx;

下同理利用同样的方式,可进行插入,修改,删除操作:

至此,简单的dblink操作就可以了,对于上面的链接字符串,还可以创建同义词代替,会稍微省点事

-- 创建同义词

create synonym dwlink FOR tb_xt_dwxx@dwzszf_link;

那么上面的查询、插入、修改、删除中可直接用dwlink代替tb_xt_dwxx@dwzszf_link

即可,例如查询语句可改成如下方式(插入,修改,删除类似):

--查询cs中dwzszf用户的表tb_xt_dwxx

SELECT * FROM dwlink;

使用dblink也会产生:Oracle跨数据库连接dblink的session不能自动释放的问题

我们先查询下cs中的连接数

bd63fc7bf4401ee93283fdd8bd5002b1.png

通过orcl连接cs中的数据发现连接数多了一个

ae2f0109d64bbee23fb49f780b8ced08.png

446b8b12903f6efd5b060754883fa140.png

关闭连接先commit,在执行语句

f1c073a16e6d82464890138da85dc113.png

31f96514175b3578fd7f3ccda5053337.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值