2011-02-08 76 views
3

我必須安裝一個需要用戶寫入數據庫的應用程序服務器,可能會創建新的方案等。但是,我一直使用「解決方法」將DBA角色分配給該用戶。Oracle DBA角色及其特定功能(和可能的替換)

我有一些問題,因爲我沒有深入Oracle安全性。

  1. DBA角色是否具有影響整個Oracle安裝的特權級別?
  2. 我在哪裏可以找到DBA角色具有的特權?
  3. 如何創建替代角色?

感謝,

+2

什麼應用程序服務器太糟糕了,它必須運行SYSDBA? –

+0

@StephaniePage:SYSDBA權限不是角色,不能分配給角色,也不是DBA角色的一部分。 OP不是在談論SYSDBA特權。另外,他清楚地說明了他需要的功能;創建模式。 – Wouter

回答

9

1)是的,DBA角色應該有足夠的權限來搞砸了超越固定的數據庫。

2)

select * 
    from role_sys_privs 
where grantee = 'DBA'; 

3)除非你打算在具有類似特權的多個用戶,我建議創建一個用戶,並明確授予的所有所需的權限給該用戶,而不是通過一個角色。

可以在 Oracle Database Security Guide chapter 11, Administering User Privileges, Roles, and Profiles

+2

OMG +2「超出修復」 –

+0

非常感謝,歡呼:) – Shyam

0

先探討Ronnis的解決方案更多的話題。如果這還不夠,請創建一個由SYSTEM擁有的軟件包,並將EXECUTE授予給需要它的用戶。添加執行所需操作的程序,注意儘可能限制其功率。

+0

我不認爲在SYSTEM中創建對象是一個好主意。 –

+0

如果您不喜歡在SYSTEM中創建對象,請按照Ronnis的建議創建一個新用戶並在其中創建該包。 – redcayuga