一、Oracle数据库的对象说明
Oracle数据库主要的对象有:用户(user)、表(table)、sequence(序列)、index(索引)、view(视图)、procedure(存储过程)、function(函数)、trigger(触发器)等
二、权限分类
权限是指执行特定类型sql命令或是访问其它方案对象的权利。权限主要可以分成三类:系统权限、角色、对象权限。角色是一类权限的分组。
三、系统权限
1、系统权限的介绍
系统权限是指执行特定类型sql命令的权利。它用于控制用户可以执行的一个或是一组数据库操作。比如当用户具有create table权限时,可以在其方案中建表,当用户具有create any table权限时,可以在任何方案中建表。oracle提供了100多种系统权限
(可以简单得理解为系统权限就是用来创建“对象”的)
查询所有的系统权限:select * from system_privilege_map;
2、常用的系统权限
create session 连接数据库 create table 建表
create view 建视图 create user 创建用户
drop user 删除用户 create public synonym 建同义词
create procedure 建过程、函数、包 create trigger 建触发器
create cluster 建簇 create sequence 创建序列
create any table 在任意框架中建表 drop table 在用户框架中删除表
drop any table 在任意框架中删除表
3、 查询系统权限
seletc * from dba_sys_privs :查看所有用户的系统权限
select * from user_sys_privs:查看当前用户的系统权限
4、授予系统权限
一般情况,授予系统权限是由dba完成的,如果用其他用户来授予系统权限,则要求该用户必须具有grant any privilege的系统权限。在授予系统权限时,可以带有with admin option选项,这样,被授予权限的用户或是角色还可以将该系统权限授予其它的用户或是角色。为了让大家快速理解,我们举例说