我想在oracle 11g中创建用户/模式,并为用户授予所有权限。我怎么能用一个简单的脚本来做到这一点。我查看了以下链接,但我不确定使用哪一个或者这些陈述是最好的方式。
http://ss64.com/ora/grant.html
你能否建议我如何以最简单的方式安全地做到这一点?
答案 0 :(得分:9)
要创建新用户,请使用“创建用户”命令。因此,典型的创建用户命令将是:
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 :(得分:4)
创建用户:
create user user_name identified by password ;
授予权限:
grant all privilege to user_name;
如果要查看权限数量:
select * from system_privilege_map where neme like '%PRIV%';
如果要查看分配给用户的权限:
select count (*) , grantee
from dba_sys_privs
where grantee in ('user1','user2')
group by grantee ;