潇湘夜雨移动版

主页 > 数据库 >

ORACLE Profile 及权限(4)



  实验中使用了几乎所有参数,惟一没有包含的是IDLE_TIME,它将继承 DEFALT 中的定义
  对上面创建的PROFILE逐行做一下诠释,以便加深理解:
  第 2行:对用户的并发连接会话数不做限制
  第 3行:对于连接到用户的每一个session的CPU时间的使用不做限制
  第 4行:一次调用消耗的CPU时间不能超过60秒(不超过一分钟)
  第 5行:连接到用户的每次会话时间不能超过60分钟(不超过一个小时)
  第 6行:一次会话使用的物理读与逻辑读数据块总量与DEFAULT profile中定义保持一致
  第 7行:一次调用使用的物理读与逻辑读数据块总量不超过6000个数据块
  第 8行:一次会话总的资源消耗不超过6000000个服务单元(service units)
  第 9行:一次会话在SGA中不能分配超过66K的空间
  第10行:帐户被锁定之前允许6次的错误尝试
  第11行:超过此生命周期后密码作废
  第12行:密码重用时间60天
  第13行:密码重用之前密码需要完成5次改变
  第14行:超过错误尝试次数后,用户将被锁定1小时
  第15行:当密码过期之后原密码还可以使用10天
  第16行:使用密码复杂度校验函数verify_function对密码做检查

  第12行和第13行,两个策略搭配使用后,只有完成 5 次密码修改且已超过60天后,之前的密码才能被再次使用

  删除 PROFILE 很简单,语法:DROP PROFILE profile [CASCADE];
  如果创建的PROFILE已经授权给了具体的用户,则需用CASCADE选项级联的收回相应限制,在收回这些限制信息后将以系统默认的PROFILE对该用户进行限制。

七、PROFILE 何时生效

  PROFILE中有关密码的限制永远生效,不受限制。
  PROFILE中有关资源的限制与resource_limit参数的设置有关,为TRUE时生效,为FALSE时(默认)无效。

八、将配置文件分配给用户:
  SQL> alter user dinya profile sec_profile;
  SQL> alter user dinya profile default;
  SQL> select USERNAME,PROFILE from dba_users where USERNAME = 'dinya';

九、11g oracle 用户密码过期问题

  11g之前版本,默认用户没有密码过期限制,在Oracle 11g 中默认 profile 密码过期时间是180天

  检查:select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';
  过期的密码可用 alter user userXXX identified by xxx; 解决,可修改为和以前一样

  如果想设置密码不过期,可用管理员登陆,执行下面命令:
  ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

  其他相关参数:
  select * from dba_profiles where profile='DEFAULT' and RESOURCE_NAME like 'PASSWORD%';

 

用户权限

一、权限分类:
 系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。
 实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。

二、系统权限管理:

1、系统权限分类:
 DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
 RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
 CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。

 对于普通用户:授予connect, resource权限。
 对于DBA管理用户:授予connect,resource, dba权限。

2、系统权限授权命令:
 [系统权限只能由DBA用户授出:sys, system(最开始只能是这两个用户)]
 授权命令:SQL> grant connect, resource, dba to 用户名1 [,用户名2]...; (责任编辑:liangzh)