Oracle Database :玩转Oracle学习笔记之(6):权限
来源:互联网 发布:httpclient json 编辑:程序博客网 时间:2024/06/06 02:43
管理权限和角色:
1、介绍:
当用户刚刚被建立时候,用户没有任何权限,也不能执行任何操作,如果要执行某种特定的数据库操作,则必须为其授予系统的权限,如果要用户访问其他方案的对象,则必须为其授予对象的权限,为了简化权限的管理,可以使用角色;
2、权限是指执行特定的sql命令或是访问其它方案对象的权利,包括系统权限和对象权限两种啊;
一、系统权限:
1)、系统权限介绍:系统权限是指执行特定sql命令的权利,他勇于控制用户可以执行的一个或是一组数据库操作;比如当用户具有create table权限时候,就可以在其方案中建表;当用户具有create any table权限时候,就可以在任何方案中建表;
常有的有:
create session 连接数据库;
create table:建表;
create view:建视图;
create public synonym:建同义词;
create procedure:建过程,函数,包;
create trigger:建触发器;
create cluster:建簇;
2)、显示系统权限:
Oracle提供了很多的权限,而且提供的权限会越来越多;我们就可以查询数据字典视图system_privilege_map,来显示所提供的系统权限;
SQL> select distinct name from system_privilege_map;
3)、授予系统权限;
一般情况下,授予系统权限是有dba完成的,如果用其他用户来授予系统权限,则要求该用户具有grant any privilege的系统权限,在授予系统权限是,可以带有with admin option选项,这样,被授予权限的用户还可以将权限授予个其他用户或者角色;
4)、回收系统权限:
一般情况下,回收系统权限是有dba来完成的,如果用其他的用户回收系统权限,要求该用户必须有相应的系统权限以及转授系统权限的选项(with admin option)。回收系统权限用revoke来完成,当回收后,用户就不能执行相应的操作了,但是这里应该注意回收系统权限的级联性:默认情况下不系统权限不是级联回收的;
比如:system给用户ken授予create session权限,而ken又将该权限授予给了用户tom,当syste回收了ken的create session'权限后,tom还拥有create session权限;这就说明,系统权限不是级联回收的;
二、对象权限:
1)、对象权限介绍:指访问其他方案对象的权利,用户可以直接访问自己方案的对象,但是如果要访问别的方案的对象,则必须具有对象的权限,比如smith用户要访问scott.emp表,则必须在scott.emp表上具有对象的权限;
常用的权限有关:
alter 修改,delete 删除 , select 查询, insert 添加 , update 修改;
index 索引;references 引用;execute 执行;
2)、显示对象权限:
通过数据字典视图可以显示用户或是角色所具有的对象权限,视图为:dba_tab_privs;
3)、授予对象权限:
在Oracle9i之前,授予对象权限是有对象的所有制完成的,如果用其他的用户来操作,则用户需要有相应的(with grant option)权限,从Oracle9i开始,dba(sys,system)用户可以将任何对象上的对象权限授予其他用户,授予对象权限使用grant来完成的;
对象权限可以授予用户,角色和public。在授予权限时候,如果戴上了with grat option选项,则可以将该权限转授给其他用户,但是要注意,with grant option选项不能被授予角色;
scott:
4)、授予alter权限(修改表的结构);
5)、授予execute权限;
如果用户想要执行其他方案的包、过程、函数,则必须有execute权限;
6)、授予index权限;如果想在别的方案中建立索引,则必须有index对象权限;
7)、使用with grant option选项:
该选项用于转授对象权限,但是该选项只能被授予用户,而不能被授予角色;
8)、回收对象权限;
在Oracle9i中,收回对象的权限可以由对象的所有者来完成,也可以用dba用户(sys、system)来完成;
这里要说明的是:回收对象权限后,用户就不能让那个执行相应的sql命令,但是要注意的是对象权限是否被级联回收;通过实验,对象权限和系统权限有所不同,系统权限在回收时候不会级联回收,而对象权限在回收时会级联回收;考Oracle数据库管理员的时候经常考试;
1、介绍:
当用户刚刚被建立时候,用户没有任何权限,也不能执行任何操作,如果要执行某种特定的数据库操作,则必须为其授予系统的权限,如果要用户访问其他方案的对象,则必须为其授予对象的权限,为了简化权限的管理,可以使用角色;
2、权限是指执行特定的sql命令或是访问其它方案对象的权利,包括系统权限和对象权限两种啊;
一、系统权限:
1)、系统权限介绍:系统权限是指执行特定sql命令的权利,他勇于控制用户可以执行的一个或是一组数据库操作;比如当用户具有create table权限时候,就可以在其方案中建表;当用户具有create any table权限时候,就可以在任何方案中建表;
常有的有:
create session 连接数据库;
create table:建表;
create view:建视图;
create public synonym:建同义词;
create procedure:建过程,函数,包;
create trigger:建触发器;
create cluster:建簇;
2)、显示系统权限:
Oracle提供了很多的权限,而且提供的权限会越来越多;我们就可以查询数据字典视图system_privilege_map,来显示所提供的系统权限;
SQL> select distinct name from system_privilege_map;
3)、授予系统权限;
一般情况下,授予系统权限是有dba完成的,如果用其他用户来授予系统权限,则要求该用户具有grant any privilege的系统权限,在授予系统权限是,可以带有with admin option选项,这样,被授予权限的用户还可以将权限授予个其他用户或者角色;
4)、回收系统权限:
一般情况下,回收系统权限是有dba来完成的,如果用其他的用户回收系统权限,要求该用户必须有相应的系统权限以及转授系统权限的选项(with admin option)。回收系统权限用revoke来完成,当回收后,用户就不能执行相应的操作了,但是这里应该注意回收系统权限的级联性:默认情况下不系统权限不是级联回收的;
比如:system给用户ken授予create session权限,而ken又将该权限授予给了用户tom,当syste回收了ken的create session'权限后,tom还拥有create session权限;这就说明,系统权限不是级联回收的;
二、对象权限:
1)、对象权限介绍:指访问其他方案对象的权利,用户可以直接访问自己方案的对象,但是如果要访问别的方案的对象,则必须具有对象的权限,比如smith用户要访问scott.emp表,则必须在scott.emp表上具有对象的权限;
常用的权限有关:
alter 修改,delete 删除 , select 查询, insert 添加 , update 修改;
index 索引;references 引用;execute 执行;
2)、显示对象权限:
通过数据字典视图可以显示用户或是角色所具有的对象权限,视图为:dba_tab_privs;
3)、授予对象权限:
在Oracle9i之前,授予对象权限是有对象的所有制完成的,如果用其他的用户来操作,则用户需要有相应的(with grant option)权限,从Oracle9i开始,dba(sys,system)用户可以将任何对象上的对象权限授予其他用户,授予对象权限使用grant来完成的;
对象权限可以授予用户,角色和public。在授予权限时候,如果戴上了with grat option选项,则可以将该权限转授给其他用户,但是要注意,with grant option选项不能被授予角色;
scott:
//一般授权;grant select on emp to monkey;grant all on emp to monkey;//精细授权;grante update on emp(sal) to monkey;
4)、授予alter权限(修改表的结构);
conn scott/123;grant alter on emp to monkey;
5)、授予execute权限;
如果用户想要执行其他方案的包、过程、函数,则必须有execute权限;
conn system/123;grant execute on dbms_transaction to ken;
6)、授予index权限;如果想在别的方案中建立索引,则必须有index对象权限;
conn scott/123;grant index on scott.emp to monkey;
7)、使用with grant option选项:
该选项用于转授对象权限,但是该选项只能被授予用户,而不能被授予角色;
sql>conn scott/123sql>grant select on emp to blake with grant option;sql>conn blake/123sql>grant select on scott.emp to joins;
8)、回收对象权限;
在Oracle9i中,收回对象的权限可以由对象的所有者来完成,也可以用dba用户(sys、system)来完成;
这里要说明的是:回收对象权限后,用户就不能让那个执行相应的sql命令,但是要注意的是对象权限是否被级联回收;通过实验,对象权限和系统权限有所不同,系统权限在回收时候不会级联回收,而对象权限在回收时会级联回收;考Oracle数据库管理员的时候经常考试;
- Oracle Database :玩转Oracle学习笔记之(6):权限
- Oracle Database :玩转Oracle学习笔记之(18):Orcle权限
- Oracle Database :玩转Oracle学习笔记之(2):在Oracle中操纵数据
- Oracle Database :玩转Oracle学习笔记之(20):Oracle远程连接以及连接命令
- Oracle Database :玩转Oracle学习笔记之(21):Oracle用户和用户管理
- Oracle Database :玩转Oracle学习笔记之(22):Oracle选择
- Oracle Database :玩转Oracle学习笔记之(23):Oracle数据库管理--导入及导出
- Oracle Database :玩转Oracle学习笔记之(24):Oracle视图
- Oracle Database :玩转Oracle学习笔记之(25):Oracle事务
- Oracle Database :玩转Oracle学习笔记之(26):Oracle命令
- Oracle Database :玩转Oracle学习笔记之(27):Oracle函数
- Oracle Database :玩转Oracle学习笔记之(28):Oracle表空间和数据文件
- Oracle Database :玩转Oracle学习笔记之(29):Oracle表管理
- Oracle Database :玩转Oracle学习笔记之(7):orcle角色(1)
- Oracle Database :玩转Oracle学习笔记之(19):orcle角色(2)
- Oracle Database :玩转Oracle学习笔记之(3):维护数据的完整性
- Oracle Database :玩转Oracle学习笔记之(4):索引
- Oracle Database :玩转Oracle学习笔记之(5):数据对象
- 同义词
- MongoDB 之旅(三) 基本管理(MongoDB Javascript Shell)
- Oracle Database :玩转Oracle学习笔记之(5):数据对象
- Poj 2677 Tour//DP
- Chemical Secret——8、The wedding day
- Oracle Database :玩转Oracle学习笔记之(6):权限
- hdu 3496 Watch The Movie
- 3 ways to install git on linux ubuntu
- .net Framework与C#概念
- java中this的用法
- Oracle Database :玩转Oracle学习笔记之(7):orcle角色(1)
- 魔术师发牌问题和拉丁方阵
- 支配值数目
- nginx虚拟主机解决企业内外网访问