控制用户权限

1.dba 使用 create user语句创建用户
格式:
create user 用户名identified by 密码;
例子:
控制用户权限
2.赋予系统权限
用户创建之后,dba会赋予用户一些系统权限
以应用程序开发者为例, 一般具有下列系统权限:
create session(创建会话)
create table(创建表)
create sequence(创建序列)
create view(创建视图)
create procedure(创建过程)
赋予权限格式:
grant 用户系统权限 to 某用户;
例子:
控制用户权限
3.分配用户表空间
用户拥有create table权限之外,还需要分配相应的表空间才可开辟存储空间用于创建的表
分配空间格式:
alter user 用户名 quota unlimited on users
例子:控制用户权限
4.创建角色并赋予权限
创建角色格式:
create role 角色名;
注意:可把具有权限的角色通过grant…to…语句赋予给用户,使得用户也有该角色的权限
例子:控制用户权限
5.修改密码
dba 可以创建用户和修改密码
格式:
alter user 用户名 identified by 新密码;
例子:控制用户权限
对象权限
6.分配对象权限
分配对象权限是可对多个用户对象进行分配查询、新增、更新权限
分配表中各个列的查询、新增、更新权限
格式:
grant查询、新增、更改权限on 某张表 to某用户
例子:控制用户权限
7.with grant option和public关键字
with grant option 可使用户同样具有分配权限的权利
格式:
grant查询、新增、更改权限on 某张表 to某用户
with grant option;
例子:控制用户权限
8.向数据库中所有用户分配权限
格式:
grant查询、新增、更改权限on 某张表to public;
例子:控制用户权限
9.收回对象权限
使用 revoke语句收回权限
使用with grant option子句所分配的权限同样被收回
收回权限格式:
revoke 查询、新增、更改权限on 某张表 from 某用户;
例子:控制用户权限
revoke select, insert ,update on jurisdiction from scott;

注意:用户不能自己为自己grant和revoke权限