ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 管理Oracle的用户

管理Oracle的用户

原创 Linux操作系统 作者:arthurshen_bleum 时间:2009-04-13 14:48:04 0 删除 编辑

每个ORACLE用户:

  • 一个唯一的用户名
  • 一个验证的方法
  • 一个默认的表空间
  • 一个临时的表空间
  • 一个用户的配置文件
  • 一个消费组
  • 一个锁的状态

用户名不能大于30bytes,不能包括特殊字符,必须从字母开始。

验证方法:最常见的就是密码验证。其他的如:biometric,certificate, token

默认的表空间:当用户没有指定对象的表空间,创建对象默认的空间。但是并不意味着在默认的表空间就有特殊的权限,创建对象或者分配空间等权限需要额外的赋予。

临时表空间:用来存放临时的对象。如:sorts和临时表

用户配置文件:分配给该用户的资源和密码的信息。

消费组:资源管理用

锁的状态:用户只能访问那些锁的状态是:unlocked的用户。

 

预定义的用户: sys , system

  • sys用户
    • 被赋予dba角色
    • 拥有全部的权限,且带with admin option
    • 用来启动,关闭和执行一些维护数据库的命令。
    • 拥有数据字典
    • 拥有AWR(Automatic Workload Respository)

sys用户可以执行connect as sysdba,只有被赋予sysdba 和sysoper权限的用户才可以启动和关闭数据库实例。

  • system用户
    • 被赋予dba角色

权限:

有两种类型的用户权限:

  • system: 允许用户做特殊的数据库操作,如创建表空间,大概有100+ 的系统权限,许多都带有anny子句
    • restricted session:(限制session)在数据库打开时以restricted mode, 允许有该权限的用户登陆
    • sysdba and sysoper: 允许拥有该权限的用户来打开和关闭数据库,执行恢复和其他的管理。
      • sysoper:
        • Startup and shutdown
        • create spfile
        • alter database open/mount/backup
        • alter database archivelog
        • alter database recover(complete recover only.any incomplete recovery such as UNITL TIME|CHANGE|CANCEL|CONTROLFILE需要sysdba 权限。
      • sysdba:允许用户以sys用户登陆
    • drop any object:允许删除任何的用户对象
    • create , manage,drop,alter tablespace:这些权限被用来做表空间的管理。如:创建,删除,和修改表空间的属性。
    • create any directory: oracle数据库允许从pl/sql调用外部代码。该用户有读写数据库文件的权限,如数据文件,日志文件,审计文件。
    • any object:该权限赋予你在所有对象上的权限。
    • alter database 和alter system: 拥有该权限允许修改数据库和实例。如:重命名数据文件,flush buffer cache==.

 

  • object: 允许用户赋予特定的object特定的权限

revoke system权限带有with admin option

  1. dba赋予用户anlen create table权限with admin option
  2. anlen 创建了一个表a
  3. anlen赋予用户anny create table权限
  4. anny创建了一个表b
  5. dba  revoke了anlen的create table权限。

结果表a,b仍然存在,但是anlen不能创建表,而anny仍然可以创建表。

 

revoke object 权限

  1. anlen被赋予select权限在表a  with admin option.
  2. anlen 赋予anny select 权限在表a
  3. anlen 在表a 的select 权限被revoke,那么anny的权限也消失了。

角色(role)的好处

  • 更容易的权限管理:可以给角色赋予权限,然后再赋予用户该角色。
  • 动态的权限管理:如果一个角色的权限改变了,所有拥有该角色的用户的权限都改变。
  • 权限的可选性:可以通过禁用角色来改变用户的一些权限。

系统预定义的角色

  • connect : 被赋予create session权限
  • resource: 被赋予create cluster, create indextype,create operator,create procedure,create sequence,create table,create trigger,creat type权限。注意赋予unlimited tablespace的情况。

  • scheduler_admin: 被赋予create any job,create external job, create job,execute any class,execute any program,manage scheduler权限。

  • dba:  被赋予大多数的系统权限和一些角色。
  • select_catalog_role: 没有系统权限,但被赋予hs_admin_role和超过1700 个数据字典对象的权限。

其他的角色:

  • xdbadmin: 被赋予管理XML数据库的权限。
  • AQ_ADMINISTRATOR_ROLE: 被赋予管理AQ的权限。
  • HS_admin_ROLE:赋予管理各种不同的服务的权限。

安全化角色:

  • 角色应该被取消默认 :set role ****
  • 角色应当使用验证
  • 角色可以使用程序验证:如procedure来检查用户的网络地址,用户当前使用的程序,时间等等。

 

用户配置文件:

 

user profile.jpg

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20945761/viewspace-588856/,如需转载,请注明出处,否则将追究法律责任。

上一篇: oracle 常用
请登录后发表评论 登录
全部评论

注册时间:2009-02-26

  • 博文量
    36
  • 访问量
    26405