版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1第11章安全管理11.1安全管理概述11.2用户管理11.3权限管理11.4角色管理11.5概要文件Oracle数据库教程(第3版•微课视频版)211.1安全管理概述Oracle数据库安全性包括以下两个方面:(1)对用户登录进行身份验证(2)对用户操作进行权限控制某一用户要对某一数据库进行操作,需要满足以下条件:(1)登录Oracle服务器必须通过身份验证(2)必须是该数据库的用户或某一数据库角色的成员(3)必须有执行该操作的权限
Oracle数据库教程(第3版•微课视频版)311.2用户管理用户是数据库的使用者和管理者,用户管理是Oracle数据库安全管理的核心和基础。每个连接到数据库的用户都必须是系统的合法用户,用户要使用Oracle的系统资源,必须拥有相应的权限。在创建Oracle数据库时会自动创建一些用户,例如SYS、SYSTEM等,Oracle数据库允许数据库管理员创建用户。和用户相关的属性包括以下几种。(1)用户身份认证方式(2)表空间配额(3)默认表空间(4)临时表空间(5)账户状态(6)资源配置
Oracle数据库教程(第3版•微课视频版)411.2用户管理11.2.1创建用户语法格式:CREATEUSER<用户名>
/*将要创建的用户名,用户前必须加上*/[IDENTIFIEDBY{<密码>|EXTERNALLLY|GLOBALLYAS'<外部名称>'}]/*表明Oracle如何验证用户*/[DEFAULTTABLESPACE<默认表空间名>]/*标识用户所创建对象的默认表空间*/[TEMPORARYTABLESPACE<临时表空间名>]/*标识用户的临时段的表空间*//*用户规定的表空间存储对象,最多可达到这个定额规定的总尺寸*/[QUOTA<数字值>K|<数字值>M|UNLIMTEDON<表空间名>][PROFILE<概要文件名>]/*将指定的概要文件分配给用户*/[PASSWORDEXPIRE][ACCOUNT{LOCK|NULOCK}]
/*账户是否锁定*/
Oracle数据库教程(第3版•微课视频版)511.2用户管理说明:
●
IDENTIFIEDBY<密码>:用户通过数据库验证方式登录,登录时需要提供的口令;●
IDENTIFIEDEXTERNALLY:用户需要通过操作系统验证;●
DEFAULTTABLESPACE<默认表空间名>:为用户指定默认表空间;●
TEMPORARYTABLESPACE<临时表空间名>:为用户指定临时表空间;●
QUOTA:定义在表空间中允许用户使用的最大空间,可将限额定义为整数字节或千字节/兆字节。其中关键字UNLIMITED用户指定用户可以使用表空间中全部可用空间;●
PROFILE:指定用户的资源配置。●
PASSWORDEXPIRE:强制用户在使用SQL*Plus登录到数据库时重置口令(该选项仅在用户通过数据库进行验证时有效);●
ACCOUNTLOCK|UNLOCK:可用于显示锁定或解除锁定用户账户(UNLOCK为缺省设置);
Oracle数据库教程(第3版•微课视频版)611.2用户管理【例11.1】创建用户Lee,口令为123456,默认表空间为USERS,临时表空间为TEMP;创建用户Qian,口令为oradb,默认表空间为USERS,临时表空间为TEMP;创建用户Fu,口令为s5678,默认表空间为USERS,临时表空间为TEMP。(1)创建用户Lee代码和运行结果如下。SQL>CREATEUSERLee2IDENTIFIEDBY1234563DEFAULTTABLESPACEUSERS4TEMPORARYTABLESPACETEMP;用户已创建。
Oracle数据库教程(第3版•微课视频版)711.2用户管理(2)创建用户Qian代码和运行结果如下。SQL>CREATEUSERQian2IDENTIFIEDBYoradb3DEFAULTTABLESPACEUSERS4TEMPORARYTABLESPACETEMP;用户已创建。(3)创建用户Fu代码和运行结果如下。SQL>CREATEUSERFu2IDENTIFIEDBYs56783DEFAULTTABLESPACEUSERS4TEMPORARYTABLESPACETEMP;用户已创建。
Oracle数据库教程(第3版•微课视频版)811.2用户管理11.2.2修改用户语法格式:ALTERUSERuser_name[IDENTIFIED][BYPASSWORD|EXTERNALLY|GOLBALLYAS'external_name'][DEFAULTTABLESPACEtablespace_name][TEMPORARYTABLESPACEtemp_tempspace_name][QUOTAnK|M|UNLIMITEDONtablespace_name][PROFILEprofile_name][DEFAULTROLErole_list|ALL[EXCEPTrole_list]|NONE][PASSWORDEXPIRE][ACCOUNTLOCK|UNLOCK];
Oracle数据库教程(第3版•微课视频版)911.2用户管理【例11.2】将用户Lee的口令修改为test。代码和运行结果如下。SQL>ALTERUSERLee2IDENTIFIEDBYtest;用户已更改。11.2.3删除用户语法格式:DROPUSERuser_name[CASCADE];如果使用CASCADE选项,则删除用户时将删除该用户模式中的所有对象。如果用户拥有对象,则删除用户时若不使用CASCADE选项系统将给出错误信息。
Oracle数据库教程(第3版•微课视频版)1011.2用户管理【例11.3】删除用户Fu。代码和运行结果如下。SQL>DROPUSERFuCASCADE;用户已删除。11.2.4查询用户信息通过查询数据字典视图可以获取用户信息、权限信息和角色信息。【例11.4】查看所有用户。代码如下。SQL>SELECTUSERNAME,USER_ID,CREATEDFROMALL_USERS;
Oracle数据库教程(第3版•微课视频版)1111.3权限管理11.3.1权限概述权限是预先定义好的执行某种SQL语句或访问其他用户模式对象的能力。权限分为系统权限和数据库对象权限两类。11.3.2系统权限1.系统权限的分类(1)数据库维护权限对于数据库管理员,需要创建表空间、修改数据库结构、创建用户、修改用户权限等进行数据库维护的权限。(2)数据库模式对象权限对数据库开发人员而言,需要了解操作数据库对象的权限,如创建表、创建视图等权限。(3)ANY权限具有ANY权限表示可以在任何用户模式中进行操作。
Oracle数据库教程(第3版•微课视频版)1211.3权限管理2.系统权限的授予语法格式:GRANT<系统权限名>TO{PUBLIC|<角色名>|<用户名>[,..n]}[WITHADMINOPTION]其中,PUBLIC是Oracle中的公共用户组,如果将系统权限授予PUBLIC,则将系统权限授予所有用户。使用WITHADMINOPTION,则允许被授予者进一步为其他用户或角色授予权限,此即系统权限的传递性。【例11.5】授予用户Lee创建表和视图的权限。代码和运行结果如下。SQL>GRANTCREATEANYTABLE,CREATEANYVIEWTOLee;授权成功。
Oracle数据库教程(第3版•微课视频版)1311.3权限管理3.系统权限的收回语法格式:REVOKE<系统权限名>FROM{PUBLIC|<角色名>|<用户名>[,..n]};【例11.6】收回用户Lee创建视图的权限。代码和运行结果如下。SQL>REVOKECREATEANYVIEWFROMLee;撤销成功。
Oracle数据库教程(第3版•微课视频版)1411.3权限管理11.3.3对象权限1.对象权限的分类Oracle对象有下列9种权限。(1)SELECT:读取表、视图、序列中的行。(2)UPDATE:更新表、视图和序列中的行。(3)DELETE:删除表、视图中的数据。(4)INSERT:向表和视图中插入数据。(5)EXECUTE:执行类型、函数、包和过程。(6)READ:读取数据字典中的数据。(7)INDEX:生成索引。(8)PEFERENCES:生成外键。(9)ALTER:修改表、序列、同义词中的结构。
Oracle数据库教程(第3版•微课视频版)1511.3权限管理2.对象权限的授予语法格式:GRANT{<对象权限名>|ALL[PRIVILEGE][(<列名>[,…n])]}ON[用户方案名.]<对象权限名>TO{PUBLIC|<角色名>|<用户名>[,..n]}[WITHGRANTOPTION];其中,ALL关键字表示将全部权限授予该对象,ON关键字表用于指定被授予权限的对象,WITHGRANTOPTION选项表示被授予对象权限的用户可再将对象权限授予其他用户。【例11.7】授予用户Lee对student表的查询、添加、修改和删除数据的权限。代码和运行结果如下。SQL>GRANTSELECT,INSERT,UPDATE,DELETE2ONstudentTOLee;授权成功。
Oracle数据库教程(第3版•微课视频版)1611.3权限管理3.对象权限的收回语法格式:REVOKE{<对象权限名>|ALL[PRIVILEGE][(<列名>[,…n])]}ON[用户方案名.]<对象权限名>TO{PUBLIC|<角色名>|<用户名>[,..n]}[CASCADECONSTRAINTS];其中,CASCADECONSTRAINTS选项表示在收回对象权限时,同时删除使用REFERENCES对象权限定义的参照完整性约束。【例11.8】收回用户Lee对student表的查询、删除权限。代码和运行结果如下。SQL>REVOKESELECT,DELETE2ONstudentFROMLee;撤销成功。
Oracle数据库教程(第3版•微课视频版)1711.3权限管理11.3.4权限查询【例11.9】查询system用户的系统权限。代码和运行结果如下。SQL>SELECT*FROMUSER_SYS_PRIVS;USERNAMEPRIVILEGEADMCOMINH------------------------------------------------------------------------------------------------------SYSTEMCREATETABLE
NOYESYESSYSTEMSELECTANYTABLENOYESYESSYSTEMDEQUEUEANYQUEUEYESYESYESSYSTEMGLOBALQUERYREWRITENOYESYESSYSTEMENQUEUEANYQUEUEYESYESYESSYSTEMCREATEMATERIALIZEDVIEWNOYESYESSYSTEMUNLIMITEDTABLESPACENOYESYESSYSTEMMANAGEANYQUEUEYESYESYES已选择8行。
Oracle数据库教程(第3版•微课视频版)1811.4角色管理11.4.1角色概述角色是一组权限,可以授予用户和其它角色,也可以从用户和其它角色中收回。1.安全应用角色2.用户自定义角色3.数据库角色的权限4.角色和用户的安全域5.预定义角色
Oracle数据库教程(第3版•微课视频版)1911.4角色管理11.4.2创建角色语法格式:CREATEROLE<角色名>[NOTIDENTIFIED][IDENTIFIED{BY<密码>];【例11.10】创建一个角色Marketing1,不设置密码。代码和运行结果如下。SQL>CREATEROLEMarketing1;角色已创建。【例11.11】创建一个角色Marketing2,设置密码123456。代码和运行结果如下。SQL>CREATEROLEMarketing2IDENTIFIEDBY123456;角色已创建。
Oracle数据库教程(第3版•微课视频版)2011.4角色管理11.4.3修改角色语法格式:ALTERROLE<角色名>[NOTIDENTIFIED][IDENTIFIED{BY<密码>∣EXTERNALLY∣GLOBALLY}];【例11.12】修改角色Marketing2的密码为1234。代码和运行结果如下:SQL>ALTERROLEMarketing2IDENTIFIEDBY1234;角色已丢弃。
Oracle数据库教程(第3版•微课视频版)2111.4角色管理11.4.4授予角色权限和收回权限当角色被建立后,没有任何权限,可以使用GRANT语句给角色授予权限,同时可以使用REVOKE语句取消角色的权限。【例11.13】授予角色Marketing1在任何模式中创建表和视图的权限。代码和运行结果如下。SQL>GRANTCREATEANYTABLE,CREATEANYVIEWTOMarketing1;授权成功。【例11.14】取消角色Marketing1的创建视图的权限。代码和运行结果如下。SQL>REVOKECREATEANYVIEWFROMMarketing1;撤销成功。
Oracle数据库教程(第3版•微课视频版)2211.4角色管理11.4.5将角色授予用户语法格式:GRANT<角色名>[,…n]TO{<用户名>|<角色名>|PUBLIC}[WITHADMINOPTION];其中,WITHADMINOPTION选项表示用户可再将这些权限授予其他用户。【例11.15】将角色Marketing1授予用户Lee。代码和运行结果如下。SQL>GRANTMarketing1TOLee;授权成功。
Oracle数据库教程(第3版•微课视频版)2311.4角色管理11.4.6角色的启用和禁用语法格式:SETROLE{<角色名>[IDENTIFIEDBY<密码>][,…n]|ALL[EXCEPT<角色名>[,…n]]|NONE};其中,IDENTIFIEDBY子句用于为该角色指定密码,ALL选项表示将启用用户被授予的所有角色,EXCEPT子句表示启用除该子句指定的角色外的其它全部角色,NONE选项表示禁用所有角色。【例11.16】在当前会话中启用角色Marketing1。代码和运行结果如下。SQL>SETROLEMarketing1;角色集
Oracle数据库教程(第3版•微课视频版)2411.4角色管理11.4.7收回用户的角色语法格式:REVOKE<角色名>[,..n]FROM{<用户名>|<角色名>|PUBLIC}【例11.17】从用户Lee中收回角色Marketing1。代码和运行结果如下。SQL>REVOKEMarketing1FROMLee;撤销成功。
Oracle数据库教程(第3版•微课视频版)2511.4角色管理11.4.8删除角色语法格式:DROPROLE角色名;【例11.18】删除角色Marketing2代码和运行结果如下。SQL>DROPROLEMarketing2;角色已删除。
Oracle数据库教程(第3版•微课视频版)2611.4角色管理11.4.9查询角色信息【例11.19】查询角色Marketing1所具有的系统权限信息。代码和运行结果如下。SQL>SELECT*FROMROLE_SYS_PRIVSWHEREROLE='MARKETING1';ROLEPRIVILEGEADMCOMINH----------------------------------------------------------------------------------------------------MARKETING1CREATEANYTABLENONONO
Oracle数据库教程(第3版•微课视频版)2711.5概要文件11.5.1概要文件中的参数1.资源限制参数2.口令管理参数
11.5.2创建概要文件语法格式:CREATEPROFILE<概要文件名>LIMIT<资源限制参数>∣<口令管理参数>【例11.20】创建一个res_profile概要文件,如果用户连续3次登录失败,则锁定该用户,15天后该用户自动解锁。代码和运行结果如下。SQL>CREATEPROFILEres_profileLIMIT2FAILED_LOGIN_ATTEMPTS33PASSWORD_LOCK_TIME15;配置文件已创建
Oracle数据库教程(第3版•微课视频版)2811.5概要文件11.5.3管理概要文件1.分配概要文件(1)创建用户时分配概要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高血压并发症的危害与早期筛查
- 抵制不良行为培养文明素养小学一年级主题班会课件
- IT安全部门企业网络攻击事情紧急响应预案
- 高三加油鼓励自己的话【五篇】
- 高中一年级数学《空间点、直线、平面之间的位置关系》教案
- ML365通过抑制NLRP3炎症小体激活改善老龄小鼠POCD的机制研究
- 石景山区社区养老服务设施空间分布均衡性研究
- 基于多组学数据的癌症分型方法评估及平台研发
- 基于多源数据协同的时空连续XCH4产品生成方法研究
- 内蒙古呼和浩特市2026注册营养师考试专业知识题库及答案
- 《电工电子(第二版)》课后部分答案 杨润贤
- 水电技术交底记录
- 《知行合一投资赢家》培训心得
- 《城市经济学》各章-练习题及参考答案
- 高新技术产业开发区洪水影响区域评估报告
- 2023届北京市海淀区第二十中高三第一次调研测试英语试卷含解析
- GB/T 28804-2012无铜镀银玻璃镜
- 精品课程《人文地理学》完整版
- 护理人员职业道德教育课件
- 三、卫生行政处罚程序课件
- 住建部施工临时用电安全管理培训
评论
0/150
提交评论