oracle数据库中的权限小结

oracle中的权限(privilege)分为两种:系统权限(system privileges)和对象权限(object privileges)。在oracle中,所有的用户只能够在其权限允许的范围内活动,比如执行sql语句或者访问其他用户的对象。权限可以被分配给用户或者角色。

系统权限
不同的oracle版本会有不同的系统权限,我所使用的oracle版本为:Oracle9i Enterprise Edition Release 9.2.0.6.0 ,系统权限数量为:157 。通过如下语句可以获得当前版本oracle下所有的系统权限:


select name from system_privilege_map;

一些常用的系统权限如下:
(1)create session
(2)create table
(3)create view
(4)create procedure
(5)sysdba
(6)sysoper

对象权限
指oracle数据库对象所拥有的权限。

Tables
select, insert, update, delete, alter, debug, flashback, on commit refresh, query rewrite, references, all

Views
select, insert, update, delete, under, references, flashback, debug

Sequence
alter, select

Packeges, Procedures, Functions (Java classes, sources…)
execute, debug

Materialized Views
delete, flashback, insert, select, update

Directories
read, write

Libraries
execute

User defined types
execute, debug, under

Operators
execute

Indextypes
execute

一个用户(用户A)如果要访问其他用户(假设为用户B)的对象,那么用户B需要将相应的对象权限赋给用户A 。

译自:http://www.adp-gmbh.ch/ora/misc/users_roles_privs.html

此条目发表在DB/ES分类目录,贴了标签。将固定链接加入收藏夹。

发表回复

您的电子邮箱地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据