日期:2014-05-16 浏览次数:20570 次
系统权限与对象权限(授权、撤销权限)
//系统权限
grant create session to lisi;
grant create table to lisi;
grant unlimited tablespace to lisi;
revoke create session from lisi;
revoke create table from lisi;
revoke unlimited tablespace from lisi;
//把 create session权限授权给所有用户
grant create session to public
select * from user_sys_privs 查看当前用户有哪些系统权限
//对象权限
grant selecton mytable to lisi
grant insert on mytable to lisi
grant all on mytable to lisi;
revoke selecton mytable from lisi
revoke insert on mytable from lisi
revoke all on mytable from lisi;
select * from user_tab_privs 查看当前用户有哪些对象权限
对象权限可以控制到列
//授权给lisi 只能更新字段name这一列
grant update(name) on mytable to lisi
grant insert(name) on mytable to lisi
select * from user_col_privs查看当前用户在列上有哪些对象权限
注意:查询和删除不能控制到列
权限的传递
系统权限的传递
grant alter any table to lisi with admin option
对象权限的传递
grant select on tablename to lisi with grant option
角色(权限的集合)
create role myrole;
grant create session to myrole;
grant create table to myrole;
create user zhangsan identified by zhangsan;
grant myrole to zhangsan;
删除角色
drop role myrole;
注意:有些系统权限无法直接赋给角色 只能赋给用户(因为权限太大)
create table / create any table(有“any”表示不仅可以给自己创建表 也可以给别用户创建表)
[alter table] alter any table
[drop table] drop any table
这两个权限没有alter table、drop table
表是属于某一个用户的
角色不属于某个用户的,也就是说只要有一个用户创建一个角色,另一个用户可以无条件使用这个角色
oracle grant connect,resource to user包括的权限
CONNECT角色: --是授予最终用户的典型权利,最基本的
ALTER SESSION --修改会话
CREATE CLUSTER --建立聚簇
CREATE DATABASE LINK --建立数据库链接
CREATE SEQUENCE --建立序列
CREATE SESSION --建立会话
CREATE SYNONYM --建立同义词
CREATE VIEW --建立视图
RESOURCE角色: --是授予开发人员的
CREATE CLUSTER --建立聚簇
CREATE PROCEDURE --建立过程
CREATE SEQUENCE --建立序列
CREATE TABLE --建表
CREATE TRIGGER --建立触发器
CREATE TYPE --建立类型
但是实际查找 oracle 10 2.0.1.0 系统时,发现两个角色的权限如下: