2011-04-16 46 views
0

直接和通過角色資源向用戶授予角色CREATE TABLE, CREATE TRIGGER, CREATE PROCEDURE這樣的角色有什麼區別。通過資源或直接向用戶模式授予這些角色是否好?在oracle中的資源角色

回答

3

RESOURCE角色幾乎肯定包含比您實際想要授予用戶更多的特權,並且可能不包含您希望授予的許多特權。所以你通常不會授予用戶生產系統中的RESOURCE角色。相反,您需要創建適合您環境的角色(即DEVELOPER_ROLE,ANALYST_ROLE等),爲這些角色授予適當的權限,然後將這些角色授予適當的用戶。

直接授予用戶權限或通過角色授予權限的唯一時間是用戶是否試圖通過存儲過程來行使權限。如果我已通過角色授予CREATE TABLE權限,則可以交互創建所需的所有表。但是,如果我嘗試編寫一個使用動態SQL創建表的存儲過程,則會出現錯誤。因爲你不希望開發者在運行時創建對象,所以這通常不是問題。如果你想真的想要這樣做,但是,你必須直接授予該程序的所有者CREATE TABLE權限。