权限(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;
收回系统权限
收回系统权限一般是
【IT168 技术文档】随着网络应用和电子商务的不断发展,各个站点的访问量越来越大,如何使有限的计算机系统资源为更多的用户服务?如何保证用户的响应速度和服务质量?这些问题都属于服务器性能优化的范畴。作为较成功的数据库厂商,Oracle公司数据库的性能优化是如何进行的
优化策略
为了保证Oracle数 ......
温故而知新,果然如此呀,第二次再翻开同样的内容果然有不同的收获,有些是第一次看的时候没有仔细理解的,还有些可能是在第一次看匆匆就跳过的,当然,可能还有部分是自己当时记住了完了又给忘记了。今天第二次看到子程序这一章节,发现了些新的内容,呵呵。在这里我就写下一些基本内容和容易忘记的,免得下次又给忘了。内 ......