2024年3月15日发(作者:)
oracle如何进行授权
3.6.1、系统权限
系统权限(System Privilege)向用户提供了执行某一种或某一类型的数据库操作的能力,有近100种系统
权限。
系统权限不是控制对指定数据库对象的访问,而是用来许可对各种特性的访问,或许可Oracle数据库中的
特定任务。
以下是常用的系统权限
create cluster 在自己模式中创建聚簇 drop trigger 删除触发器
drop cluster 删除自己模式中的聚簇 create table 创建表
create procedure创建存储过程、函数和包 alter any table 修改表
drop procedure 删除存储过程、函数和包 drop any table 删除表
create database link 创建数据库链路权限,通过数据create view 创建视图
库链路允许用户存取过程的数据库 drop view 删除视图
drop database link 删除数据库链路 create type 创建对象类型
drop any type 删除对象类型
create sequence 创建序列
create procedure
创建存储过程、程序包和函数
drop any sequence 删除序列
create trigger 创建触发器 drop any procedure 删除
过程、程序包和函数
授权格式:
GRANT PRIVILEGE_NAME TO USER_NAME
收回权限格式
REVOKE PRIVILEGE_NAME FROM USER_NAME
例:grant create view to hr;
3.6.2、对象权限
对象权限控制用户是否能在特定数据库对象(如表、视图或存储过程)上执行特定类型的操作。
常用对象权限如下表:
对象权限
SELECT
UPDATE
DELETE
INSERT
EXECUTE
READ
INDEX
适用对象
表、视图、序列
表和视图
允许的操作
查询
删除行
表、视图或其中的字段 更新
表、视图或其中的字段 插入行
存储过程,存储函数与程执行PL/SQL存储对象
序包
目录
表
读取目录
在表上建立索引
在其他表中创建的外键能引用表或表
中的字段
修改表或序列的结构
REFERENCES
表或其中字段
ALTER
表或序列
授予具体的对象权限格式:
GRANT PRIVILEGE_NAME ON 对象 TO USER_NAME
例:grant select,update,delete on jobs to test; --授予用户test在表jobs 上执行select,update,delete操作的权限
授予对象的列权限的格式:
GRANT PRIVILEGE_NAME(COL_NAME ) ON 对象 TO USER_NAME
例:
grant update(job_title,min_salary) on jobs to test;
授予用户test在表jobs的字段
job_title、min_salary
的update的权限
收回权限格式
REVOKE PRIVILEGE_NAME FROM USER_NAME


发布评论