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

相关推荐
杭州泽沃电子科技有限公司2 小时前
变压器安全,在线监测如何实现?
运维·在线监测·智能运维
0思必得02 小时前
[Web自动化] Requests模块基本使用
运维·前端·python·自动化·html·web自动化
一 乐2 小时前
健康管理|基于springboot + vue健康管理系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端·学习
学编程就要猛2 小时前
MySQL:CRUD
数据库·sql·mysql
IT技术分享社区2 小时前
MySQL实战:自动计算字段如何让查询效率翻倍?
数据库·mysql
mr_orange_klj3 小时前
关于负载均衡的负载均衡的AI问答(豆包)
运维·负载均衡
自己的九又四分之三站台3 小时前
docker安装pgvector、age和postgis
运维·docker·容器
Live&&learn3 小时前
Redis语法入门
数据库·redis
未羽出衫3 小时前
DB-GPT本地模型+tuGragh安装使用
数据库·gpt