Oracle中的概要文件

目录

一、什么是概要文件?

二、概要文件的管理

2.1.查询概要文件

2.1.1.查询数据库中存在的概要文件

2.1.2.查看特定概要文件的参数

[2.1.3.分类查看(资源参数 vs 密码参数)](#2.1.3.分类查看(资源参数 vs 密码参数))

2.2.创建概要文件

2.3.修改概要文件

2.4.删除概要文件


概要文件: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 | 密码过期后宽限期(天) |

注意:

  1. PASSWORD_REUSE_TIME、PASSWORD_REUSE_MAX两个参数不能同时设置具体数值

  2. 必须有一个设为 UNLIMITEDDEFAULT

  3. 如果两个都设为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

相关推荐
umeelove353 小时前
SQL中的DISTINCT、SQL DISTINCT详解、DISTINCT的用法、DISTINCT注意事项
java·数据库·sql
@insist1233 小时前
数据库系统工程师-嵌入式 SQL 与存储过程核心原理与应试指南
数据库·sql·软考·数据库系统工程师·软件水平考试
任我坤3 小时前
搭建Jenkins服务-2025更新
运维·servlet·jenkins
m0_569881473 小时前
使用Python自动收发邮件
jvm·数据库·python
好记忆不如烂笔头abc3 小时前
ORA-12792: Network transfer operation aborted due to TTC error 12543.
oracle
marsh02063 小时前
16 openclaw与数据库集成:ORM使用与性能优化
数据库·spring·ai·性能优化·编程·技术
weixin_421922693 小时前
使用Python进行图像识别:CNN卷积神经网络实战
jvm·数据库·python
2301_776508723 小时前
用Python和Twilio构建短信通知系统
jvm·数据库·python
LaughingZhu3 小时前
Product Hunt 每日热榜 | 2026-03-22
大数据·数据库·人工智能·经验分享·搜索引擎
@insist1233 小时前
数据库系统工程师-数据库权限管理与触发器编程:软考核心考点与实战指南
数据库·oracle·软考·数据库系统工程师·软件水平考试