Oracle中使用同義詞介紹
一、背景
有兩個sid:Asid,Bsid,在Asid下有兩個用戶Auser1,Auser2,在Bsid下有一個用戶Buser1。其中Auser2和Buser1建立了dblink。現希望通過登錄Buser1訪問Auser1上的三張表table1,table2,table3信息和函數function1。
二、步驟
①登錄Auser1對Auser2授權(若需要刪除則加上)
grant ,select,on table1 to Auser2;
grant ,select,on table2 to Auser2;
grant ,select,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()。
【Oracle中使用同義詞介紹】相關文章:
使用的同義詞04-15
寫作中同義詞列舉05-22
考慮的同義詞介紹01-14
新鮮的同義詞介紹05-03
享受的同義詞介紹01-14
生長同義詞介紹11-18
外強中干的同義詞08-09
管中規豹同義詞03-28
幸福的同義詞介紹及造句09-11