oracle 好书 08( 用户,权限和角色管理 )

image

image

- 配置文件

  profile: 用于控制用户密码策略,以及资源使用的配置信息。

image

- sysdba认证方式

  image

  image

  image

  image

  如果要设置系统认证,就直接删除 sqlnet.ora 文件

  image

  image

  image

drop user hsj

select sid, serial# from v$session where username = ‘HSJ’;

alter system kill session ‘145,41’; 

drop user hsj cascade;  // 该用户及其下所有的对象将全部被删除

- profile 与用户管理

dba_profiles 视图里存放了所有的有关密码和keneral的配置信息

- 权限管理

  权限表示有个用户能否执行某种sql,或者访问某个对象等,分为系统权限和对象权限

  -- 系统权限

  所谓系统权限,指的是用户能够做什么事情的权限。比如创建一个表空间,创建表等

  所有系统权限都在 system_privilege_map数据字典里

  常用的系统权限有:

  最大: sysdba , sysoper

  restricted session: 在数据库以 restricted 模式打开时,也能登陆数据库

  create any 开头的权限,创建某类对象

  drop any 开头的权限,删除某类对象

  create session, 表示用户能够连接到数据库实例并创建session

  grant create session, create table to hsj;

  revoke create session, create table from jsh;

  image

  alter user hsj quota 100M on users;

  alter user hsj quota unlimited on example;

  image

  -- 对象权限

  所谓对象权限,指的是用户能够对某个特定的对象做某种事情的权限。

  image

  grant select on employees to hsj;

  grant any object privilege // 这个系统权限默认只有 sys 有,可以操作别的用户下的任何对象

  grant select on hr.employees to hsj with grant option;

  revoke select on employees from hsj;

- 角色管理

  可以吧角色理解为一组权限的集合,并给该集合取了个名字,这个名字就是角色名。

  角色赋给角色权限时,不能形成闭环,即 A->B, B->C, C->A 这样,系统会报错。

  dba_roles 视图里看到很多角色

  dba: 该角色具有大部分管理权限。

  resource: 该角色具有很多 create 开头的权限, 例如 create table, create procedure.

  create role my_role;  // 创建角色

  grant create session to my_role;  // 给角色权限

  grant my_role to hsj;  // 将某个用户该角色

  revoke my_role from hsj;

  image

  image

  image

  image

  image

posted @ 2013-04-26 11:11  神之一招  阅读(295)  评论(0编辑  收藏  举报