因為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;
