profile:作为用户配置文件,它是密码限制,资源限制的命名集合

在安装数据库时,Oracle自动会建立名为default的默认配置文件

使用profile文件时,要注意以下几点:

建立用户时,如果不指定profile选项,Oralce会自动将default分配给相应的数据库用户

建立profile文件时,如果只设置了部分密码和资源限制,其他选项会自动使用默认值

使用profile管理密码时,密码管理选项总是处于被激活状态;而如果使用profile管理资源,必须激活资源限制

一个用户只能分配一个profile文件。如果要同时管理用户的密码和资源,那么在建立profile时应该同时指定密码和资源选项

使用profile管理密码

可以实现账户锁定、密码的过期时间、密码历史和密码的复杂度

账户锁定

  当用户连续输入多少次错误密码后,Oracle会自动锁定用户的账户,并且可以规定账户的锁定时间,由以下参数

--failed_login_atempts:该参数限制用户在登录到Oracle数据库时允许失败的次数。

--password_login_time:该参数用于指定账户被锁定的天数

如:创建的profile文件,要求设置连续失败次数为5,超过该次数后,账户被锁定7天,用alter user 将profile文件指定给dongfang

create profile lock_account limit
failed_login_attempts 5
password_lock_time 7
/

alter user dongfang profile lock_account

如果建立profile文件时没有提供这些参数,那么会使用默认值unlimited,这种情况下,需要DBA手动解锁用户账户

密码过期时间

--password_life_time:该参数用于设置口令的有效时间,单位为天数

--password_grace_time:该参数用于设置口令失效的“宽限时间”

如:下面创建一个profile文件(password_lift_time),并设置用户的密码有效期为30天,密码宽限3天,然后使用alter user 语句将profile分配给用户dongfang

create profile password_lift_time limit

password_life_time 30

password_grace_time 3;

alter user dongfang profile password_lift_time;

密码历史

  控制账户密码的可重复使用次数或可重用时间

--password_reuse_time:该参数指定密码可重用的时间,单位为天

--password_reuse_max:该参数设置口令在能够重新使用之前,必须改变的次数。

  在使用密码历史选项时,只能使用其中一个参数,并将另外一个参数设置为unlimited

密码的复杂度

  强制用户的密码必须具有一定的复杂度。使用验证函数验证用户的复杂度,只需要将这个函数的名称指定给profile文件中的password_verify_function参数,Oracle就会自动使用该函数对用户的密码和格式进行验证。

  11g中有所改进,$oracle_home\rdbms\admin目录下创建一个新的密码验证文件utlpwdmgsql,其中,不仅提供了验证函数verify_function,还提供了一个新建的verify_function_11g函数。

使用profile管理资源

  如果使用profile管理资源,必须将resource_limit参数设置为true,以激活资源限制。由于该参数是动态参数,所以可以使用alter system语句进行修改

如:首先使用show命令查看resource_limit参数值,然后使用alter system命令修改该参数的值为true,从而激活资源限制

show parameter resource_limit;

alter system  set resource_limit=true;

利用profile配置文件,可以对以下系统资源进行限制:

CPU时间:为了防止无休止地使用CPU时间,限制用户每次调用使用的CPU时间以及在一次会话期间所使用的CPU时间

逻辑读:为了防止过多使用系统的I/O操作,限制每次会话时读取的逻辑数据块数目。

用户的并发会话数

会话空闲的限制:当一个会话空闲的时间达到了限制值时,当前事物被回滚,会话被终止并且所占用的资源被释放

会话可持续的时间:如果一个会话的总计连接时间达到了该限制值,当前事物被回滚,会话被终止并释放所占用的资源

会话所使用的SGA空间限制

  当一个会话或SQL语句占用的资源超过profile文件中的限制时,Oracle将终止并回滚当前的事务,然后向用户返回错误的信息。如果受到的限制时会话级的,在提交或回滚事务后,用户会话将被终止;而受到调用级限制时,用户会话还能继续进行,只是当前执行的SQL语句将被终止。

参数如下:

--session_per_user:用户可以同时连接的会话数量

--cpu_per_session:限制用户在一次进行数据库会话期间可以使用的CPU时间,单位为百分之一秒。

--cpu_per_call:限制用户每条SQL语句所使用的CPU时间

--logical_reads_per_session:限制每个会话所能读取的数据块数量,包括从内存中读取的数据块和从磁盘中读取的数据块

--connect_time:限制每个用户连接到数据库的最长时间,单位为分钟

--idle_time:该参数限制每个用户会话连接到数据库的最长时间。超过该空闲时间的会话,系统会终止该会话。

维护profile文件

1.修改profile文件

如:对password_lift_time文件(profile)的资源文件的资源限制参数进行修改:

alter profile password_lift_time limit
cpu_per_session 20000
sessions_per_user 10
cpu_per_call 500
password_life_time 180
failed_login_attempts 10
/

对配置文件所做的修改只有在用户开始新的会话时才会有效

2.删除profile文件

如:删除分配给dongfang这个用户的password_lift_time配置文件

drop profile password_lift_time cascade

  如果指定的profile,已经分配给某个用户,那么必须在删除时使用cascade,为用户指定的配置文件被删除时,Oracle会指定为用户指定default配置文件

3.显示profile

DD--dba_users

DD--dba_profiles

Oralce-资源配置PROFILE的更多相关文章

  1. Oracle从入门到精通(笔记)

    一.Oracle11g概述 1.6 启动与关闭数据库实例 1.6.1 启动数据库实例 Oracle数据库实例启动分3个步骤:启动实例,加载数据库,打开数据库: 命令格式:startup [nomoun ...

  2. Linux程序写入oralce数据库中文显示为问号??? 代码实现设置环境变量!

    Linux程序写入oralce数据库中文显示为问号??? 1.问题介绍 根本原因是字符集的问题,是数据库的字符集和写入程序的linux系统的字符集不一致导致: 但是用export NLS_LANG=& ...

  3. SpringBoot系列四:SpringBoot开发(改变环境属性、读取资源文件、Bean 配置、模版渲染、profile 配置)

    声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念 SpringBoot 开发深入 2.具体内容 在之前已经基本上了解了整个 SpringBoot 运行机制,但是也需要清 ...

  4. SpringBoot开发(改变环境属性、读取资源文件、Bean 配置、模版渲染、profile 配置)

    1.概念 SpringBoot 开发深入 2.具体内容 在之前已经基本上了解了整个 SpringBoot 运行机制,但是也需要清楚的认识到以下的问题,在实际的项目开发之中,尤其是 Java 的 MVC ...

  5. 转:oralce常用操作、查询语句(查看表空间)

    http://highill.iteye.com/blog/1534858 最近整理一下oralce的常用语句,借此记录一下,在网上都应该能搜到,这里主要是整理分享. 一.操作语句 建立表空间 MYD ...

  6. CoreCRM 开发实录 —— Profile

    再简单的功能,也需要一坨代码的支持.Profile 的编辑功能主要就是修改个人的信息.比如用户名.头像.性别.电话--虽然只是一个编辑界面,但添加下来,涉及了6个文件的修改和7个新创建的文件.各种生成 ...

  7. Xamarin+Prism开发详解一:PCL跨平台类库与Profile的关系

    在[Xamarin+Prism小试牛刀:定制跨平台Outlook邮箱应用]中提到过以下错误,不知道大伙还记得不: 无法安装程序包"Microsoft.Identity.Client 1.0. ...

  8. source /etc/profile报错-bash: id:command is not found

    由于误操作导致 source /etc/profile 报错 -bash: id:command is not found 此时,linux下很多命令到不能能用,包括vi ls 等... 可以使用 e ...

  9. 【译】Spring 4 @Profile注解示例

    前言 译文链接:http://websystique.com/spring/spring-profile-example/ 本文将探索Spring中的@Profile注解,可以实现不同环境(开发.测试 ...

随机推荐

  1. LCD应用程序测试

    #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl ...

  2. python 更快地判断数字的奇数还是偶数

    使用 按位与运算符(&) 将能更加快速地判断一个整数是奇数还是偶数 使用举例如下: def check_number(n): if n & 1: return '奇数' else: r ...

  3. CSS-子盒子撑开父盒子,让父盒子的高随内容自适应

    方法一: height:auto!important; height:200px; min-height:200px; ie6并不支持min-height.ie7,opera,火狐没有问题. 方法二: ...

  4. Oracle之共享服务器模式

    在共享服务器体系结构中,一个dispatcher分派器将传入网络的多个会话请求定向到一个共享服务器进程池,消除了为每个连接分配一个专用服务器进程的需要.作为一般的指导原则,仅当系统需要并发连接到数据库 ...

  5. C# 判断文件夹与文件是否存在

    //在上传文件时经常要判断文件夹是否存在,如果存在就上传文件,否则新建文件夹再上传文件 判断语句为 if (System.IO.Directory.Exists(Server.MapPath(&quo ...

  6. 更新SVN时提示要清理,但清理失败,乱码得解决方案

    问题情况如图: 解决办法: 依托工具——sqlite3, 首先在项目根目录下找到.svn文件夹,将其中的wc.db复制到工具所在路径. 如果找不到.svn,需要把隐藏文件选项勾去. 路径如图: 此时, ...

  7. Linux安装postgresql及基础操作

    安装环境说明 系统环境说明 [root@slave1 ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [root@sl ...

  8. ASE Code Search

    重现基线模型 Hamel's model 基线模型原理 如何实现semantic search?在已有数据库的基础上,衡量一个句子和每段代码的相关性再进行排序,选出最优代码片段即可实现一个通用的cod ...

  9. Spring Boot 全局排除 spring-boot-starter-logging 依赖

    https://blog.csdn.net/u013314786/article/details/90412733 项目里使用了log4j2做日志处理,要排除掉Spring Boot 很多jar里边默 ...

  10. 【改】utf-8 的去掉BOM的方法

    最近在测试中发现,linux系统中导出的文件,有记事本打开另存为或者保存后,再次导入进linux系统,发现失败了,对比文件内容,没发现区别,打开二进制文件对比发现,文件头部多了三个字符:EF BB B ...