《Oracle大型数据库基础开发教程》(微课视频版)课件 第7章 用户与权限管理_第1页
《Oracle大型数据库基础开发教程》(微课视频版)课件 第7章 用户与权限管理_第2页
《Oracle大型数据库基础开发教程》(微课视频版)课件 第7章 用户与权限管理_第3页
《Oracle大型数据库基础开发教程》(微课视频版)课件 第7章 用户与权限管理_第4页
《Oracle大型数据库基础开发教程》(微课视频版)课件 第7章 用户与权限管理_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7章用户与权限管理7.1用户与方案1.用户的概念Oracle用户,通俗地讲就是访问Oracle数据库的“人”。用户是数据库的使用者和管理者。在Oracle系统中,用户是允许访问数据库系统的有效帐户,是可以对数据库资源进行访问的实体。Oracle数据库通过创建用户帐户并为此帐户授予相应的数据库权限等安全参数,用户才能够访问数据库和进行相应的操作,每个用户都有一个口令和相应的权限,使用正确的用户名、口令才能登录到数据库中进行数据的存取操作,用户管理是Oracle数据库安全管理的核心和基础。7.1用户与方案1.用户的概念Oracle用户,通俗地讲就是访问Oracle数据库的“人”。用户是数据库的使用者和管理者。在Oracle系统中,用户是允许访问数据库系统的有效帐户,是可以对数据库资源进行访问的实体。Oracle数据库通过创建用户帐户并为此帐户授予相应的数据库权限等安全参数,用户才能够访问数据库和进行相应的操作,每个用户都有一个口令和相应的权限,使用正确的用户名、口令才能登录到数据库中进行数据的存取操作,用户管理是Oracle数据库安全管理的核心和基础。7.1用户与方案2.资源的基本概念资源可以有很多方面的理解,如为会话用户分配的连接、提供的CPU使用率、分配的内存空间,以及数据库中的模式对象都可以作为资源进行理解。但是这里讲述的资源,主要是数据库系统的实例为用户分配或者消耗的一些系统资源,如CPU会话时间和分配的SGA空间大小等。Oracle使用概要文件对资源进行管理。概要文件(profile)是一个命名的资源限制的集合,又称为资源配置文件。分配了概要文件的用户在使用数据库时,将受到概要文件中所规定参数的限制。在Oracle中,每个用户都必须分配概要文件,或者使用系统分配的一个默认概要文件。实质上,概要文件是对资源进行限制的存储在数据字典中的一些记录的集合,并不是一个普通意义上的文件。

Oracle的概要文件还提供了口令管理的功能。7.1用户与方案3.模式的概念模式是数据库中某个用户所拥有的所有对象的集合,这些对象包括表、索引、视图、触发器、序列和存储过程等数据库对象,而用户是数据库的使用者。从严格的意义上来说,用户和模式具有不同的定义,但是,实际上在Oracle数据库中,用户和模式基本处于对等的地位,很多时候,读者可以忽略它们的差异,不加区别地使用用户和模式这两个概念。在Oracle数据库中,用户基本上等同于模式基于下面的事实:(1)当用户被创建时,同名的模式也同时被创建。(2)当用户被删除时,同名的模式也同时被删除。(3)一个用户只能关联一个模式,并且,用户和模式具有相同的名称。在Oracle数据库系统中,用户和模式可以说是等同的。7.2用户管理一、Oracle常用用户1、SYS用户超级管理员,拥有最高权限

具有sysdba角色,有createdatabase的权限该用户默认的密码是sys。2、SYSTEM用户普通管理员,拥有次高权限具有sysoper角色,没有createdatabase的权限默认的密码是manager。3、SCOTT普通用户密码默认为tiger,默认未解锁二、Oracle用户创建1、使用SQL命令创建(1)命令:命令格式:CREATEUSER用户名INDENTIFIEDBY口令[DEFAULTTABLESPACE表空间名][TEMPORARYTABLESPACE表空间名][QUOTA{正整数[K|M]|UNLIMITED}ON表空间名...][PASSWORDEXPIRE][ACC0UNT{LOCKL|UNLOCK}][PR0FILE环境文件名|DEFAULT];7.2用户管理各子句含义:IDENTIFIEDBY子句可为用户设置口令DEFAULTTABLESPACE子句可为用户指定默认表空间,如没有指定则为SYSTEM作为默认表空间。TMPORARYTABLESPACE子句:为用户指定临时表空间,如没有指定则TEMP为临时表空间QUOTAn:如果指定了默认表空间之后,一般需使用QUOTA子句来为用户在默认表空间中分配空间配额。PASSWORDEXPIRE子句:设置用户口令的初始状态为过期。用户下次登录后,口令立即失效,必须为其设置新口令。ACCOUNTLOCK子句:设置用户账户的初始状态为锁定,默认为ACCOUNTUNLOCK。7.2用户管理PROFILE子句:为用户指定一个概要文件。如果没有为用户显式地指定概要文件,则Oracle将自动为其指定DEFAULT概要文件。7.2用户管理(2)举例只有管理员(或具有创建用户权限的用户)才能创建新用户,要先以管理员用户连接到数据库,才能创建用户例1:CONNECTSYS/Oracle11assysdbaCREATEUSERUSER1IDENTIFIEDbya1234;执行:CONNECTUSER1/a1234?7.2用户管理例2:密码失效CREATEUSERUSER2IDENTIFIEDbya1234PASSWORDEXPIRE执行:CONNECTUSER2/a12347.2用户管理例3:用户锁定CREATEUSERUSER3IDENTIFIEDbya1234ACCOUNTLOCK执行:CONNECTUSER2/a12347.2用户管理四、修改用户1、使用命令修改命令:ALTERUSER用户名……例1:修改用户USER1的密码ALTERUSERUSER1IDENTIFIEDBYoracle执行:CONNECTUSER1/a12347.2用户管理例2:修改用户USER1的密码过期ALTERUSERUSER1PASSWORDEXPIRE;执行:CONNECTUSER1/oracle例3:解除USER3的账户锁定ALTERUSERUSER3accountUNLOCK执行:CONNECTUSER3/a12347.2用户管理7.2用户管理五、删除用户1、命令DROPUSER用户名[CASCADE]执行该语句的用户必须具有DROPUSER系统权限如果要删除的用户模式中包含模式对象,则必须在DROPUSER子句中指定CASCADE关键字,否则Oracle将返回错误信息。如果用户当前正连接到数据库,则不能删除这个用户例:查看有哪些用户:SELECTUSERNAMEFROMDBA_USERSdropUSERUSER3一、用户权限1、权限的含义权限是用户对数据库所能执行的行为如果没有对新户授予一定的权限,则用户不能执行任何操作因此首先需要给用户授予基本的权限,这样用户才能够登录数据库,进而在所属方案中进行创建、删除、修改数据库对象等操作如果不允许进行相应操作,可以通过回收其权限来达到对数据库相应的安全控制。7.3权限管理2、权限分类:系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)实体权限(或对象权限):某种用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)7.3权限管理3、常用的系统权限DBA:拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。7.3权限管理其他的权限CREATESESSION:允许用户登录CREATEUSER:创建用户权限说明对于普通用户:授予connect,resource权限。对于DBA管理用户:授予connect,resource,dba权限。7.3权限管理4、系统权限授权命令:GRANTSYSTEM_PRIV[,SYSTEM_PRIV,...]TO{PUBLIC|ROLE|USER}[,PUBLIC|ROLE|USER}]...[WITHADMINOPTION]7.3权限管理各字句的含义:SYSTEM_PRIV:表示要授予的系统权限的名称,该选项允许为用户同时授予多个系统权限,之间用逗号隔开。USER:表示获得该系统权限的用户名称,该选项允许同时为多个用户授予相同的权限,之间用逗号隔开。ROLE:表示被授予的角色。PUBLIC:表示对系统中所用用户授权,可以使用它为系统中的每个用户快速设定权限。WITHADMINOPTION:它是可选项,表示将系统权限授予某个用户后,该用户不仅获得该权限的使用权,还获得该权限的管理权,包括可以将该权限继续授予其它用户,或从其它用户处回收该权限。该选项的影响力较大,要慎重使用。7.3权限管理例1:授予用户USER1的connect权限CONNECTUSER1/1234;CONNECTSYS/Oracle11ASSYSDBA;GRANTCONNECTTOUSER1再执行:CONNECTUSER1/1234;7.3权限管理例2:授予用户USER2登录的权限,USER2并能把该权限授予其他人CONNECTUSER2/1234;CONNECTSYS/Oracle11ASSYSDBA;Createuseruser4IDENTIFIEDBY1234;GRANTCREATESESSIONTOUSER2WITHADMINOPTION再执行:CONNECTUSER4/1234;再执行:CONNECTUSER2/1234;GRANTCREATESESSIONTOUSER4再执行:CONNECTUSER4/1234;7.3权限管理例3:授予用户USER4具有DBA的权限CONNECTSYS/Oracle11ASSYSDBA;GRANTconnect,resource,createuserTOUSER4CONNECTUSER4/1234;createUSERUSER5IDENTIFIEDBY12347.3权限管理用户权限的查询select*fromdba_sys_privswheregrantee=‘用户名’;7.3权限管理7.3权限管理5、系统权限回收命令:REVOKESYSTEM_PRIV[,SYSTEM_PRIV,...]FROM{PUBLIC|ROLE|USER}[,USER|ROLE|PUBLIC]]...具有回收权限的用户才能回收权限例:把USER4的resource权限收回CONNECTSYS/Oracle11ASSYSDBA;REVOKEcreateuserFROMUSER4;CONNECTUSER4/1234;执行:createUSERUSER6IDENTIFIEDBY1234二、对象权限1、对象权限的含义对象权限是指访问其他用户模式对象的权力。Oracle数据库中总共有9种不同的对象权限。常用的对象权限包括对某个数据库对象中数据的查询、插入、修改、删除等权限。

对于表TABLE对象而言,ALL表示ALTER、DELETE、INDEX、SELECT、INSERT、UPDATE、REFERENCES权限对于PROCEDURE存储过程,ALL表示EXECUTE权限7.3权限管理权限名称适应的对象类型表视图序列进程快照SELECT

****INSERT

**UPDATE

**DELETE

***EXECUTE

*ALTER

**INDEX

*REFERENCES*2、常用的权限7.3权限管理3、授权命令GRANT

object_privilege[,object_privilege]ONobject_nameTOuser_name[,user_name][WITH

GRANT

OPTIONJ例:SCOTT用户授予用户USER1对表EMP的

查询权限CONNECTUSER1/1234;SELECT*FROMSCOTT.EMP;CONNECTSCOTT/tiger;GRANTSELECTONEMPTOUSER1;CONNECTUSER1/1234;SELECT*FROMSCOTT.EMP;7.3权限管理4、回收权限命令:

REVOKEobject_privilege[,object_privilege]ONobject_nameFROMuser_name[,user_name];例:SCOTT把user1用户对EMP的查询权限收回CONNECTSCOTT/tiger;REVOKESELECTONempFROMUSER1;CONNECTUSER1/1234;SELECT*FROMSCOTT.EMP;7.3权限管理7.4角色管理一、角色1、含义是一组系统权限和对象权限的集合。Oracle数据库中引入角色的概念是为了简化数据库权限的管理。7.4角色管理2、引入角色优点:减少权限管理的工作量。实现动态权限管理。权限的选择具有可用性和灵活性。应用安全性。

7.4角色管理3、角色的分类系统预定义角色CONNECT:连接到数据库,最终用户角色.RESOURCE:申请资源创建对象,开发人员角色.DBA:具有全部系统权限,可以创建数据库.例1:查询当前数据库的所有预定义角色。select*fromdba_roles;例2:grantresourcetohr_user1;7.4角色管理自定义角色以SYS用户登录命令:CREATEROLErole_name[IDENTIFIEDBYPASSWORD][NOTIDENTIFIED]例:CREATEROLEtestrole;7.4角色管理4、角色授权和回收权限(1)为角色授予系统权限GRANT

system_privilege[,system_privilege]

TO

role_name

(2)为角色授予对象权限GRANT

object_privilege

[,object_privilege]

ON

object_name

TO

role_name

(3)回收角色的系统权限REVOKE

system_privilege[,system_privilege]

FROM

role_name

(4)回收角色的对象权限REVOKE

object_privilege[,object_privilege]

ON

object_name

FROM

role_name

7.4角色管理例:GRANT

CREATE

SESSION

TO

testrole

;GRANT

SELECT

ON

scott.emp

TO

testrole;

7.4角色管理4、

将角色授予用户将角色授予用户的命令与授予权限的命令基本相同,格式如下:GRANT

role_name

TO

user_name

例:GRANT

RESOURCE,testrole

TO

user1;

7.4角色管理5、删除角色DROP

ROLE

role_name例:DROPROLEtestrole

7.5概要文件管理1、概要文件的概念概要文件(PROFILE)是数据库和系统资源限制的集合。当数据库系统运行时,实例可为用户分配一些系统资源。如CPU的使用、分配SGA的空间大小、连接数据库的会话数、用户口令期限等,这些都可以看成数据库系统的资源。Oracle系统对用户使用的系统资源可以通过概要文件来管理,如限制用户使用的系统和数据库资源,并管理口令。Oracle中有一个默认的概要文件DEFAULT,该概要文件对资源的使用进行一定的限制,但限制比较少。如果创建新用户时没有分配概要文件,那么Oracle将自动把默认的概要文件分配给它。多数情况下,管理员需要建立一些专门的概要文件,以限制用户所使用的资源,使Oracle数据库更安全。7.5概要文件管理2、概要文件参数资源限制的参数CPU_PER_SESSION表明了每次会话期间所允许的总的CPU执行时间。如果超过这值,那么用户将不能执行任何语句,而只能通过断开,重新连接数据库。CPU_PER_CALL表明了每次语句执行期间所允许的总的CPU执行时间。如果超过这值用户只需要重新提交语句。CONNECT_TIME限制了用户每次会话所允许的与数据库的连接时间,超过这个时间限制,数据库将断开与用户的连接。IDLE_TIME限制了用户在会话期间所允许的空闲时间(即用户不执行任何操作的时间),超过这个时间限制,数据库将断开与用户的连接。SESSIONS_PER_USER限制了每个用户允许并发的会话数量,当使用同一个用户名的会话数量达到此参数的值时,将不允许此用户再与数据库建立新的连接。LOGICAl_READS_PER_SESSION限制用户在一个会话中所能执行的最大的逻辑读操作的数量。这里的逻辑读是指以读出数据库的一个块大小的数据的操作。用户进行逻辑读操作的数量达到此参数的值时,将不能执行逻辑读操作,如查询。LOGICAL_READS_PER_CALL限制了用户在每次语句执行期间所允许的最大的逻辑读操作的数量。当此次语句执行时的逻辑读超过了此参数的值,则此语句执行被终止。PRIVATE_SGA限制了用户在会话期间所能分配的SGA内存空间的大小。这个参数对用户的执行效率影响很大。COMPOSITE_LIMIT是Oracle提供的一个综合的限制参数,也称为组合限制,它的值表明了前面的所有参数的加权值的总和不能超过此参数所设置的值。7.5概要文件管理2、概要文件参数

启用和停用资源限制每个用户都必须分配概要文件或者使用默认的概要文件,但是这些概要文件的设置是否生效,与初始化参数文件中的参数RESOURCE_IMIT的设置有关。当RESOURCE_IMIT为TRUE时,系统启用概要文件,实施资源限制。当RESOURCE_LIMIT为FALSE时,系统停用概要文件,不实施资源限制。修改初始化参数文件中的RESOURCE_IMIT参数设置,可以影响下一次数据库启动时是否实施资源限制。如果用户想在数据库打开时更改启用或者停用资源限制,执行以下语句将停用资源限制:

ALTERSYSTEMSETRESOURCE_LIMIT=TRUE;7.5概要文件管理3、

管理概要文件创建概要文件创建概要文件,必须具有CREATEPROFILE系统权限。例:

CREATEPROFILEPROFILE_HRLIMITSESSIONS_PER_USER4CPU_PER_SESSIONunlimitedCPU_PER_CALL600IDLE_TIME30CONNECT_TIME300

对于CREATEPROFILE语句中没有指定的参数,将使用DEFAULT概要文件中的对应参

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论