发布时间 : 星期五 文章Oracle概要文件的用法更新完毕开始阅读4cbd000b76c66137ee061956
#概念介绍 #基本概念
--概要文件是Oracle安全策略的重要组成部分,
--利用概要文件可以对数据库用户进行基本的资源限制,并且可以对用户的口令进行管理
--安装数据库时,Oracle会自动建立一个名为DEFAULT的默认概要文件 #概要文件内容
--密码的管理:密码有效期、密码复杂度验证、密码使用历史、帐号锁定
--资源的管理:CPU时间、空闲时间、连接时间、可以使用的内存空间、允许并发会话数
#概要文件作用
--限制用户进行一些过于消耗资源的操作
--当用户发呆时间太长,确保用户能释放数据库资源,断开连接 --使同一类用户都使用相同的资源限制 --能够很容易的给用户定义资源限制 --对用户密码进行管理 #概要文件特点
--概要文件的指定不会影响到当前的会话,即当前会话仍然可以使用旧的资源限制 --概要文件只能指定给用户,而不能指定给角色
--如果创建用户的时候没有指定概要文件,Oracle将自动为它指定这个默认概要文件
#密码的管理
#密码管理的策略 --帐号的锁定 --密码的过期时间 --密码的复杂度 #如何进行密码管理
--在概要文件里面给密码管理参数赋值
--通过CREATE USER 或者 ALTER USER 命令来将概要文件指定给用户 #密码管理的参数
--FAILED_LOGIN_ATTEMPTS:指定允许的输入错误密码的次数,如果超过该次数,用户帐号被自动锁定
--PASSWORD_LOCK_TIME:指定由于密码输入错误而被锁定后,持续保持锁定状态的时间(以天为单位)
--PASSWORD_LIFE_TIME:指定同一个密码可以持续使用的时间,如果过期没有修改密码将失效
--PASSWORD_GRACE_TIME:指定用户密码过期时间提示时间,如果带到这个限制之前用户没有改密码,Oracle将对他提出警告,
在PASSWORD_LIFE_TIME时间之前,用户有机会修改密码
--PASSWORD_REUSE_TIME:指定用户在能够重复使用一个密码之前必须经过的天数 --PASSWORD_REUSE_MAX:指定用户在能够重复使用一个口令之前必须对口令进行修改的次数
--以上两个参数只能设置一个,并且另一个必须指定为UNLIMITED
--PASSWORD_VERIFY_FUNCTION:该参数指定用于验证用户口令复杂度的函数 --Oracle的一个内置脚本中提供了一个默认函数可以用于验证用户密码的复杂度 #创建密码管理的概要文件 #必须有create profile的权限 #创建脚本
CREATE PROFILE profile_sample LIMIT FAILED_LOGIN_ATTEMPTS 3
PASSWORD_LOCK_TIME UNLIMITED PASSWORD_LIFE_TIME 2 PASSWORD_REUSE_TIME 30; #将该概要文件指定给普通用户
ALTER USER ERP PROFILE PROFILE_SAMPLE; #erp帐号试着3次用错误密码登陆不成功,第四次再用错误密码登陆时,系统提示帐号被锁定
#用管理员帐号解锁erp帐号
ALTER USER ERPwww.gxqingyuan.com ACCOUNT UNLOCK; #修改概要文件,加上密码更改提示
ALTER PROFILE profile_sample LIMIT PASSWORD_GRACE_TIME 1; #删除概要文件
drop profile profile_sample;
--报错,因为该概要文件已经指定给用户了 drop profile profile_sample CASCADE;
--这样可以删除概要文件,erp用户的概要文件将变为DEFAULT
#资源的管理
#资源管理使用的级别
--资源管理大多可以在两个级别上进行:
--会话级;会话级资源限制是对用户在一个会话过程中所能使用的资源进行的限制 --调用级;调用级资源限制是对一条SQL语句在执行过程中所能使用的资源进行的限制
--当会话或者一条SQL语句占用的资源超过了概要文件的限制,Oracle将中止并回退当前的操作,然后向用户返回错误信息
--这时用户仍然可以提交或回退当前事务
--如果是会话级限制,在提交或回退事务后,用户会话将被中止(断开连接) --如果是调用级限制,用户会话还能继续进行,只是当前执行的SQL语句被中止 #会话级资源限制参数
--CPU_PER_SESSION:该参数限制每个会话所能使用的CPU时间,参数是一个整数,单位为百分之一秒
--SESSIONS_PER_USER:该参数限制每个用户所允许建立的最大并发会话数目,达到这个数目后,用户不能再建立任何连接
--CONNECT_TIME:该参数限制每个会话能连接到数据库的最长时间,达到这个时间限制后会话将自动断开,以分钟为单位
--IDLE_TIME:限制每个会话所允许的最大连续空闲时间 --LOGICAL_READS_PER _SESSION:该参数限制每个会话所能读取的数据块数目,包括从内存和硬盘读取
--PRIVATE_SGA:在共享服务器操作模式下,Oralce为每个会话分配的私有SQL区的大小
#调用级资源限制参数
--CPU_PER_CALL:该参数限制每条SQL语句所能使用的CPU时间,单位为百分之一秒
--LOGICAL_READS_PER _CALL:该参数限制每条SQL语句所能读取的数据块数目 #创建资源管理的概要文件 #必须有create profile的权限 #创建脚本
CREATE PROFILE developer_prof LIMIT SESSIONS_PER_USER 2 CPU_PER_SESSION 10000 IDLE_TIME 1
CONNECT_TIME 480; #将该概要文件指定给普通用户
ALTER USER ERP PROFILE developer_prof; #将资源管理激活
ALTER SYSTEM SET RESOURCE_LIMIT=TRUE scope=both;
#erp帐号试着打开通过三个sqlplus窗口登陆,第在第三个窗口登陆时会提示 exceeded simultaneous SESSIONS_PER_USER limit
#概要文件内容的查询
从DBA_USERS视图中获得用户的概要文件名
从DBA_PROFILE视图中获得概要文件的参数取值信息