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. python基础-11 socket,IO多路复用,select伪造多线程,select读写分离。socketserver源码分析

    Socket socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. sock ...

  2. Vue 基础 day02

    Vue Devtools 安装 https://chrome.google.com/webstore/search/vue%20devtools?hl=zh-CN 需要翻墙 过滤器 概念: Vue.j ...

  3. python程序daemon化

    1 直接空格加& python flask_server.py & 最简单的方式 这样还不行,不知道为什么flask server会自动退出. $ nohup python flask ...

  4. Appscan工作原理详解

    AppScan,即 AppScan standard edition.其安装在 Windows 操作系统上,可以对网站等 Web 应用进行自动化的应用安全扫描和测试. Rational AppScan ...

  5. socket服务器

    Python 3.x,已经改名为socketserver:Python 2. #coding=utf-8 #1.必须自己创建一个请求处理类,并且这个类要继承BaseRequesHandler,并且还要 ...

  6. ant-design如果按需加载组件

    Ant Design React按需加载 Ant Design是阿里巴巴为React做出的组件库,有统一的样式及一致的用户体验 官网地址:https://ant.design 1.安装: npm in ...

  7. 基于谷歌开源的TensorFlow Object Detection API视频物体识别系统搭建自己的应用(四)

    本章主要内容是利用mqtt.多线程.队列实现模型一次加载,批量图片识别分类功能 目录结构如下: mqtt连接及多线程队列管理 MqttManager.py # -*- coding:utf8 -*- ...

  8. document.body.scrollTop值为0的解决方法[转]

    做页面的时候可能会用到位置固定的层,读取document.body.scrollTop来设置层的位置,像这样,       window.onscroll=function () {          ...

  9. linux常用汇总

    E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable) E: Unable to ...

  10. 日志远程更新脚本shell

    log_update.sh.bak: #!/bin/bash# To Update Logs... #/bin/rsync -avz --delete --exclude=warn.log @172. ...