2012-08-11 65 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 ;