2012-08-11 67 views

回答

8

要創建新用戶,請使用「創建用戶」命令。因此,典型的創建用戶命令是:

create user test identified by test default tablespace mytbsp. 

當然,您需要用不同的值替換用戶,密碼和表空間的值。不過,我建議你看看Oracle的文檔http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_8003.htm

下一步是授予用戶相應的權利。給用戶所有的權利是一個非常糟糕的方法,因爲你也會給他dba權限。你反而是給他連接權限和權限到他的默認表空間。此外,最好使用角色,而不是直接授予權限。所以如果你必須再次授予權利,你只需要授予角色。第一步是創建角色:

GRANT CREATE session, CREATE table, CREATE view, 
     CREATE procedure,CREATE synonym, 
     ALTER table, ALTER view, ALTER procedure,ALTER synonym, 
     DROP table, DROP view, DROP procedure,DROP synonym 
     TO MyRole; 

這種說法是不完整的,你可能需要額外的權利(例如索引維護),但看看網上Oracle文檔。

之後,您將角色授予新創建的用戶。

GRANT myrole to test; 
+1

我可以做所有的MyRole嗎? – 2012-08-11 19:27:13

+1

正如我所解釋的,這是一個非常糟糕的做法。你基本上讓每個人都成爲一名dba,禁用所有特權,你真的需要考慮安全 – steve 2012-08-11 19:32:52

+0

如何決定授予哪些特權以及撤銷哪些特權? – 2012-08-11 20:13:57

4

創建用戶:如果你想查看的權限數量

grant all privilege to user_name; 

select * from system_privilege_map where neme like '%PRIV%'; 

如果你想

create user user_name identified by password ; 

授予特權查看分配給用戶的權限:

select count (*) , grantee 
from dba_sys_privs 
where grantee in ('user1','user2') 
group by grantee ;