首页 > 数据库技术 > 详细

Oracle中使用同义词

时间:2014-01-23 01:01:50      阅读:606      评论:0      收藏:0      [点我收藏+]

一、背景
有两个sid:Asid,Bsid,在Asid下有两个用户Auser1,Auser2,在Bsid下有一个用户Buser1。其中Auser2和Buser1建立了dblink。现希望通过登录Buser1访问Auser1上的三张表table1,table2,table3信息和函数function1。

 

二、步骤
①登录Auser1对Auser2授权(若需要删除则加上delete)
grant insert,select,update on table1 to Auser2;
grant insert,select,update on table2 to Auser2;
grant insert,select,update on table3 to Auser2;
grant execute on function1 to Auser2;

②登录Auser2建立同义词
create synonym table1 for Auser1.table1;
create synonym table2 for Auser1.table1;
create synonym table3 for Auser1.table1;
create synonym function1 for Auser1.function1;

③登录Buser1查找db_link名(例如查出来的db_link名为mydblink1)
select username,db_link from user_db_links

④建立Buser1的同义词
create synonym table1 for Auser2.table1@mydblink1;
create synonym table2 for Auser2.table2@mydblink1;
create synonym table3 for Auser2.table3@mydblink1;
create synonym function1 for Auser2.function1@mydblink1;

⑤测试
此时登录Buser1通过select * from table1就可以访问table1了。


三、注意点

也可以建立procedure的同义词,但是这样执行的过程中不允许commit。如果要提交的话请在如JDBC中commit()。


四、一些资料
同义词介绍:http://blog.csdn.net/woshixuye/article/details/10209239

Oracle中使用同义词

原文:http://blog.csdn.net/woshixuye/article/details/18665659

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!