Oracle synonym 相關

zecaro發表於2011-06-24

       Necessity is the mother of invention ,對這句話的感受越來越深。

       上午有人問我關於Oracle synonym 的問題。雖然知道 synonym這個東西,不過還真沒有用過。翻了翻10gr2的文件以及google了一下,整理之。

       synonym是什麼?

an alias for a schema object (別名)

       synonym用途,好處?

    1. provide a level of security by masking the name and owner of an object and by providing location transparency for remote objects of a distributed database. (透過隱藏object的名字和所有者 以及 為分散式資料庫物件提供透明的位置 來提高安全性)
    2. they are convenient to use and reduce the complexity of SQL statements for database users.(方便使用,減少SQL的複雜度)

        synonym分類?

    • A public synonym  is owned by the special user group named PUBLIC and is accessible to every user in a database.
    • A private synonym  is contained in the schema of a specific user and available only to the user and the user's grantees.

        具體的操作,許可權方面的可以參考10gr2的文件

這是需要滿足的需求吧。

Z使用者想要不指定STA這個使用者名稱來訪問STA.TEST這張表STA.TEST是STA使用者的表

> grant select on TEST to z;

> create synonym TEST for STATISTICS.TEST; --z使用者要有create synonym的許可權
> select * from TEST;

         另外看到一篇Steve Adams 的一篇文章 。解析表名時的影響並不值得關注,需要關注的是 public synonym usage clutters the library cache and dictionary cache with information needed to track the negative dependencies on non-existent objects. 

       

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23650854/viewspace-700653/,如需轉載,請註明出處,否則將追究法律責任。

相關文章