一、资源限制与口令管理概述
1.概要文件介绍:
在Oracle数据库中,用户对数据库和系统资源使用的限制以及对用户口令的管理的是建立概要文件实现的。它是Oracle数据库安全策略的重要组成不封。每个数据库用户都具有一个概要文件。
通常DBA将用户分类,为每种不同的用户创建一个概要文件。这样就不必为每个系统用户单独创建一个概要文件。
概要文件不是一个物理文件而是存储在SYS模式下的几个表中的信息的集合。
在Oracle数据库创建的同时,系统创建一个名为DEFAULT的默认概要文件。如果没有为用户指定一个概要文件,则使用default概要文件。
2.资源限制的级别
概要文件通过会话资源限制和调用资源限制来对用户的资源进行限制
当用户会话资源超出限制时
用户不能进行任何操作
断开用户与数据库的连接
出现相应的错误提示
当调用资源超出限制
当前语句处理被中断。
当前语句被回滚
用户仍然与数据库连接
以前的语句不受影响
3.启用或停用资源限制于口令管理
只有当数据库启用了资源限制于口令管理是,为用户分配的概要文件才器作用,默认情况下,Oracle数据库的资源限制于口令管理是关闭的。
可以采取两种方法
在数据库启动前启用或听过资源限制。
将数据库初始化参数文件的参数RESOURCE_LIMIT的值设置为TRUE。
在数据库运行时。
通过设置RESOURCE_LIMIT参数来启用
SQL> alter system set resource_limit=true; System altered
二.资源限制参数介绍
session_per_user:用户所允许的最多并发会话数
cpu_per_session:会话的CPU时间限制,单位为百分之一秒
cpu_per_call:指定一次调用(解析、执行和提取)的CPU时间限制,单位为百分之一秒
connect_time:指定会话的总的连接时间,以分钟为单位
idle_time:指定会话连续idle的最长时间,超过则会自动断开,单位:分钟
logical_reads_per_session:指定一个会话允许最大逻辑读数
logical_read_per_call:一次执行SQL(解析、执行和提取)调用所允许的最大逻辑读数目
private_sga:一个会话在SGA中所允许分配的最大空间,单位:字节(只对共享服务器结构有效,会话在SGA中的私有空间包括私有的SQL和PL/SQL,但不包括共享的SQL和PL/SQL)
composite_limit:一个会话的总的资源消耗,以service units单位表示。Oracle数据库以有利的方式计算cpu_per_session,connect_time,logical_reads_per_session和private-sga总的service units
三.口令管理参数介绍
failed_login_attempts:限制用户在登入Oracle数据库时允许失败的次数
password_lock_time:设定用户登录失败后,用户账户被锁定的时间长度
passwrord_lfie_time:设定用户口令的有效天数。达到限制天数后,该口令将过期,需要重新设置
password_grace_time:用户提示口令过期的天数。在这几天中,用户将收到一个关于口令过期的警告。
password_reuse_time:指定一个口令被重新使用前,必须经过多少次修改
password_verify_function:设置口令的复杂性校验。
四.创建概要文件
1.创建一个恶名为pwd_profile的概要文件,如果用户连续4次登陆失败,则锁定该账户,10天后该账户自动解锁。
create profile pwd_profile limit failed_login_attempts 4 password_life_time 10;
五.非配概要文件
alter user user1 profile pwd_profile ;
六. 修改概要文件
修改pwd_profile 的概要文件,将用户口令有效天数设置为10天
alter profile pwd_profile limit password_life_time=10;
七.删除概要文件
drop profile profile_name [cascade]
八.查询概要文件
主要的数据字典视图
DBA_USERS 包含数据库中所有用户属性信息,包括使用哪个概要文件
DBA_PROFILES 包括数据库中所有概要文件及其资源限制、口令管理
USER_PASSWORD_LIMITS 包含当前用户的概要文件的口令管理的参数设置信息
USER_RESOURCE_LIMITS 包含当前用户的概要文件资源限制的参数设置信息
resource_cost:包含每个会话使用资源的统计信息