Oracle数据库应用与开发案例教程课件09.第九章 用户权限与安全管理_第1页
Oracle数据库应用与开发案例教程课件09.第九章 用户权限与安全管理_第2页
Oracle数据库应用与开发案例教程课件09.第九章 用户权限与安全管理_第3页
Oracle数据库应用与开发案例教程课件09.第九章 用户权限与安全管理_第4页
Oracle数据库应用与开发案例教程课件09.第九章 用户权限与安全管理_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

2023/12/211Oracle数据库应用

与开发案例教程第九章用户权限与安全管理2023/12/21Oracle数据库应用与开发案例教程2第九章用户权限与安全管理9.1用户管理

9.2概要文件管理

9.3使用概要文件管理口令和资源

9.4权限管理

9.5角色管理2023/12/21Oracle数据库应用与开发案例教程39.1用户管理-用户概述Oracle用户是指可以访问数据库的账号,每个用户都有口令和相应的权限。在安装Oracle数据库的过程中系统自动创建了很多用户,称为预定义用户。Oracle系统中的预定义用户主要:有管理员用户非管理员用户示例模式用户【例题9-1】执行下列SQL语句,查看Oracle系统中用户的基本信息2023/12/21Oracle数据库应用与开发案例教程49.1用户管理-创建用户除了Oracle的预定义用户,在实际应用中往往需要根据对数据库的使用情况来创建不同的用户。创建用户使用CREATEUSER命令来完成,该命令一般由DBA用户来执行;如果要以其他用户身份建立用户,则要求用户必须具有CREATEUSER系统权限。2023/12/21Oracle数据库应用与开发案例教程59.1用户管理-创建用户1.CREATEUSER命令的语法CREATEUSERusernameIDENTIFIEDBYpasswordORIDENTIFIEDEXTERNALLYORIDENTIFIEDGLOBALLYAS‘CN=user’[DEFAULTTABLESPACEtablespace][TEMPORARYTABLESPACEtemptablespace][QUOTA[integerK[M][UNLIMI]TED]ONtablespace][PROFILESprofile_name][PASSWORDEXPIRE][ACCOUNTLOCKorACCOUNTUNLOCK]2023/12/21Oracle数据库应用与开发案例教程69.1用户管理-创建用户【例题9-2】为数据库zcgl创建一个新用户,其中用户名为yh01,口令为yh01,默认表空间为users,临时表空间为temp。【例题9-3】为数据库zcgl创建一个新用户,其中用户名为yh02,口令为yh02,默认表空间为users,临时表空间为temp的用户,该用户在users表空间上所使用的配额不受限制,且在不允许该用户使用system表空间。2023/12/21Oracle数据库应用与开发案例教程79.1用户管理-创建用户【例题9-4】为数据库zcgl创建一个新用户,用户名为yh03,口令为123456,默认表空间为ZCGL_TBS1,临时表空间为ZCGL_TEMP1,并且设置该用户在表空间ZCGL_TBS1上的配额为10M。【例题9-5】使用新用户yh01/yh01连接数据库。2023/12/21Oracle数据库应用与开发案例教程89.1用户管理-修改用户已经创建成功的用户,可以使用ALTERUSER语句来修改它的各种属性,如口令、默认表空间、临时表空间、表空间配额、概要文件、是否过期、是否锁定等。该命令还可以用来更改用户的默认角色。2023/12/21Oracle数据库应用与开发案例教程99.1用户管理-修改用户ALTERUSER语句的语法如下:ALTERUSER用户名[IDENTIFIEDBY口令]|[IDENTIFIEDEXTERNALLY][DEFAULTTABLESPACE默认表空间名][TEMPORARYTABLESPACE临时表空间名][QUOTA[数值K|M]|[UNLIMITED]ON默认表空间名][QUOTA[数值K|M]|[UNLIMITED]ON其他表空间名]…[PROFILE{概要文件名|DEFAULT}][PASSWORDEXPIRE][ACCOUNTLOCK]|[ACCOUNTUNLOCK][DEFAULTROLE{角色名[,角色名]…|ALL[EXCEPT角色名[,角色名]]|NONE}]2023/12/21Oracle数据库应用与开发案例教程109.1用户管理-修改用户【例题9-6】将用户yh01在USERS表空间的限额改为300M。【例题9-7】设置用户yh02的口令字过期。2023/12/21Oracle数据库应用与开发案例教程119.1用户管理-删除用户为了保证数据库的安全性,不再使用的用户可以用DROPUSER语句进行删除。删除用户后,Oracle会从数据字典中删除用户、方案及其所有方案对象。删除用户的语法: DROPUSERusername[CASCADE]2023/12/21Oracle数据库应用与开发案例教程129.1用户管理-删除用户【例题9-8】删除用户SCOTT。【例题9-9】删除用户yh02,如果yh02拥有任何对象,也自动删除这些对象。【例题9-10】使用用户zcgl_oper/admin连接数据库,并在连接成功后删除用户zcgl_oper。2023/12/21Oracle数据库应用与开发案例教程139.1用户管理-查看用户信息创建好用户后,Oracle会将用户的所有属性信息存放在数据库字典基表中。查询用户的账户信息【例题9-11】查询视图DBA_USERS,显示符合条件用户的名称、账户状态、概要文件、创建日期和过期日期等信息。2.查询用户所使用的表空间及其配额【例题9-12】查询dba_ts_quotas,显示各个用户所使用的表空间及其配额的信息。2023/12/21Oracle数据库应用与开发案例教程149.1用户管理-查看用户信息3.查询用户的角色与权限【例题9-13】查询dba_role_privs视图,显示用户zcgl_oper所具有的角色及其是否默认角色的信息。4.查询当前登录的用户【例题9-14】user是一个系统变量,该变量的值显示了当前连接到数据库的用户名。在SQL*Plus中可以使用SHOWUSER命令来查询该系统变量的值。2023/12/21Oracle数据库应用与开发案例教程159.1用户管理-查看用户信息5.查询特权用户【例题9-15】通过查询动态性能视图V$PWFILE_USERS显示具有SYSOPER、SYSDBA特权的用户信息。6.查询当前用户所创建的表及其所在的表空间。6.查询当前用户所创建的表及其所在的表空间【例题9-16】以用户zcgl_oper/admin连接数据库,查询user_tables视图,显示用户zcgl_oper在数据库中创建的表以及这些表被存储的表空间信息。2023/12/21Oracle数据库应用与开发案例教程169.2概要文件管理Oracle系统中,可以通过建立概要文件来限制每个用户对数据库和系统资源的使用。将一个概要文件分配给一个用户后,就可以利用该概要文件来限制该用户对各种资源的使用。创建Oracle数据库时,系统会自动创建一个名为DEFAULT的概要文件。2023/12/21Oracle数据库应用与开发案例教程179.2概要文件管理-创建概要文件创建概要文件的语法如下:CREATEPROFILEprofile_nameLIMIT{resource_parameters|password_parameters}语法说明:1.资源参数resource_parameters2.口令参数password_parameters2023/12/21Oracle数据库应用与开发案例教程189.2概要文件管理-创建概要文件【例题9-17】创建一个名为myprofile_01的概要文件,要求每个用户最多可以创建4个并发会话;每个会话持续时间最长为60分钟;如果会话在连续20分钟内空闲,则结束会话;每个会话的私有SQL区为100KB;每个SQL语句占用CPU时间总量不超过10秒;密码的失效天数为60天。【例题9-18】创建概要文件myprofile_02,设置密码的有效天数为10天。2023/12/21Oracle数据库应用与开发案例教程199.2概要文件管理-修改概要文件使用ALTERPROFILE命令来修改概要文件。对概要文件的任何修改都不影响当前的会话,修改完概要文件之后创建的会话才会受新的参数值的影响。【例题9-19】对myprofile_01文件中的PASSWORD_LIFE_TIME参数进行了修改,把密码的失效天数改为30天。2023/12/21Oracle数据库应用与开发案例教程209.2概要文件管理-分配概要文件创建了概要文件之后,可以将其分配给数据库用户。每个用户必须且只能有一个概要文件。如果将一个新的概要文件分配给用户,那么这个新概要文件将取代先前分配给该用户的概要文件。【例题9-20】在数据库zcgl中创建一个新用户user01,并为其分配名称为myprofile_01的概要文件。【例题9-21】将数据库zcgl中的用户yh02的概要文件设置为myprofile_02。2023/12/21Oracle数据库应用与开发案例教程219.2概要文件管理-删除概要文件使用DROPPROFILE命令来完成。如果要删除的概要文件已经分配给了用户,则必须在DROPPROFILE语句后面加上CASCADE关键字。【例题9-22】删除概要文件myprofile_02。2023/12/21Oracle数据库应用与开发案例教程229.2概要文件管理-查看概要文件通过查询数据字典可以查看概要文件信息。与概要文件有关的表与视图如下表9.2所示:2023/12/21Oracle数据库应用与开发案例教程239.2概要文件管理-查看概要文件【例题9-23】显示了用户user01所使用的概要文件。【例题9-24】显示概要文件DEFAULT文件中的密码和资源限制等信息。2023/12/21Oracle数据库应用与开发案例教程249.3使用概要文件管理口令和资源-管理口令

概要文件提供了一些口令管理选项来确保口令的安全。建立概要文件时可以实现三种类型的口令管理:锁定账户、设置口令有效期、进行口令复杂度校验。2023/12/21Oracle数据库应用与开发案例教程259.3使用概要文件管理口令和资源-管理口令1.锁定账户账户锁定用于控制用户连续登录失败的最大次数。如果登录失败次数达到了限制,Oralce不但会对用户账户进行自动锁定,而且是设定账户的锁定时间。【例题9-25】创建一个概要文件myprofile_03,将连续登录失败次数设置为3,当连续登陆失败超过3次后,账户将被锁定,账户锁定的时间为7天,并将该概要文件分配给用户yh02。2023/12/21Oracle数据库应用与开发案例教程269.3使用概要文件管理口令和资源-管理口令【例题9-26】以yh02身份连接到数据库,并且连续3次登录失败,那么Oracle会自动锁定该账户,此时即使该账户提供了正确的口令也无法再连接到数据库。2023/12/21Oracle数据库应用与开发案例教程279.3使用概要文件管理口令和资源-管理口令2.设置口令有效期口令有效期是指强制用户定期修改自己的密码,口令宽限期是指用户账户口令到期之后的宽限使用时间。默认情况下,创建用户并为其提供了口令之后,口令会一直生效。出于口令安全的考虑,可以强制普通用户定期改变口令。【例题9-27】创建一个myprofile_04概要文件,用此概要文件来控制用户的密码有效期为10天,密码宽限期为3天,并将该PROFILE分配给用户user01。2023/12/21Oracle数据库应用与开发案例教程289.3使用概要文件管理口令和资源-管理口令3.进行口令复杂性校验口令复杂性校验是指使用指定的函数强制用户使用复杂口令。使用口令校验函数时,既可以使用系统口令校验函数VERIFY_FUNCTION,也可以使用自定义口令校验函数。【例题9-28】建立系统口令校验函数VERIFY_FUNCTION,以SYS用户运行SQL脚本utlpwdmg.sql,对yh02用户的进行口令校验。2023/12/21Oracle数据库应用与开发案例教程299.3使用概要文件管理口令和资源-管理资源概要文件不仅可以用于管理口令,还可以管理系统资源.在使用概要文件管理资源时,必须将RESOURCE_LIMIT参数设置为TRUE以激活资源限制。大部分资源限制都可以在会话级和调用级上进行。2023/12/21Oracle数据库应用与开发案例教程309.3使用概要文件管理口令和资源-管理资源概要文件不仅可以用于管理口令,还可以管理系统资源.在使用概要文件管理资源时,必须将RESOURCE_LIMIT参数设置为TRUE以激活资源限制。大部分资源限制都可以在会话级和调用级上进行。2023/12/21Oracle数据库应用与开发案例教程319.3使用概要文件管理口令和资源-管理资源1.对会话级资源进行限制会话级资源限制是对用户在一个会话过程中所使用的资源进行限制。限制会话级资源的参数主要有:CPU_PER_SESSION、LOGICAL_READS_PER_SESSION、PRIVATE_SGA、COMPOSITE_LIMIT2023/12/21Oracle数据库应用与开发案例教程329.3使用概要文件管理口令和资源-管理资源2.对调用级资源进行限制对调用级资源进行限制是对一个SQL语句在执行过程中所使用的资源进行限制。Oracle中限制调用级资源的参数主要有:CPU_PER_CALL、LOGICAL_READS_PER_CALL2023/12/21Oracle数据库应用与开发案例教程339.4权限管理权限是指执行特定类型SQL命令或者访问其他方案对象的权利,包括连接到数据库、创建表、从另一个用户的表中选择数据及执行另一个用户的存储过程等操作。可以直接将权限授予一个用户;也可以间接的授权方式,将权限授予某个角色,然后为某个用户添加这个角色。2023/12/21Oracle数据库应用与开发案例教程349.4权限管理-权限分类1.系统权限2.对象权限2023/12/21Oracle数据库应用与开发案例教程359.4权限管理-系统权限管理1.系统权限分类根据用户在数据库中进行的不同操作分类,例如,创建表空间、创建用户、修改数据库结构、修改用户权限等。根据方案对象和非方案对象分类,分为针对方案对象的权限和针对非方案对象的权限。2023/12/21Oracle数据库应用与开发案例教程369.4权限管理-系统权限管理

2.授予系统权限在创建用户后,必须具有相应的系统权限才能在数据库中执行相应的操作。使用GRANT语句可以将系统权限授予指定的用户、角色和PUBLIC公共用户组,其语法是:GRANTsystem_privilege|ALL[PRIVILEGES]TOuser|role|PUBLIC[WITHADMINOPTION];2023/12/21Oracle数据库应用与开发案例教程379.4权限管理-系统权限管理3.回收系统权限授予权限的用户可以根据系统的需要回收指定的权限。在回收系统权限时,可以将某一用户的权限回收,可以从角色中回收系统权限。回收系统权限使用REVOKE语句。语法为:REVOKE系统权限FROM{PUBLIC|role|username}2023/12/21Oracle数据库应用与开发案例教程389.4权限管理-对象权限管理对象权限是用户之间对表、视图、序列、存储过程、函数、包等模式对象的相互存取操作的权限。对象权限及对象之间的对应关系如表9.5所示。2023/12/21Oracle数据库应用与开发案例教程399.4权限管理-对象权限管理2.授予对象权限如果一个用户没有被授予其他用户的对象权限,那么他就不能访问其他用户的对象。DBA用户(SYS用户、SYSTEM用户)可以访问任何用户的任何对象,并且可以将这些对象上的对象权限授予其他用户。2023/12/21Oracle数据库应用与开发案例教程409.4权限管理-对象权限管理使用GRANT语句可以将对象权限授予指定的用户、角色、PUBLIC公共用户组。具体语法格式如下:GRANTobject_privilege|ALL[PRIVILEGES][(column_1[,column_2]﹍﹍)]ON[schema.]objectTOuser|role|PUBLIC[WITHGRANTOPTION][WITHHIERARCHYOPTION];2023/12/21Oracle数据库应用与开发案例教程419.4权限管理-对象权限管理3.回收对象权限对象的拥有者可以进行相应对象权限的回收,回收对象权限可以使用REVOKE语句。具体语法格式如下:REVOKE[object_privilege|ALL[PRIVILEGES]ON[schema.]objectFROM{user|role|PUBLIC};2023/12/21Oracle数据库应用与开发案例教程429.4权限管理-对象权限管理4.查看对象权限信息【例9-43】查询并显示用户ZCGL_OPER授予用户yh01的所有对象权限。【例9-44】查看用户ZCGL_OPER上所授出的所有对象权限。【例9-45】查看用户zcgl_oper被授予的对象权限。2023/12/21Oracle数据库应用与开发案例教程439.5角色管理角色是一组系统权限和对象权限的命名组合,将多个不同的权限集合在一起就形成了角色。使用角色可以简化权限的管理,可以用一条语句将多个权限授予一个角色,也可以从某个角色中回收多个权限。只要将某个角色授予了Oracle的某个用户,该用户就会继承该角色的所有权限,从而实现权限的动态管理。2023/12/21Oracle数据库应用与开发案例教程449.5角色管理-预定义角色预定义角色是Oracle提供的角色。1)CONNECT角色2)RECOURCE角色3)DBA4)EXECUTE_CATALOG_ROLE5)SELECT_CATALOG_ROLE6)DELETE_CATALOG_ROLE7)EXP_FULL_DATABASE8)IMP_FULL_DATABASE9)RECOVERY_CATALOG_OWNER2023/12/21Oracle数据库应用与开发案例教程459.5角色管理-自定义角色1.创建角色创建角色需要使用CREATEROLE命令完成。创建角色的语法是:CREATEROLErole_name[IDENTIFIEDBYpassword];【例9-46】创建—个名为myrolel的角色,该角色不需要

温馨提示

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

评论

0/150

提交评论