oracle-用户管理8611.pptx

上传人:jix****n11 文档编号:77251664 上传时间:2023-03-13 格式:PPTX 页数:58 大小:140.97KB
返回 下载 相关 举报
oracle-用户管理8611.pptx_第1页
第1页 / 共58页
oracle-用户管理8611.pptx_第2页
第2页 / 共58页
点击查看更多>>
资源描述

《oracle-用户管理8611.pptx》由会员分享,可在线阅读,更多相关《oracle-用户管理8611.pptx(58页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Byliqiang2011年02月Oracle数据库项目应用开发用户管理用户管理Oracle数据库项目应用开发教学目标理解Oracle数据库的用户和角色管理机制理解Oracle数据库用户的两种认证方式Oracle数据库项目应用开发工作任务用户和角色创建、修改和授权Oracle数据库项目应用开发 概要文件概要文件功能:功能:对数据库用户进行基本的资源限制,保证系统正对数据库用户进行基本的资源限制,保证系统正常运行,防止用户消耗大量资源造成的系统性能常运行,防止用户消耗大量资源造成的系统性能下降;对用户口令进行管理。下降;对用户口令进行管理。方法:将数据库用户分为几类,为每类用户创建方法:将数据库

2、用户分为几类,为每类用户创建概要文件,并且一个数据库用户只能指定一个概概要文件,并且一个数据库用户只能指定一个概要文件,但是一个概要文件可以为多个用户所用。要文件,但是一个概要文件可以为多个用户所用。设置预定义资源参数。设置预定义资源参数。这些参数包含在概要文件中,如果没有为用户指这些参数包含在概要文件中,如果没有为用户指定概要文件,则使用定概要文件,则使用DefaultDefault概要文件概要文件Oracle数据库项目应用开发 概要文件概要文件(续续)概要文件控制资源内容:概要文件控制资源内容:每个用户当前的会话数每个用户当前的会话数CPUCPU使用的时间使用的时间私有的私有的SQLSQL

3、和和PL/SQLPL/SQL区使用区使用逻辑读取的实现逻辑读取的实现用户连接到数据库的空闲时间用户连接到数据库的空闲时间注意:注意:resource_limit=TRUEresource_limit=TRUE时,启动资源限时,启动资源限制。制。Oracle数据库项目应用开发 概要文件概要文件(续续)常用资源限制参数:常用资源限制参数:SESSIONS_PER_USERSESSIONS_PER_USER:限制用户最大并发会话数目限制用户最大并发会话数目CPU_PER_SESSIONCPU_PER_SESSION:限制每个会话占用的最大限制每个会话占用的最大CPUCPU时时间间CPU_PER_CA

4、LLCPU_PER_CALL:限制一个:限制一个SQLSQL语句使用的语句使用的CPUCPU时间时间LOGICAL_READS_PER_SESSIONLOGICAL_READS_PER_SESSION:限制每个会话读取:限制每个会话读取的数据库数据块数,包括从内存和磁盘读取的总和的数据库数据块数,包括从内存和磁盘读取的总和LOGICAL_READS_PER_CALLLOGICAL_READS_PER_CALL:限制:限制SQLSQL语句读取的数语句读取的数据库数据块数,包括从内存和磁盘读取的总和据库数据块数,包括从内存和磁盘读取的总和PRIVATE_SGAPRIVATE_SGA:SGASGA中

5、私有区域的大小中私有区域的大小Oracle数据库项目应用开发 概要文件概要文件(续续)CONNECT_TIMECONNECT_TIME:指定每个会话连接到数据库:指定每个会话连接到数据库的最大时间的最大时间IDLE_TIMEDEFAULTIDLE_TIMEDEFAULT:指定一个会话可以连续:指定一个会话可以连续空闲的最长时间,单位:分钟空闲的最长时间,单位:分钟COMPOSITE_LIMITCOMPOSITE_LIMIT:设置用户对系统资源的综:设置用户对系统资源的综合消耗。由:合消耗。由:CPU_PER_SESSIONCPU_PER_SESSION、LOGICAL_READS_PER_SE

6、SSIONLOGICAL_READS_PER_SESSION、PRIVATE_SGAPRIVATE_SGA、CONNECT_TIMECONNECT_TIME综合决定综合决定Oracle数据库项目应用开发 概要文件概要文件(续续)FAILED_LOGIN_ATTEMPTSFAILED_LOGIN_ATTEMPTS:最大错误登录次数最大错误登录次数PASSWORD_LOCK_TIMEPASSWORD_LOCK_TIME:登录失败后账户被锁天数登录失败后账户被锁天数PASSWORD_LIFE_TIMEPASSWORD_LIFE_TIME:密码有效天数密码有效天数PASSWORD_GRACE_TIME

7、PASSWORD_GRACE_TIME:用户密码被中止前多少:用户密码被中止前多少天提醒用户修改密码天提醒用户修改密码PASSWORD_REUSE_TIMEPASSWORD_REUSE_TIME:用户修改密码后多少天,:用户修改密码后多少天,用户才可以再次使用原来的密码用户才可以再次使用原来的密码PASSWORD_REUSE_MAXPASSWORD_REUSE_MAX:密码被重新使用后,可修:密码被重新使用后,可修改的次数改的次数PASSWORD_VERIFY_FUNCTIONPASSWORD_VERIFY_FUNCTION:密码复杂度审计:密码复杂度审计函数函数Oracle数据库项目应用开发

8、 概要文件概要文件(续续)创建概要文件创建概要文件CREATEPROFILECREATEPROFILETEMPPROFILETEMPPROFILE LIMITCPU_PER_SESSIONLIMITCPU_PER_SESSION 10001000 CPU_PER_CALLCPU_PER_CALL 10001000CONNECT_TIMECONNECT_TIME 3030IDLE_TIMEIDLE_TIME DEFAULTDEFAULTSESSIONS_PER_USERSESSIONS_PER_USER 1010LOGICAL_READS_PER_SESSIONLOGICAL_READS_PER

9、_SESSION 10001000LOGICAL_READS_PER_CALLLOGICAL_READS_PER_CALL 10001000PRIVATE_SGAPRIVATE_SGA 16K16KCOMPOSITE_LIMITCOMPOSITE_LIMIT 10000001000000FAILED_LOGIN_ATTEMPTSFAILED_LOGIN_ATTEMPTS 3 3PASSWORD_LOCK_TIMEPASSWORD_LOCK_TIME 5 5PASSWORD_GRACE_TIMEPASSWORD_GRACE_TIME 6060PASSWORD_LIFE_TIMEPASSWORD_

10、LIFE_TIME 3030PASSWORD_REUSE_MAXPASSWORD_REUSE_MAX DEFAULTDEFAULT PASSWORD_REUSE_TIMEPASSWORD_REUSE_TIME3030PASSWORD_VERIFY_FUNCTIONPASSWORD_VERIFY_FUNCTIONDEFAULTDEFAULTOracle数据库项目应用开发用户管理用户管理 在Oracle数据库中,系统通过安全措施防止非法用户对数据库进行操作。因此,要连接到Oracle,就需要一个用户帐号在安装数据库时,Oracle将创建一些默认的数据库用户模式Oracle数据库项目应用开发默认的数

11、据库用户默认的数据库用户 SYSSYS用户是用户是OracleOracle中的一个超级用户。数据库中所有的中的一个超级用户。数据库中所有的数据字典和视图都存储在数据字典和视图都存储在SYSSYS模式中模式中。SYSSYS用户主要用用户主要用来维护系统信息和管理实例,来维护系统信息和管理实例,SYSSYS用户只能以用户只能以SYSOPERSYSOPER或或SYSDBASYSDBA角色登陆。角色登陆。SYSTEMSYSTEM用户是用户是OracleOracle默认的系统管理员,它拥有默认的系统管理员,它拥有DBADBA权限。该用户拥有权限。该用户拥有OracleOracle管理工具使用的内部表和视

12、图。管理工具使用的内部表和视图。通常通过通常通过SYSTEMSYSTEM用户管理用户管理OracleOracle数据库的用户、权限数据库的用户、权限和存储等。不建议在和存储等。不建议在SYSTEMSYSTEM用户模式中创建用户表。用户模式中创建用户表。SCOTTSCOTT用户是用户是OracleOracle数据库的一个示范用户。如果安装数据库的一个示范用户。如果安装时不更改其口令,其默认口令是时不更改其口令,其默认口令是TIGERTIGER。Oracle数据库项目应用开发创建新用户创建新用户 在在OracleOracle中可以用中可以用CREATEUSERCREATEUSER命令用于创建命令用

13、于创建新用户。每个用户都有一个默认表空间和一个临新用户。每个用户都有一个默认表空间和一个临时表空间,在创建时可以为它们指定,如果不指时表空间,在创建时可以为它们指定,如果不指定,定,OracleOracle就把就把SYSTEMSYSTEM设为默认表空间,设为默认表空间,TEMPTEMP设为临时表空间。设为临时表空间。创建新用户的语法如下:创建新用户的语法如下:CREATEUSERuser_nameIDENTIFIEDBYCREATEUSERuser_nameIDENTIFIEDBYpasswordpasswordDEFAULTTABLESPACEtablespace_name1DEFAULTT

14、ABLESPACEtablespace_name1TEMPORARYTABLESPACEtablespace_name2TEMPORARYTABLESPACEtablespace_name2Oracle数据库项目应用开发Oracle中的用户管理中的用户管理Oracle中的用户管理包括创建用户、为用户授权、修改用户口令、删除用户等。1.以DBA身份登录到SQL*Plus的SQL提示符状态,输入以下的命令创建新用户:CREATEUSERuser1CREATEUSERuser1IDENTIFIEDBYpwd1IDENTIFIEDBYpwd1DEFAULTTABLESPACEUSERSDEFAULTT

15、ABLESPACEUSERSTEMPORARYTABLESPACETEMP;TEMPORARYTABLESPACETEMP;Oracle数据库项目应用开发Oracle中的用户管理中的用户管理2.按回车后系统提示“用户已创建”,表明创建用户成功。该用户的用户名是“user1”,口令是“pwd1”,默认表空间是“USERS”,临时表空间是“TEMP”。3.下面为用户授权:在SQL提示符下,输入以下命令,为用户user1授予CONNECT权限:GRANTCONNECTTOuser1;GRANTCONNECTTOuser1;Oracle数据库项目应用开发Oracle中的用户管理中的用户管理4.在SQL

16、提示符下输入“CONNSCOTT/TIGER”,以SCOTT用户身份登录后,继续输入下面的授权命令,为用户user1授予查看表dept的权限,user1同时还拥有了把此查看权限授予其他用户的权限:GRANTSELECTONempTOuser1WITHGRANTSELECTONempTOuser1WITHGRANTOPTION;GRANTOPTION;Oracle数据库项目应用开发Oracle中的用户管理中的用户管理5.5.再输入再输入“CONN/ASSYSDBA”CONN/ASSYSDBA”命令以命令以DBADBA身份身份登录后,在登录后,在SQLSQL提示符下输入以下命令,提示符下输入以下命

17、令,修改用修改用户口令户口令:ALTERUSERuser1IDENTIFIEDBYpwd2;ALTERUSERuser1IDENTIFIEDBYpwd2;6.6.系统提示系统提示“用户已更改用户已更改”,表明口令修改成,表明口令修改成功。在功。在SQLSQL提示符下输入下面的命令来提示符下输入下面的命令来删除用户删除用户user1user1。DROPUSERuser1CASCADE;DROPUSERuser1CASCADE;7.7.系统提示系统提示“用户已删除用户已删除”,表明删除成功。,表明删除成功。Oracle数据库项目应用开发修改用户口令修改用户口令 Oracle中用ALTERUSER命

18、令修改用户口令,语法如下:ALTERUSERuser_nameIDENTIFIEDBYnew_password;Oracle数据库项目应用开发实践实践-创建并使用用户创建并使用用户 1.1.创建一个创建一个20M20M大小的表空间,以后用户创建的大小的表空间,以后用户创建的数据库对象保存在这个表空间中,在数据库对象保存在这个表空间中,在SQLSQL提示符提示符下,输入如下代码:下,输入如下代码:CREATETABLESPACEstudent_dataCREATETABLESPACEstudent_dataDATAFILEDATAFILEF:oracleoradataorclstudent_da

19、taSIZE20MF:oracleoradataorclstudent_dataSIZE20MAUTOEXTENDOFF;AUTOEXTENDOFF;说明:路径可以随意设置,建议说明:路径可以随意设置,建议AUTOEXTENTDAUTOEXTENTD属性为属性为OFFOFF。Oracle数据库项目应用开发 创建用户创建用户语法:(简单方式)createusermary-用户名identifiedbyabc;-密码说明:以上为创建用户的必须语句默认和临时表空间均为systemOracle数据库项目应用开发实践实践-创建并使用用户创建并使用用户2.创建用户,在SQL提示符下输入如下代码:CREAT

20、EUSERstudentICREATEUSERstudentIDENTIFIEDBYabcdefDENTIFIEDBYabcdefDEFAULTTABLESPACEstudent_dataDEFAULTTABLESPACEstudent_dataTEMPORARYTABLESPACETEMP;TEMPORARYTABLESPACETEMP;Oracle数据库项目应用开发实践实践-创建并使用用户创建并使用用户给student用户赋予相应的权限,一般是将两个角色(CONNECT,RESOURCE)赋给此用户即可。作为一般的开发用户,权限已经足够。在SQL提示符下输入如下代码:GRANTCONNEC

21、TGRANTCONNECT,RESOURCETORESOURCETOstudent;student;按回车键,系统提示“授权成功”。Oracle数据库项目应用开发用户相关理论知识用户相关理论知识用户基本属性:(1)认证方式:每个用户连接数据库都要进行身份验证,可通过操作系统或数据库进行验证。(2)默认表空间和临时表空间:(3)空间配额:用户能够在表空间中使用的存储空间称之。用户必须在默认表空间和临时表空间中有足够的空间配额。(4)概要文件:用户必须拥有一个概要文件,如果没有指定,默认为default文件。Oracle数据库项目应用开发用户相关理论知识用户相关理论知识创建用户时必须指定用户的认证

22、方式(数据库验证or操作系统验证)。一般采用数据库认证方式,数据库验证更安全,必须通过identitiedby字句为用户指定一个口令,口令以加密方式保存在数据库中;如果使用操作系统验证,则通过identitiedexternally字句。Oracle数据库项目应用开发相关理论知识相关理论知识口令命名规则:不能以数字开头Oracle11g之前口令不区分大小写,之后区分Oracle数据库项目应用开发实践实践两种用户认证方式两种用户认证方式 忘记忘记SYSSYS的用户名,也可以登录数据库。在的用户名,也可以登录数据库。在DOSDOS命令下输入如下代码,进入到命令下输入如下代码,进入到SQLSQL提示

23、符提示符下,输入代码:下,输入代码:Sqlplus/nologSqlplus/nolog回车后系统进入回车后系统进入SQLSQL提示符下。提示符下。然后接着输入如下命令使用然后接着输入如下命令使用SYSSYS用户连接到数据用户连接到数据库:库:CONNSYS/ASSYSDBA;CONNSYS/ASSYSDBA;系统提示输入系统提示输入“请输入口令请输入口令:”:”,直接回车,系统,直接回车,系统提示提示“已连接已连接”。Oracle数据库项目应用开发实践实践两种用户认证方式两种用户认证方式没有输入密码也可以登录系统,这对系统的安全性带来了问题。能不能通过修改设置要求必须输入密码才能登录呢?修改

24、%oracle_home%/network/admin/sqlnet.ora文件中的设置。将数据的登录模式从OS认证修改为了密码文件认证。Oracle数据库项目应用开发实践实践管理用户管理用户修改用户管理员可以修改用户口令、改变用户默认表空间或限制管理员可以修改用户口令、改变用户默认表空间或限制用户使用权限、对用户进行解锁、锁定等操作。用户使用权限、对用户进行解锁、锁定等操作。语法:Alteruserusernameidentifyedbynewpassword;使用sql*plus命令修改:passwordOracle数据库项目应用开发实践实践管理用户管理用户修改用户默认表空间oracle自

25、动默认表空间为自动默认表空间为systemsystem。语法:Alteruserusernamedefaulttablespace新表空间;修改用户在表空间上的配额Alteruserusernamequota80mon表空间名;(将表空间配额调整为80MB)Oracle数据库项目应用开发管理用户管理用户解除用户锁:在概要文件中设置了用户密码输入多次后将被锁定,当在概要文件中设置了用户密码输入多次后将被锁定,当错误密码连续输入次数达到指定最大次数后将锁定用户,错误密码连续输入次数达到指定最大次数后将锁定用户,即使之后输入正确口令也不能连接,此时只能登录管理即使之后输入正确口令也不能连接,此时只能

26、登录管理员账户进行解锁员账户进行解锁。语法:Alteruserusernameaccountunlock;锁定用户:Alteruserusernameaccountlock;Oracle数据库项目应用开发删除用户删除用户删除用户:Dropuserusernamecascade;cascade:将数据库对象一起删除。删除拥有对象的用户:Dropuseranniecascade;注意:如果要删除用户正在连接数据库,不能将其删除Oracle数据库项目应用开发查询用户查询用户视图ALL_Users查看所有用户名、用户ID、用户创建日期视图User_Users查看当前用户信息Oracle数据库项目应用开

27、发角角 色色定义:角色是一个或多个权限的集合定义:角色是一个或多个权限的集合功能:简化权限管理功能:简化权限管理复杂大型应用系统要根据功能进行分类。如网上购复杂大型应用系统要根据功能进行分类。如网上购物系统分为物系统分为:系统管理、基础数据管理、采购管理、系统管理、基础数据管理、采购管理、销售管理及终端用户。可创建销售管理及终端用户。可创建5 5个角色。根据岗位将个角色。根据岗位将相应的角色授予用户,用户便具有相应角色具有的相应的角色授予用户,用户便具有相应角色具有的权限。如果系统规模不大,用户数不多,可直接将权限。如果系统规模不大,用户数不多,可直接将权限授予用户。权限授予用户。Oracle

28、数据库项目应用开发角色角色 创建角色:创建角色:CreateroleCreaterole rolenamerolename;为角色授权:为角色授权:grantgrant createsessioncreatesession toto rolenamerolename;授予连接;授予连接DBDB权限权限grantgrant selectonclassselectonclass toto rolenamerolename;授予表查询权限;授予表查询权限 回收角色权限回收角色权限revokerevoke selectonclassselectonclass fromfrom r_r_ teachte

29、ach;将角色授予用户将角色授予用户GrantGrant 角色名角色名 toto 用户名;用户名;Oracle数据库项目应用开发角色角色(续续)从用户回收角色从用户回收角色RevokeRevoke annieannie fromfrom r_teachr_teach将角色授予角色将角色授予角色GrantGrant r_teachr_teach toto r_stuwithadminoptionr_stuwithadminoption从角色回收角色从角色回收角色RevokeRevoke r_teachr_teach fromfromr_stur_stu删除角色删除角色droproledropro

30、le 角色名角色名;Oracle数据库项目应用开发角色角色(续续)授予系统权限时的授予系统权限时的withadminoptionwithadminoption选项与授予选项与授予对象权限时的对象权限时的withgrantoptionwithgrantoption选项区别:选项区别:都可将权限授予其他用户,但经都可将权限授予其他用户,但经withadminwithadminoptionoption授权的不能级联收回,第二个能级联收回。授权的不能级联收回,第二个能级联收回。Oracle数据库项目应用开发角色角色(续续)数据库预定义角色数据库预定义角色:Connect(Connect(登录执行基本函

31、数登录执行基本函数)、ResourceResource(建立用户自己的数据对象)、(建立用户自己的数据对象)、DBADBA(所有系统权限,包括无限的空间限额、给(所有系统权限,包括无限的空间限额、给其他用户授予全部权限的能力)其他用户授予全部权限的能力)Select_CATALOG_ROLESelect_CATALOG_ROLE、Execute_CATALOG_ROLEExecute_CATALOG_ROLE、Delete_CATALOG_ROLEDelete_CATALOG_ROLE、Exp_Full_DatabaseExp_Full_Database、IMP_FULL_DataBaseSY

32、SDBAIMP_FULL_DataBaseSYSDBA、SYSOPERSYSOPEROracle数据库项目应用开发角色角色(续续)激活激活/屏蔽角色:屏蔽角色:设置默认角色的设置默认角色的4 4种方式:种方式:1)1)AlterUserAnnieDefaultRoleAlterUserAnnieDefaultRole r_Teachr_Teach2)2)AlterUserAnnieDefaultRoleAlterUserAnnieDefaultRole AllAll3)3)AlterUserAnnieDefaultRoleAlterUserAnnieDefaultRole AllExceptA

33、llExceptRoler_StuRoler_Stu4)4)AlterUserAnnieDefaultRoleAlterUserAnnieDefaultRole NoneNoneOracle数据库项目应用开发角色角色(续续)查询角色信息视图DBA_Roles:角色信息视图Role_role_privs:角色与传递权限信息视图Role_SYS_privs:角色系统权限视图Role_tab_privs:角色对象权限Oracle数据库项目应用开发角色角色(续续)删除角色DropRoler_teachOracle数据库项目应用开发实践实践创建并使用角色创建并使用角色 1.使用具有DBA权限的用户登录数

34、据库,使用如下语句创建一个角色:createroledeveloper_role;createroledeveloper_role;2.将权限授权给角色GRANTCREATESYNONYM,GRANTCREATESYNONYM,CREATEVIEWCREATEVIEWtodeveloper_role;todeveloper_role;将创建同义词和视图的角色授权给将创建同义词和视图的角色授权给developer_roledeveloper_role角角色。色。Oracle数据库项目应用开发实践实践创建并使用角色创建并使用角色3.也可以将角色授权给某个角色GRANTRESOURCE,CONNEC

35、TTOGRANTRESOURCE,CONNECTTOdeveloper_role;developer_role;按回车键,系统提示按回车键,系统提示“授权成功授权成功”。这样就将这样就将RESOURCE,CONNECTRESOURCE,CONNECT两个角色具有两个角色具有的权限授权给了的权限授权给了developer_roledeveloper_role角色。角色。4.将角色授权给用户:GRANTdeveloper_roleTOSCOTT;GRANTdeveloper_roleTOSCOTT;按回车键,系统提示按回车键,系统提示“授权成功授权成功”。这样这样SCOTTSCOTT用户就拥有了用

36、户就拥有了developer_roledeveloper_role角色。角色。Oracle数据库项目应用开发权限权限定义:控制用户在数据库中所能进行的操作权限分类:系统权限和对象权限权限分类:系统权限和对象权限对象权限对象权限(objectsPrivilegeobjectsPrivilege):):赋予在某一具体数赋予在某一具体数据对象的操作能力据对象的操作能力 1)91)9种对象权限:种对象权限:SelectSelect、UpdateUpdate、DeleteDelete、InsertInsert、ExecuteExecute、IndexIndex、referencereference、Al

37、terAlter、ReadRead 2)2)对象权限传递对象权限传递权限权限:WithGrantOptionWithGrantOption被授予被授予WithGrantOptionWithGrantOption对象权限的用户,可将对象权限的用户,可将该对象权限授予其他用户该对象权限授予其他用户Oracle数据库项目应用开发权限权限(续续)3)3)谁有权授予对象权限给其他人?谁有权授予对象权限给其他人?vv对象的所有者对象的所有者vvDBADBAvv被授予被授予WithgrantoptionWithgrantoption的用户的用户4)4)权限可以授予给谁?权限可以授予给谁?v 其它用户其它用户

38、v 角色角色v PublicPublicOracle数据库项目应用开发系统权限系统权限系统权限系统权限(systemPrivilegesystemPrivilege):在数据库级别执行:在数据库级别执行某种操作或者针对某一类模式或非模式对象执行某种操作或者针对某一类模式或非模式对象执行某种操作的权利。某种操作的权利。几点补充:几点补充:连接到数据库需要连接到数据库需要createsessioncreatesession权限权限 删除其他用户的删除其他用户的TableTable需要需要dropanytabledropanytable权限权限 SelectSelect、insertinsert、u

39、pdateupdate、deletedelete是对象权限,而是对象权限,而SelectSelectanyany、insertinsert anyany、updateupdate anyany、deletedelete anyany是是系统权限系统权限 使用使用 WithadminoptionWithadminoption 进行系统权限传递进行系统权限传递Oracle数据库项目应用开发权限权限授予权限的方法:1)直接授予用户:grantcreatesessiontoannie;2)先将权限授予角色,再将角色授予用户:Createroleteach;grantselectonclasstotea

40、ch;grantteachtoannie;Oracle数据库项目应用开发系统权限系统权限(续续)系统权限授权语法:Grant系统权限to用户/角色withadminoption;例子:grantselectanytoannie;grantselectanytoanniewithadminoption;Oracle数据库项目应用开发权限回收权限回收授予的对象权限和系统权限可以通过Revoke语句收回例子:revokeselectanyfromannie;-回收系统权限revokeselectonclassfromannie;-回收对象权限Oracle数据库项目应用开发权限回收权限回收(续续)注意

41、:注意:一个用户被多用户授予权限后,其中一个用户收回权限,一个用户被多用户授予权限后,其中一个用户收回权限,不影响其他用户授予的权限不影响其他用户授予的权限 收回收回WithgrantoptionWithgrantoption 或或 WithadminoptionWithadminoption,要首先回收,要首先回收相应的权限,再重新授予该权限而不再授予相应的权限,再重新授予该权限而不再授予WithgrantWithgrantoptionoption 或或 WithadminoptionWithadminoption 传递权限传递权限WithadminoptionWithadminoption

42、给其他用后,如果此系统权限给其他用后,如果此系统权限被回收,其他用户仍然拥有该系统权限被回收,其他用户仍然拥有该系统权限 传递权限传递权限WithgrantoptionWithgrantoption给其他用后,如果此对象权限给其他用后,如果此对象权限被回收,其他用户该对象权限也被收回被回收,其他用户该对象权限也被收回Oracle数据库项目应用开发技能拓展技能拓展权限查询权限查询视图dba_SYS_Privs:系统权限视图dba_TAB_Privs:对象权限视图dba_col_Privs:列权限视图dba_users:数据库用户信息视图dba_roles:数据库角色信息视图dba_roles_P

43、rivs:用户所具有角色Oracle数据库项目应用开发查看一个角色的系统权限:查看一个角色的系统权限:Select*fromdba_SYS_Privswheregrantee=Select*fromdba_SYS_Privswheregrantee=角色名角色名;或或 Select*fromdba_SYS_Privswhererole=Select*fromdba_SYS_Privswhererole=角角色名色名;查看预定义角色:查看预定义角色:select*fromdba_roles;select*fromdba_roles;查看用户角色:查看用户角色:Select*fromdba_rol

44、e_Privswheregrantee=Select*fromdba_role_Privswheregrantee=用户名用户名;注意:所用用户名和角色名都大写。注意:所用用户名和角色名都大写。技能拓展技能拓展权限查询权限查询Oracle数据库项目应用开发总结总结Oracle数据库系统的用户和角色管理Oracle对SYSDBA的认证方式有两种:操作系统认证和密码文件认证。Oracle数据库项目应用开发用户管理用户管理 Oracle是多用户系统,它允许多用户共享系统资源。为了保证数据库系统的安全,数据库管理系统配置了良好的安全机制。其中很关键的一种机制就是:建立用户级的安全保证。Oracle数据

45、库项目应用开发用户管理用户管理OracleOracle的用户根据所被授予的权限分为系统权限和对的用户根据所被授予的权限分为系统权限和对象权限,系统权限经常被包含在角色中授予,新建一象权限,系统权限经常被包含在角色中授予,新建一个用户时,首先要赋予个用户时,首先要赋予CONNECTCONNECT角色,角色,CONNECTCONNECT角色中包含了角色中包含了CREATESESSIONCREATESESSION等等8 8个系统权限,个系统权限,拥有拥有CREATESESSIONCREATESESSION权限是连接数据库的必要条权限是连接数据库的必要条件,如果想用件,如果想用EnterpriseMa

46、nagerconsoleEnterpriseManagerconsole连接的话,连接的话,还必须拥有还必须拥有SELECTANYDICTIONARYSELECTANYDICTIONARY权限。权限。如果是开发人员,一般还要授予如果是开发人员,一般还要授予RESOURCERESOURCE角色,角色,此角色包含了开发人员所需要的基本权限。比如此角色包含了开发人员所需要的基本权限。比如CREATEPROCEDURECREATEPROCEDURE、CREATESEQUENCECREATESEQUENCE、CREATETABLECREATETABLE、CREATETRIGGERCREATETRIGGE

47、R等。等。Oracle数据库项目应用开发用户管理用户管理在所有权限中,最高的权限是在所有权限中,最高的权限是SYSDBASYSDBA。SYSDBASYSDBA具有控制具有控制OracleOracle一切行为的特权,诸如一切行为的特权,诸如创建、启动、关闭、恢复数据库,使数据库归档创建、启动、关闭、恢复数据库,使数据库归档/非归档,备份表空间等关键性的动作只能通过非归档,备份表空间等关键性的动作只能通过具有具有SYSDBASYSDBA权限的用户来执行。这些任务即使权限的用户来执行。这些任务即使是普通是普通DBADBA角色也不行。角色也不行。SYSOPERSYSOPER比比SYSDBASYSDBA

48、少了少了SYSOPERSYSOPERPRIVILEGESWITHADMINOPTIONPRIVILEGESWITHADMINOPTION,CREATEDATABASECREATEDATABASE,RECOVERDATABASERECOVERDATABASEUNTILUNTIL这几个权限而已。这两者的认证方式是相这几个权限而已。这两者的认证方式是相同的办法,所以下面只介绍同的办法,所以下面只介绍SYSDBASYSDBA的认证管理。的认证管理。Oracle数据库项目应用开发安全认证安全认证对对于于用用户户的的身身份份验验证证有有三三种种方方式式:密密码码验验证证、外外部验证(操作系统验证)、全局验

49、证。部验证(操作系统验证)、全局验证。密密码码验验证证是是最最常常见见的的一一种种方方式式,即即将将用用户户信信息息码码存储在数据目录里。存储在数据目录里。对对SYSDBASYSDBA的的认认证证方方式式有有两两种种:操操作作系系统统认认证证和和密密码码文文件件认认证证。具具体体选选择择那那一一种种认认证证方方式式取取决决于于:你你是是想想在在OracleOracle运运行行的的机机器器上上维维护护数数据据库库,还还是是在在一一台台机机器器上上管管理理分分布布于于不不同同机机器器上上的的所所有有的的OracleOracle数数据据库库。若若选选择择在在本本机机维维护护数数据据库库,则则选选择择

50、操操作作系系统统认认证证可可能能是是一一个个简简单单易易行行的的办办法法;若若有有好好多多数数据据库库,想想进进行行集集中中管管理理,则则可可以以选选择择passwordpassword文件认证方式。文件认证方式。Oracle数据库项目应用开发角色管理角色管理 在创建用户和给用户授权的过程中,会发现一个在创建用户和给用户授权的过程中,会发现一个问题:如果有一组人,他们的所需的权限是一样问题:如果有一组人,他们的所需的权限是一样的,当对他们的权限进行管理的时候会很不方便。的,当对他们的权限进行管理的时候会很不方便。因为你要对这组中的每个用户的权限都进行管理。因为你要对这组中的每个用户的权限都进行

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁