1) 创建用户 :
create user username identified by pwd
default tablespace users Temporary TABLESPACE Temp;
2) 用户授权
grant connect,resource,dba to business;
3) 提交
commit;
创建角色:
1:CREATE ROLE role_name IDENTIFIED BY password
CREATE ROLE role_name IDENTIFIED EXTERNALLY
CREATE ROLE role_name IDENTIFIED GLOBALLY
缺省情况下建立的角色没有password或者其他的识别。如果使用IDENTIFIED BY 子句建立,那么角色不会自动响应,必须用SET ROLE激活。
SET ROLE role_name IDENTIFIED BY password |
EXTERNALLY和GLOBALLY类型的角色由操作系统和ORACLE Service server验证。通常用户需要权限修改应用程序中使用的表单中的数据,但是只有在应用程序运行时而不是在使用ad hoc工具时,这种上下文敏感安全可以通过有PASSWORD的角色来实现。当用户在应用程序内部连结数据库时,代码将执行SET ROLE命令,通过安全验证。所以用户不需要知道角色的password,也不需要自己输入SET ROLE命令。
对象权限
对象权限就是指在表、视图、序列、过程、函数或包等对象上执行特殊动作的权利。有九种不同类型的权限可以授予给用户或角色。如下表:
权限 | ALTER | DELETE | EXECUTE | INDEX | INSERT | READ | REFERENCE | SELECT | UPDATE |
Directory | no | no | no | no | no | yes | no | no | no |
function | no | no | yes | no | no | no | no | no | no |
procedure | no | no | yes | no | no | no | no | no | no |
package | no | no | yes | no | no | no | no | no | no |
DB Object | no | no | yes | no | no | no | no | no | no |
Libary | no | no | yes | no | no | no | no | no | no |
Operation | no | no | yes | no | no | no | no | no | no |
Sequence | yes | no | no | no | no | no | no | no | no |
Table | yes | yes | no | yes | yes | no | yes | yes | yes |
Type | no | no | yes | no | no | no | no | no | no |
View | no | yes | no | no | yes | no | no | yes | yes |
对象由不止一个权限,特殊权限ALL可以被授予或撤销。如TABLE的ALL权限就包括:
系统权限
系统权限需要授予者有进行系统级活动的能力,如连接数据库,更改用户会话、建立表或建立用户等等。你可以在数据字典视图SYSTEM_PRIVILEGE_MAP上获得完整的系统权限。对象权限和系统权限都通过GRANT语句授予用户或角色。需要注意的是在授予对象权限时语句应该是WITH GRANT OPTION子句,但在授予系统权象时语句是WITH ADMIN OPTION,所以在你试图授予系统权限时,使用语句WITH GRANT OPTION系统会报告一个错误:ONLY ADMIN OPTION can be specified。在考试中要特别注意这个语法和错误信息。
posted on 2006-09-03 16:33
七匹狼 阅读(2112)
评论(1) 编辑 收藏 所属分类:
oracle