oracle对象权限 函数,Oracle之管理权限

权限(Privilege)是指执行特定类型SQL命令或访问其他方案对象的权利,权限包括系统权限和对象权限两种类型.系统权限(System Privilege)是指执行特定类型SQL命令的权利,它用于控制用户可以执行的一个或一组数据库操作.常用的系统权限:

CREATE SESSION 连接到数据库

CREATE TABLE 建表

CREATE VIEW 建立视图

CREATE PUBLIC SYNONYM 建立同义词

CREATE SEQUENCE 建立序列

CREATE PROCEDURE 建立过程,函数和包

CREATE TRIGGER 建立触发器

CREATE CLUSTER 建立簇

CREATE TYPE 建立对象类型

CREATE DATABASE LINK 建立数据库链

另外,oracle还提供了一类ANY系统权限,当用户具有该类系统权限时,可以在任何方案中执行相应操作.如果用户具有SELECT ANY TABLE系统权限,那么用户可以查询任何方案的表.

需要注意,当初始化参数O7_DICTIONARY_ACCESSIBILITY被设置为FALSE时,除了SYSDBA和DBA用户外,即使用户具有SELECT ANY TABLE权限,也不能访问数据字典基表和数据字典视图DBA_XXX.

对象权限(Object privilege)是指访问其他方案对象的权利,它用于控制用户对其他方案对象的访问.

管理系统权限

授予系统权限

GRANT system_priv[,system_priv,…]

To {user | role | PUBLIC},[,{user | role | PUBLIC} ] …

[WITH ADMIN OPTION];

System_priv 用于指定系统权限.授权用户组PUBLIC,在授予系统权限时可以带有WITH ADMIN OPTION选项,带有该选项后,被授权的用户,角色还可以将相应的权限授予其他用户,角色.需要注意,系统权限UNLIMITED TABLESPACE不能授予角色.

CRANT CREATE SESSION,CREATE TABLE TO blake WITH ADMIN OPTION;

GRANT GREATE VIEW TO blake;

显示系统权限.

1,显示所有系统权限.

SELECT name from system_privilege_map;

2,显示用户或角色所具有的系统权限.

查询数据字典视图DBA_SYS_PRIVS,可以显示所有用户或角色所具有的系统权限.通过查询数据字典视图USER_SYS_PRIVS,可以显示当前用户所具有的系统权限.

SELECT * from dba_sys_privs WHERE GRANTEE=’BLAKE’;

GRANTEE用于标识权限拥有者(用户或角色),PRIVILEGE用于标识系统权限.ADMIN_OPTION用于标识系统权限传授选项,其中YES表示可以转授该系统权限,NO表示不能转授该系统权限.

3,显示当前会话所具有的系统权限.

通过查询数据字典视图session_privs,可以显示当前会话所具有的系统权限.

SELECT * from session_privs;

收回系统权限

收回系统权限一般是

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值