理解什么是权限
权限指的是执行特定命令或访问数据库对象的权利。
理解权限的作用
(保证)数据库安全性:系统安全性,数据安全性
了解权限的分类
系统权限:
允许用户执行特定的数据库操作,如创建表、创建索引、连接实例等。
查询oracle所有系统的权限
Select * from SYSTEM_PRIVILEGE_MAP;
常用的系统权限如:
CREATE SESSION 创建会话
CREATE SEQUENCE 创建序列
CREATE TABLE 创建表
CREATE USER 创建用户
ALTER USER 更改用户
DROP USER 删除用户
CREATE VIEW 创建视图
授予系统权限的语法格式
GRANT privilege[,privilege...] TO user [,user|role,PUBLIC...]//pulic所有用户
举例:
Grant create table,create sequence to manager;
Grant manager to user01,user02;
回收系统权限的语法格式
REVOKE {privilege|role}FROM {user_name|role_name|PUBLIC}
举例
Revoke manager from user01;
Revoke create table,create sequence from maneger;
对象(实体)权限:
允许用户操纵一些特定的对象,如读取视图,可更新某些列、执行存储过程等。
查询Oracle所有对象权限
Select *from table_privilege_map
常用的对象权限如:
Select,update,insert,delete,all等
All包括所有权限
授予权限的语法格式
GRANT object_priv |ALL[(columns)] on object to {user|role|PUBLIC}
举例:
Grant select,update,insert on scott.emp to manager2;
把针对于scott用户下emp表的select update insert赋给角色manager2;
(即用角色manager02查询scott用户下的emp表)
Grant manager2 to user 03;
Grant all on scott.emp to user04;
回收对象权限的语法格式
Revoke{privilege[,privilege...]|ALL} ON object FROM {user[,user...]|role|PUBLIC}
举例:
revoke all on scott.emp from user04;
掌握系统权限和对象权限的操作