千家信息网

3、Ora_Sec-privileges(授予和撤销权限)

发表于:2024-09-21 作者:千家信息网编辑
千家信息网最后更新 2024年09月21日,授权分为:授予者(grantor)被授予者(grantee)授予和撤销权限权限分为:系统权限和对象权限一、系统权限系统权限约有200种,大多数都影响数据字典的操作。常用的权限如下:CREATE SES
千家信息网最后更新 2024年09月21日3、Ora_Sec-privileges(授予和撤销权限)

授权分为:授予者(grantor被授予者(grantee


授予和撤销权限

权限分为:系统权限和对象权限

一、系统权限

系统权限约有200种,大多数都影响数据字典的操作。常用的权限如下:

  1. CREATE SESSION (创建会话) --允许用户连接

  2. RESTRICTED SESSION(受限制的会话) --如果使用STARTUP RESTRICT 启动数据库,或者使用ALTER SYSTEM ENABLE RESTRICTED SESSION 进行调整,则仅拥有此权限的用户可以连接。

  3. ALTER DATABASE (更改数据库) --允许访问多个修改物理结构所需的命令

  4. ALTER SYSTEM (更改系统)--允许控制实例参数和内存结构

  5. CREATE TABLESPACE (创建表空间) --ALTER TABLESPACE DROP TABLESPACE 权限允许用户管理表空间

  6. CREATE TABLE(创建表) --需要更改和删除表,在其上允许SELECTDML 命令,以及在其上创建、更改或删除索引。

  7. GRANT ANY OBJECT PRIVILEGE (授予任何对象权限) --允许被授权人将其本身不拥有的对象的对象权限授予他人,但不能授予自己。

  8. CREATE ANY TABLE (创建任何表) --被授权人可以创建属于其他用户的表。

  9. DROP ANY TABLE ( 删除任何表 )

  10. INSERT ANY TABLE, UPDATE ANY TABLE, DELETE ANY TABLE (插入任何表,更新任何表,删除任何表)

SELECT ANY TABLE(选择任何表) 被授权人可以对数据库中的任何表执行select操作。

1、授予权限的语法如下:

GRANT privilege [,privilege …] TO username;

创建用户账户以后,下面的命令将授予通常分配给用户(参与应用程序开发的用户)的系统权限;

Grant create session ,alter session, create table , create view, create synonym , create cluster,create database link , create sequence , create trigger, create type , create procedure, create operator TO username;

2、此语法的一个变体允许被授权人将权限传递给第三方,例如:

SQL>connect system/oracle;

SQL>grant create table to scott with admin option;

SQL>connect scott/tiger

SQL> grant create table to jonce;

注:如果用户被授予带有ADMIN OPTION 的权限,那么即使对其做了撤销,他授予了权限的任何用户将保留权限。

系统权限的撤销不会级联(这与撤销对象权限不同)。

二、对象权限

对象权限允许针对表相关对象执行SELECT,INSERT,UPDATEDELETE命令,也允许执行PL/SQL对象。

注:ANY权限针对数据库中的每个用户账户中的每个对象授权,是系统权限,而不是对象权限。

1、语法如下:

GRANT privilege ON [schema.]object TO username [WITH GRANT OPION];

EG. grant select on store.customers to scott;

变化包括ALL(将所有相关权限应用于对象类型),以及命名视图或表的特定列;

SQL> grant select on store.orders to scott;

SQL> grant update (order_status) on store.orders to scott;

SQL> grant all on store.regions to scott;

使用WITH GRANT OPTION,可使用户将其对象权限传给第三方。

三、撤销权限

撤销对象权限语法:

REVOKE privilege[,privilege…] on tablename from username;

撤销系统权限的语法:

REVOKE privilege[,privilege…] from username;


0