随笔-13  评论-28  文章-63  trackbacks-0
         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命令。

对象权限

  对象权限就是指在表、视图、序列、过程、函数或包等对象上执行特殊动作的权利。有九种不同类型的权限可以授予给用户或角色。如下表:
权限ALTERDELETEEXECUTEINDEXINSERTREAD REFERENCESELECT UPDATE
Directoryno no no no no yesnono no
functionnonoyesno nonononono
procedureno noyesnonono nonono
packagenonoyesnononononono
DB Objectno no yesnono nononono
Libary nonoyes nonono no nono
Operation no no yesno no no no no no
Sequenceyes no no no no no no no no
Table yes yes noyesyes no yes yes yes
Typeno 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 七匹狼 阅读(2095) 评论(1)  编辑  收藏 所属分类: oracle

评论:
# re: Oracle中的用户创建和权限的分配 2006-09-11 09:17 | 冰川
严重支持!  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: