用户的权限管理
1、权限的定义:执行特定命令或访问数据库对象的权利。
2、权限的作用:保证数据库的安全性,数据库的安全性包括系统安全性和数据安全性。
3、权限的分类:
(1)、系统权限:允许用户执行特定的数据库动作,如创建表、创建索引、连接实例等。
(2)、对象(实体)权限:允许用户操纵一些特定的对象,如读取视图,可更新某些列、执行存储过程等。
4、系统权限和对象权限的操作:
(1)、对系统权限的操作:
<1>、查询Oracle所有系统权限:select * from system_privilege_map;
<2>、常用的系统权限:
create session 创建回话
create sequence 创建序列
create table 创建表
create user 创建用户
alter user 更改用户
drop user 删除用户
create view 创建视图<3>、授予系统权限的格式:grant privilege [, privilege, ...] to user [, user | role |, public ...]
例:grant create table, create sequence to manager;
grant manager to user01, user02;
注:这句话的意思是对用户user01,user02分配了创建表,创建序列的权限。
<4>、回收系统权限的语法格式:revoke {privilege | role } from {user_name | role_name | public}
例:revoke manager from user01;
revoke create table, create sequence from manager;
<5>、具体实例:
(2)、对对象权限的操作:
<1>、查询Oracle所有对象权限:select * from table_privilege_map;
<2>、常用的对象权限:select, update, insert, delete, all等(all包括所有权限)
<3>、授予对象权限的语法格式:grant object_priv | all [(coumns)] on object to {user | role | public}
例:grant select, update, insert on scott.emp to manager2;
grant manager2 to user03;
grant all on scott.emp to user04;
<4>、回收对象权限的语法格式:revoke {privilege [, privilege...] | all } on object from {user[, user...] | role | public}
例:revoke all on scott.emp from user04;
<5>、具体实例: