Oracle概要文件profile
在我们创建用户时,都会为用户指定一个概要文件。概要文件主要是设置用户限制使用数据库资源(主要CPU资源)和Oracle口令参数管理的信息。经常利用Oracle概要文件对数据库用户进行口令管理、指定口令有效期、用户连接时间以及最大空闲等待时间等。
在Oracle系统中,在不给用户指定特定的概要文件时,系统会自动使用默认的概要文件DEFAULT。Oracle系统管理员可以利用不同的概要文件对不同的用户组设置不同的限制权限,可以起到合理分配系统的目的。
Oracle创建概要文件
Oracle创建概要文件的语法结构:
create profile pro_namelimit[数据库资源参数|口令参数]
语法解析:
1、create profile:Oracle创建概要文件的关键字,指定概要文件的名字为pro_name。
2、limit [数据库资源参数|口令参数]:指定要限制的参数信息。
数据库资源参数(KERNEL),常用的有:
1、CPU_PER_SESSION:限制会话使用的CPU时间,单位是百分之一秒。
2、SESSIONS_PER_USER:限制用户所允许建立的最大并发会话数。
3、CONNECT_TIME: 限制每个会话能连接到数据库的最长时间, 超过这个时间会话将自动断开,单位是分钟。
4、IDLE_TIME:限制每个会话所允许的最长连续空闲时间,超过这个时间会话将自动断开,单位是分钟。
5、LOGICAL_READS_PER_SESSION:限制每个会话所能读取的数据块数目。
6、PRIVATE_SGA:每个会话分配的私有SGA 区大小(以字节为单位)。
7、CPU_PER_CALL:用于指定每条SQL 语句可占用的最大CPU时间,单位是百分之一秒。
8、LOGICAL_READS_PER_CALL:用于指定每条SQL 语句最多所能读取的数据块数目。
口令参数(PASSWORD),常用的有:
1、FAILED_LOGIN_ATTEMPTS: 该参数指定允许的输入错误口令的次数, 超过该次数后用户帐户被自动锁定。
2、PASSWORD_LOCK_TIME:用于指定指定账户被锁定的天数,单位为天。
3、PASSWORD_LIFE_TIME: 指定口令的有效期,单位为天。 如果在达到有效期前用户还没有更换口令,它的口令将失效。这个时候必须重新设置新密码才能登陆。
4、PASSWORD_GRACE_TIME:用于指定口令失效的宽限期,单位为天
5、PASSWORD_REUSE_TIME: 指定能够重复使用一个口令前必须经过的时间,单位为天
6、PASSWORD_REUSE_MAX: 用于指定在重复使用口令之前必须对口令进行修改的次数。 PASSWORD_REUSE_TIME 和PASSWORD_REUSE_MAX两个参数只能设置一个,另一个必须为UNLIMITED。
案例1、创建一个概要文件pro_teacher,限制用户登陆时,错误口令允许错误的次数为5次,并且限制会话的最长空闲时间为20分钟,代码如下:
create profile pro_teacherlimitFAILED_LOGIN_ATTEMPTS 5IDLE_TIME 20;
然后,可以通过数据字典DBA_PROFILES对创建好的概要文件进行查询,如下图:
数据字典DBA_PROFILES的resource_name字段代表的就是要限制的资源名称,在我们创建概要文件时,只设定了IDLE_TIME和FAILED_LOGIN_ATTEMPTS两个选项,其它限制选项不做限定时,就会默认使用系统的DEFAULT概要文件的配置信息(DEFAULT概要文件是系统创建时自动创建的,对大部分信息是不做限制的,读者可以自行查询数据字典查看配置信息)。
下一步,可以为teacher用户指定创建好的概要文件,代码如下:
alter user teacher profile pro_teacher;
Oracle修改概要文件
Oracle概要文件经常会随着系统业务需求的变化,有时候需要对其进行修改,主要是通过关键字ALTER PROFILE进行修改。和创建概要文件的语法一致,只需要对需要修改的限制资源进行重新设定即可。
案例2、把pro_teacher概要文件,增加一个口令有效期为365天的限制信息,修改代码如下:
alter profile pro_teacherlimitPASSWORD_LIFE_TIME 365;
然后,再查看一下数据字典DBA_PROFILES中pro_teacher的信息,发现信息已经变化。
总结:
Oracle概要文件主要是做数据库资源和口令资源限制的配置,数据库管理员经常利用概要文件来批量管理不同用户的访问权限,从而达到合理分配数据库资源的目的。