Oracle 中的 dba_profiles 是什么文件?
profiles文件是口令和资源限制的配置集合,包括CPU的时间、I/O的使用、空闲时间、连接时间、并发会话数量、密码策略等对于资源的使用profile可以做到控制会话级别或语句调用级别。oracle自带的默认好多是不限制的,用户创建时都会被指定这个PROFILE。
查询 dba_profiles 配置文件
SELECT t.* FROM dba_profiles t; SELECT DISTINCT PROFILE FROM dba_profiles; -- 去重
查看现有用户使用的 dba_profiles 配置文件
SELECT * FROM dba_users; -- profile 字段
查询默认的 DEFAULT 配置文件详解
SELECT t.* FROM dba_profiles t WHERE t.profile = 'DEFAULT';
配置文件详解
一:资源类 = RESOURCE_TYPE = KERNEL
- COMPOSITE_LIMIT — 指定一个会话的总的资源消耗,以 service units 单位表示
- SESSIONS_PER_USER — 指定限制用户的并发会话的数目
- CPU_PER_SESSION — 指定会话的CPU时间限制,单位为百分之一秒
- CPU_PER_CALL — 指定一次调用(解析、执行和提取)的CPU时间限制,单位为百分之一秒
- LOGICAL_READS_PER_SESSION — 指定一个会话允许读的数据块的数目,包括从内存和磁盘读的所有数据块
- LOGICAL_READS_PER_CALL — 指定一次执行SQL(解析、执行和提取)调用所允许读的数据块的最大数目
- IDLE_TIME — 指定会话允许连续不活动的总的时间,以分钟为单位,超过该时间,会话将断开
- CONNECT_TIME — 指定会话的总的连接时间,以分钟为单位
- PRIVATE_SGA — 指定一个会话可以在共享池(SGA)中所允许分配的最大空间,以字节为单位
一:密码类 = RESOURCE_TYPE = PASSWORD
- FAILED_LOGIN_ATTEMPTS — 指定在帐户被锁定之前所允许尝试登陆的的最大次数
- PASSWORD_LIFE_TIME — 指定同一密码所允许使用的天数
- PASSWORD_REUSE_TIME — 指可以重复使用多长时间之前的密码
- PASSWORD_REUSE_MAX — 指的是当前密码可以被重用之前,必须进行密码修改的次数。
- PASSWORD_VERIFY_FUNCTION — 该字段允许将复杂的PL/SQL密码验证脚本做为参数传递到create profile语句。Oracle数据库提供了一个默认的脚本,但是自己可以创建自己的验证规则或使用第三方软件验证。 对Function名称,指定的是密码验证规则的名称,指定为Null则意味着不使用密码验证功能。
- PASSWORD_LOCK_TIME — 指定登陆尝试失败次数到达后帐户的锁定时间,以天为单位
- PASSWORD_GRACE_TIME — 指定宽限天数,数据库发出警告到登陆失效前的天数。如果数据库密码在这中间没有被修改,则过期会失效
注:PASSWORD_REUSE_TIME 和 PASSWORD_REUSE_MAX 这两个参数必须互相关联设置
创建自定义的配置 dba_profiles 文件
CREATE PROFILE CUSTOM_PROFILE LIMIT COMPOSITE_LIMIT 6000000 SESSIONS_PER_USER UNLIMITED CPU_PER_SESSION UNLIMITED CPU_PER_CALL 6000 LOGICAL_READS_PER_SESSION UNLIMITED LOGICAL_READS_PER_CALL 6000 IDLE_TIME 60 CONNECT_TIME 60 PRIVATE_SGA 66K FAILED_LOGIN_ATTEMPTS 10 PASSWORD_LIFE_TIME 60 PASSWORD_REUSE_TIME 60 PASSWORD_REUSE_MAX 5 PASSWORD_VERIFY_FUNCTION NULL PASSWORD_LOCK_TIME 1/24 PASSWORD_GRACE_TIME 7
查询自定义创建的 dba_profiles 文件
SELECT t.* FROM dba_profiles t WHERE t.profile = 'CUSTOM_PROFILE';
创建用户指定自定义的配置 dba_profiles 文件
CREATE USER IZPAN IDENTIFIED BY 123456 DEFAULT TABLESPACE test_space PROFILE CUSTOM_PROFILE;
针对已有用户更新指定的自定义配置 dba_profiles 文件
ALTER USER IZPAN PROFILE CUSTOM_PROFILE;
查询指定用户的配置文件
SELECT t.username,t.profile FROM dba_users t WHERE t.username = 'IZPAN';
删除并回收已授权的 dba_profiles
DROP PROFILE CUSTOM_PROFILE CASCADE;
设置 PROFILE 参数的生效时间
- 用户所有拥有的 PROFILE 中有关密码的限制立即生效,不受限制。从这个可看出 Oracle 对用户密码的重视程度。
- 用户所有拥有的 PROFILE 中有关资源的限制与 resource_limit 参数的设置有关,当为 TRUE 时生效,当为 FALSE 时(默认值)设置任何值都无效。