您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > oracle-用户管理
Byliqiang2011年02月Oracle数据库项目应用开发用户管理Oracle数据库项目应用开发教学目标理解Oracle数据库的用户和角色管理机制理解Oracle数据库用户的两种认证方式Oracle数据库项目应用开发工作任务用户和角色创建、修改和授权Oracle数据库项目应用开发概要文件功能:对数据库用户进行基本的资源限制,保证系统正常运行,防止用户消耗大量资源造成的系统性能下降;对用户口令进行管理。方法:将数据库用户分为几类,为每类用户创建概要文件,并且一个数据库用户只能指定一个概要文件,但是一个概要文件可以为多个用户所用。设置预定义资源参数。这些参数包含在概要文件中,如果没有为用户指定概要文件,则使用Default概要文件Oracle数据库项目应用开发概要文件(续)概要文件控制资源内容:每个用户当前的会话数CPU使用的时间私有的SQL和PL/SQL区使用逻辑读取的实现用户连接到数据库的空闲时间注意:resource_limit=TRUE时,启动资源限制。Oracle数据库项目应用开发概要文件(续)常用资源限制参数:SESSIONS_PER_USER:限制用户最大并发会话数目CPU_PER_SESSION:限制每个会话占用的最大CPU时间CPU_PER_CALL:限制一个SQL语句使用的CPU时间LOGICAL_READS_PER_SESSION:限制每个会话读取的数据库数据块数,包括从内存和磁盘读取的总和LOGICAL_READS_PER_CALL:限制SQL语句读取的数据库数据块数,包括从内存和磁盘读取的总和PRIVATE_SGA:SGA中私有区域的大小Oracle数据库项目应用开发概要文件(续)CONNECT_TIME:指定每个会话连接到数据库的最大时间IDLE_TIMEDEFAULT:指定一个会话可以连续空闲的最长时间,单位:分钟COMPOSITE_LIMIT:设置用户对系统资源的综合消耗。由:CPU_PER_SESSION、LOGICAL_READS_PER_SESSION、PRIVATE_SGA、CONNECT_TIME综合决定Oracle数据库项目应用开发概要文件(续)FAILED_LOGIN_ATTEMPTS:最大错误登录次数PASSWORD_LOCK_TIME:登录失败后账户被锁天数PASSWORD_LIFE_TIME:密码有效天数PASSWORD_GRACE_TIME:用户密码被中止前多少天提醒用户修改密码PASSWORD_REUSE_TIME:用户修改密码后多少天,用户才可以再次使用原来的密码PASSWORD_REUSE_MAX:密码被重新使用后,可修改的次数PASSWORD_VERIFY_FUNCTION:密码复杂度审计函数Oracle数据库项目应用开发概要文件(续)创建概要文件CREATEPROFILETEMPPROFILELIMITCPU_PER_SESSION1000CPU_PER_CALL1000CONNECT_TIME30IDLE_TIMEDEFAULTSESSIONS_PER_USER10LOGICAL_READS_PER_SESSION1000LOGICAL_READS_PER_CALL1000PRIVATE_SGA16KCOMPOSITE_LIMIT1000000FAILED_LOGIN_ATTEMPTS3PASSWORD_LOCK_TIME5PASSWORD_GRACE_TIME60PASSWORD_LIFE_TIME30PASSWORD_REUSE_MAXDEFAULTPASSWORD_REUSE_TIME30PASSWORD_VERIFY_FUNCTIONDEFAULTOracle数据库项目应用开发用户管理在Oracle数据库中,系统通过安全措施防止非法用户对数据库进行操作。因此,要连接到Oracle,就需要一个用户帐号在安装数据库时,Oracle将创建一些默认的数据库用户模式Oracle数据库项目应用开发默认的数据库用户SYS用户是Oracle中的一个超级用户。数据库中所有的数据字典和视图都存储在SYS模式中。SYS用户主要用来维护系统信息和管理实例,SYS用户只能以SYSOPER或SYSDBA角色登陆。SYSTEM用户是Oracle默认的系统管理员,它拥有DBA权限。该用户拥有Oracle管理工具使用的内部表和视图。通常通过SYSTEM用户管理Oracle数据库的用户、权限和存储等。不建议在SYSTEM用户模式中创建用户表。SCOTT用户是Oracle数据库的一个示范用户。如果安装时不更改其口令,其默认口令是TIGER。Oracle数据库项目应用开发创建新用户在Oracle中可以用CREATEUSER命令用于创建新用户。每个用户都有一个默认表空间和一个临时表空间,在创建时可以为它们指定,如果不指定,Oracle就把SYSTEM设为默认表空间,TEMP设为临时表空间。创建新用户的语法如下:CREATEUSERuser_nameIDENTIFIEDBYpassword[DEFAULTTABLESPACEtablespace_name1][TEMPORARYTABLESPACEtablespace_name2]Oracle数据库项目应用开发Oracle中的用户管理Oracle中的用户管理包括创建用户、为用户授权、修改用户口令、删除用户等。1.以DBA身份登录到SQL*Plus的SQL提示符状态,输入以下的命令创建新用户:CREATEUSERuser1IDENTIFIEDBYpwd1DEFAULTTABLESPACEUSERSTEMPORARYTABLESPACETEMP;Oracle数据库项目应用开发Oracle中的用户管理2.按回车后系统提示“用户已创建”,表明创建用户成功。该用户的用户名是“user1”,口令是“pwd1”,默认表空间是“USERS”,临时表空间是“TEMP”。3.下面为用户授权:在SQL提示符下,输入以下命令,为用户user1授予CONNECT权限:GRANTCONNECTTOuser1;Oracle数据库项目应用开发Oracle中的用户管理4.在SQL提示符下输入“CONNSCOTT/TIGER”,以SCOTT用户身份登录后,继续输入下面的授权命令,为用户user1授予查看表dept的权限,user1同时还拥有了把此查看权限授予其他用户的权限:GRANTSELECTONempTOuser1WITHGRANTOPTION;Oracle数据库项目应用开发Oracle中的用户管理5.再输入“CONN/ASSYSDBA”命令以DBA身份登录后,在SQL提示符下输入以下命令,修改用户口令:ALTERUSERuser1IDENTIFIEDBYpwd2;6.系统提示“用户已更改”,表明口令修改成功。在SQL提示符下输入下面的命令来删除用户user1。DROPUSERuser1CASCADE;7.系统提示“用户已删除”,表明删除成功。Oracle数据库项目应用开发修改用户口令Oracle中用ALTERUSER命令修改用户口令,语法如下:ALTERUSERuser_nameIDENTIFIEDBYnew_password;Oracle数据库项目应用开发实践--创建并使用用户1.创建一个20M大小的表空间,以后用户创建的数据库对象保存在这个表空间中,在SQL提示符下,输入如下代码:CREATETABLESPACEstudent_dataDATAFILE‘F:\oracle\oradata\orcl\student_data’SIZE20MAUTOEXTENDOFF;说明:路径可以随意设置,建议AUTOEXTENTD属性为OFF。Oracle数据库项目应用开发创建用户语法:(简单方式)createusermary--用户名identifiedbyabc;--密码说明:以上为创建用户的必须语句默认和临时表空间均为systemOracle数据库项目应用开发实践--创建并使用用户2.创建用户,在SQL提示符下输入如下代码:CREATEUSERstudentIDENTIFIEDBYabcdefDEFAULTTABLESPACEstudent_dataTEMPORARYTABLESPACETEMP;Oracle数据库项目应用开发实践--创建并使用用户给student用户赋予相应的权限,一般是将两个角色(CONNECT,RESOURCE)赋给此用户即可。作为一般的开发用户,权限已经足够。在SQL提示符下输入如下代码:GRANTCONNECT,RESOURCETOstudent;按回车键,系统提示“授权成功”。Oracle数据库项目应用开发用户相关理论知识用户基本属性:(1)认证方式:每个用户连接数据库都要进行身份验证,可通过操作系统或数据库进行验证。(2)默认表空间和临时表空间:(3)空间配额:用户能够在表空间中使用的存储空间称之。用户必须在默认表空间和临时表空间中有足够的空间配额。(4)概要文件:用户必须拥有一个概要文件,如果没有指定,默认为default文件。Oracle数据库项目应用开发用户相关理论知识创建用户时必须指定用户的认证方式(数据库验证or操作系统验证)。一般采用数据库认证方式,数据库验证更安全,必须通过identitiedby字句为用户指定一个口令,口令以加密方式保存在数据库中;如果使用操作系统验证,则通过identitiedexternally字句。Oracle数据库项目应用开发相关理论知识口令命名规则:不能以数字开头Oracle11g之前口令不区分大小写,之后区分Oracle数据库项目应用开发实践—两种用户认证方式忘记SYS的用户名,也可以登录数据库。在DOS命令下输入如下代码,进入到SQL提示符下,输入代码:Sqlplus/nolog回车后系统进入SQL提示符下。然后接着输入如下命令使用SYS用户连接到数据库:CONNSYS/ASSYSDBA;系统提示输入“请输入口令:”,直接回车,系统提示“已连接”。Oracle数据库项目应用开发实践—两种用户认证方式没有输入密码也可以登录系统,这对系统的安全性带来了问题。能不能通过修改设置要求必须输入密码才能登录呢?修改%oracle_home%/network/admin/sqlnet.ora文件中的设置。将数据的登录模式从OS认证修改为了密码文件认证。Oracle数据库项目应用开发实践—管理用户修改用户管理员可以修改用户口令、改变用户默认表空间或限制用户使用权限、对用户进行解锁、锁定等操作。语法:Alteruserusernameidentifyedbynewpassword;使用sql*plus命令修改:passwordOracle数据库项目应用开发实践—管理用户修改用户默认表空间oracle自动默认表空间为system。语法:Alteruserusernamedefaulttablespace新表空间;修改用户在表空间上的配额Alteruserusernamequota80mon表空间名;(将表空间配额调整为80MB)Oracle数据库项目应用开发管理用户解除用户锁:在概要文件中设置了用户密码输入多次后将被锁定,当错误密码连续输入次数达到指定最大次数后将锁定用户,即使之后输入正确口令也不能连接,此时只能登录管理员账户进行解锁。语法:Alteruserusernameaccountunlock;锁定用户:Alteruserusernameaccountlock;Oracle数据库项目应用开发删除用户删除用户:Dropuserusername[cascade];cascade:将数据库对象一起删除。删除拥有对象的用户:Dropuseranniecascade;注意:如果要删除用户正在连接数据库,不能将其删除Oracle数据库项目应用开发查询用户视图ALL_Use
本文标题:oracle-用户管理
链接地址:https://www.777doc.com/doc-9223 .html