使用sys用户创建其他用户下的dblink

本文介绍了一种在Oracle数据库中通过存储过程间接创建和删除其他用户下dblink的方法。具体步骤包括:首先使用sys用户为所需操作的目标用户创建存储过程;然后通过调用该存储过程来实现跨用户创建或删除dblink的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为dblink的创建和删除只能是它的所属用户来操作,所以我们无法直接使用sys用户创建其他用户下的dblink,当遇到有这样的需求时,可以先建立该用户下存储过程,再通过调用这个存储过程来间接实现。
举例来说:

1.使用sys用户创建JY2用户下的dblink “TO_11G_JY1”,连接远端“WINORA”的jy1用户:

--Create other user's dblink
--grant create database link to jy2;
create or replace procedure jy2.createlink 
is
begin
execute immediate 'create database link TO_11G_JY1 connect to jy1 identified by jy1 using ''WINORA''';
end;
/

--create database link using above procedure
exec jy2.createlink;

2.使用sys用户删除JY2用户下的dblink “TO_11G_JY1”:

--Drop other user's dblink
create or replace procedure jy2.droplink 
is
begin
execute immediate 'drop database link TO_11G_JY1';
end;
/

--drop database link using above procedure
exec jy2.droplink;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值