ORACLE同義詞使用


多用戶協同開發中,可以屏蔽對象的名字及其持有者。如果沒有同義詞,當操作其他用戶的表時,必須通過user名.object名的形式,采用了Oracle同義詞之后就可以隱蔽掉user名,

當然這里要注意的是:public同義詞只是為數據庫對象定義了一個公共的別名,其他用戶能否通過這個別名訪問這個數據庫對象,還要看是否已經為這個用戶授權。

 

例如:服務SRV_B需要讀系統A的數據

SQL>create synonym SRV_B.EMPLOYEE for A.EMPLOYEE ;

SQL> grant select on A.EMPLOYEE to SRV_B;

Grant succeeded.

不賦權的話,SRV_B看不到EMPLOYEE 數據

 批量生成:

 select   'grant select on A.' ||table_name|| ' to ' || owner || ';' from dba_synonyms where OWNER='SRV_B' order by 1;

 

 

 參考閱讀:瀟湘隱者http://www.cnblogs.com/kerrycode/archive/2012/12/19/2824963.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM