目录
[2.1.3.分类查看(资源参数 vs 密码参数)](#2.1.3.分类查看(资源参数 vs 密码参数))
概要文件:profile
PROFILE是Oracle中的概要文件,在PROFILE中主要存放的就是数据库中的系统资源或者数据库使用限制的一些内容。
通俗点讲就是用于限制数据库资源,配置的一个特殊文件。
一、什么是概要文件?
PROFILE就是Oracle中的概要文件,在Oracle系统中如果不创建概要文件,默认会在系统中使用默认的概要文件DEFAULT。如果创建用户时没有为用户设置概要文件,那么默认都会使用数据库中的默认概要文件。概要文件会给数据库管理员带来很大的方便,数据库管理员可以先对数据库中的用户分组,按照每一组的权限不同,建立不同的概要文件。需要说明的一点是,虽然概要文件可以用于用户,但是概要文件是不能在角色中使用的。
二、概要文件的管理
2.1.查询概要文件
2.1.1.查询数据库中存在的概要文件
查询数据库的概要文件PROFILE,在SQL*Plus中如果需要查看概要文件,可以系统数据字典DBA_PROFILES中查询得到。
语法:select distinct profile from dba_profiles;
操作系统默认是有三个概要文件,分别为DEGAULT、ORA_STIG_PROFILE、GSM_PROF,我这里有四个,是因为我当初在新建用户dba_news_user01用户时,对概要文件进行了指定。所以多了一个这个。



2.1.2.查看特定概要文件的参数
-- 查看DEFAULT的所有参数
SELECT RESOURCE_NAME, RESOURCE_TYPE, LIMIT, COMMON
FROM DBA_PROFILES
WHERE PROFILE = 'DEFAULT'
ORDER BY RESOURCE_TYPE, RESOURCE_NAME;

2.1.3.分类查看(资源参数 vs 密码参数)
-- 查看资源参数(KERNEL)
SELECT RESOURCE_NAME, LIMIT
FROM DBA_PROFILES
WHERE PROFILE = 'DEV_PROFILE'
AND RESOURCE_TYPE = 'KERNEL'
ORDER BY RESOURCE_NAME;
-- 查看密码参数(PASSWORD)
SELECT RESOURCE_NAME, LIMIT
FROM DBA_PROFILES
WHERE PROFILE = 'DEV_PROFILE'
AND RESOURCE_TYPE = 'PASSWORD'
ORDER BY RESOURCE_NAME;


2.2.创建概要文件
在每一个数据库中默认的都是概要文件PROFILE,如果需要添加概要文件,在SQL*Plus中如果需。
语法:
create profile profile
limit
{resource_parameters | password_parameters}
直观点:
CREATE PROFILE profile_name
LIMIT
{ 参数1 值1
参数2 值2
...};
说明:
1)resource_parameters:资源参数。
这些参数主要有CPU_PER_SESSION,代表允许一个会话 占用CPU的总量;CPU_PER_CALL,代表允许一个调用占用CPU的最大值;CONNECT_TIME代表允许一个持续的会话的最大值。
常用的会话级别资源参数:
|---------------------------|-----------|------------------------|
| 参数 | 默认值 | 说明 |
| SESSION_PER_USER | UNLIMITED | 每个用户最大并发会话数 |
| CPU_PER_SESSION | UNLIMITED | 单个会话可用的CPU时间(百分之一秒) |
| CPU_PER_CALL | UNLIMITED | 单次SQL调用可用的CPU时间 |
| CONNECT_TIME | UNLIMITED | 会话最大连接时间(分钟) |
| IDLE_TIME | UNLIMITED | 会话最大空闲时间(分钟) |
| LOGICAL_READS_PER_SESSION | UNLIMITED | 会话最大逻辑读块数 |
| LOGICAL_READS_PER_CALL | UNLIMITED | 单次调用最大逻辑读块数 |
| PRIVATE_SGA | UNLIMITED | 会话在SGA中的私有空间(仅共享服务器模式) |
| COMPOSITE_LIMIT | UNLIMITED | 综合资源限制(加权值) |
调用级资源限制(PER_CALL):该参数用于限制单次SQL操作的资源使用。
**2)password_parameters: 口令参数。**用于管理用户密码的安全策略。
常见的口令参数:
|-----------------------|-----------|-------------|
| 参数 | 默认值 | 说明 |
| FAILED_LOGIN_ATTEMPTS | UNLIMITED | 允许的连续失败登录次数 |
| PASSWORD_LIFE_TIME | UNLIMITED | 密码有效期(天数) |
| PASSWORD_REUSE_TIME | UNLIMITED | 密码可重用时间(天) |
| PASSWORD_REUSE_MAX | UNLIMITED | 密码历史记录数 |
| PASSWORD_LOCK_TIME | UNLIMITED | 账户锁定时间(天) |
| PASSWORD_GRACE_TIME | UNLIMITED | 密码过期后宽限期(天) |
注意:
-
PASSWORD_REUSE_TIME、PASSWORD_REUSE_MAX两个参数不能同时设置具体数值
-
必须有一个设为 UNLIMITED 或 DEFAULT
-
如果两个都设为UNLIMITED,表示无密码重用限制
例如:
CREATE PROFILE dev_profile LIMIT
FAILED_LOGIN_ATTEMPTS 5 -- 5次失败锁定
PASSWORD_LIFE_TIME 90 -- 90天有效期
PASSWORD_REUSE_TIME 365 -- 1年内不能重用
PASSWORD_REUSE_MAX DEFAULT -- 记住历史密码
PASSWORD_LOCK_TIME (1/24) -- 加括号,表示锁定1小时
PASSWORD_GRACE_TIME 7 -- 过期后7天宽限期
SESSIONS_PER_USER 5
CPU_PER_SESSION UNLIMITED
CPU_PER_CALL 3000 -- 单次调用最多30秒CPU时间
CONNECT_TIME 480 -- 最多连接8小时
IDLE_TIME 60 -- 空闲超时1小时
LOGICAL_READS_PER_SESSION UNLIMITED
LOGICAL_READS_PER_CALL 1000;

2.3.修改概要文件
修改概要文件PROFILE的语法与创建概要文件的语法非常相似。修改概要文件PROFILE的语法如下:
ALTER PROFILE profile
LIMIT
{resource_parameters | password_parameters}
例如:
下面就利用上面的语句,完成修改概要文件DEFUALT的操作,把概要文件DEFUALT的每秒CPU的会话时间改为1000。代码如下:
ALTER PROFILE TESTPROFILE
LIMIT
CPU_PER_SESSION 1000;
在修改概要文件时也可以同时修改多个配置,没有修改的配置还保持原样。
2.4.删除概要文件
使用语句删除概要文件是很容易的,使用DROP语句就可以完成。具体语法如下:
DROP PROFILE profile_name [CASCADE]
说明:
1)CASCADE:如果要删除的概要文件已经被用户使用过,那么在删除概要文件时要加上该关键字,把用户所使用的概要文件也撤销;如果要删除的概要文件没有被用户使用过,那么就可以省略该关键字。
例如:在SQL*Plus中删除概要文件TESTPRO,利用上面的语句,删除概要文件TESTPRO。
代码如下:
DROP PROFILE TESTPRO CASCADE