一、Profile文件概述:Profiles是Oracle安全策略的一个组成部分,当Oracle建立数据库时,会自动建立名称为Default的profile,当建立用户没有指定profile,那么oracle就将defalut分配给用户。

1、默认情况下,用户连接数据库,形成回话,使用CPU和内存资源是没有限制的。但是在一些高并发的应用,且多个应用部署到同一服务器上时,因为服务器的CPU和内存是有限的,所以,大多数企业会根据应用对于自身的重要性,来对各个库进行内存和CPU的分配。除此之外,还有用户的密码管理,用户的登录尝试次数,用户的密码锁定后多长时间释放,密码生命周期等参数都是通过Profile来设置的,当然这里只列举了一下部分!

2、Profile文件主要规定了资源使用的限制和密码(也就是口令)使用的规则,Profile定义之后,可以做用到每个用户之上,对每个用户的安全活动进行限制。

3、下面Oracle建立数据库时,生成的名为Default的profile

4、配置文件创建方法

create profile 配置文件名 limit

配置参数1 值1

配置参数2 值2

5、配置文件的使用方法

5.1、将配置文件中的规则指定给特定的用户,这里拿Failed_Login_Attempts(在账户被锁定前允许的登录次数)举例,其他的规则也是一样,如果要指定个特定的用户

左图创建了一个test规则的profile,允许用户在被锁定前,登录三次,如果失败被锁定2天,并将这个profile赋给了scott用户,也就是说这个规则只是用于scott用户

连续登录三次,失败后,账户被锁定,如何解锁用户请参考Oracle 系统常用命令

5.2、修改默认的profile,使其作用于所有的用户

左图修改了安装数据库默认产生的profile文件,并修改了其参数,使所有的用户必须在13天内修改密码,否则将无法登录,如果不理解口令,下面有介绍。

6、删除profile

二、Profile  口令管理

1、Composite_Limite

指定一个会话的总的资源消耗, 以service units单位表示。oracle数据库以有利的方式计算cpu_per_session, connect_time, logical_reads_per_session和private-sga总的service units

2、Session_Per_User

指定限制用户的并发会话的数目

3、Cpu_Per_Session

指定会话的cpu时间限制, 单位为百分之一秒

4、Cpu_Per_Call

指定一次调用(解析、执行和提取)的cpu时间限制, 单位为百分之一秒

5、Logical_Reads_Per_Session

指定一个会话允许读的数据块的数目, 包括从内存和磁盘读的所有数据块

6、Logical_Read_Per_Call

指定一次执行sql(解析、执行和提取)调用所允许读的数据块的最大数目

7、Idle_Time

指定会话允许连续不活动的总的时间, 以分钟为单位, 超过该时间, 会话将断开。但是长时间运行查询和其他操作的不受此限制

8、Connect_Time

指定会话的总的连接时间, 以分钟为单位

9、Private_Sga

指定一个会话可以在共享池(sga)中所允许分配的最大空间, 以字节为单位。(该限制只在使用共享服务器结构时才有效, 会话在sga中的私有空间包括私有的sql和pl/sql, 但不包括共享的sql和pl/sql)

10、Failed_Login_Attempts和Password_Lock_Time

Failed_Login_Attempts设置账户在被锁定之前允许登录的次数

Password_Lock_Time 指定帐户被锁定的天数. 1/24/60对应的是1分钟. 但是, 1分钟后只有密码正确了, 才可以自动解锁. 如果该参数最后的值是UNLIMITED, 或需要立即给帐户解锁, 就需要DBA用手动方式来给帐户解锁.

11、 Password_Life_Time与Password_Grace_Time

他的作用是:强迫除dba之外的用户在设置的天数内修改密码!!!

这两个口令是结合起来使用的,Password_Life_Time指定用户账户的有效期,到达这个天数的用户叫做到期用户,到期账户会在登陆时,被提醒将在多少天后过期,但仍然可以使用该口令,因为Password_Grace_Time可以设定一个宽限天数,如果在Password_Grace_Time规定的宽限天数内,仍然没有修改口令,则账户过期,将过期账户,即不能登录数据库。代码如下:

a、设置所有的用户的密码将在3天后到期,并且宽限时间为10天(也就是给他们10天时间去修改密码),也就是说超过了13天之后用户还没有修改登录口令(密码),用户将无法正常登陆数据库。

设置完之后可以正常登录,而且没有提醒,因为还没有过三天

现在将系统时间设置到3天之后,再次连接登录

出现提醒:提示当前用户,它的登录口令将在10天后过期,但是此时还是可以正常连接到数据库

现在将系统时间设置到10天后,在进行登录

出现提示:当前用户的密码已经过期,并且强制使用户修改密码,而且登录失败。

12、Password_Rescue_Time和Password_Rescue_Max

13、password_verify_function

使用系统口令校验函数verify_function, 改成校验函数后实现以下口令规则:

口令不能少于4个字符

口令不能与用户名相同

口令至少包含一个字符, 一个数字和一个特殊字符($, _, #, !等)

 

Oracle Profile文件的更多相关文章

  1. oracle profile 概要文件

    Profile文件概述: Profile是Oracle安全策略的一个组成部分,当Oracle建立数据库时,会自动建立名称为Default的Profile文件. 创建用户的时候,如果没有指定profil ...

  2. Oracle——概要文件profile

    profile文件详解 一.目的         Oracle系统中的profile可以用来对用户所能使用的数据库资源进行限制,使用Create Profile命令创建一个Profile,用它来实现对 ...

  3. ORACLE profile列4 --CREATE PROFILE

    这个博客是ORACLE profile系列第四部分.主要说一下,假设你创建profile而使用profile资源和password控制 CREATE PROFILE Note: Oracle reco ...

  4. 误删除SAP ECC中的profile文件

    环境:ECC6.0 EHP4  FOR ORACLE ON WINDWS X64下 今天在RZ10配置系统参数文件的时候,不小心错删除了instance profile文件,这下惨了,这是操作系统层级 ...

  5. 让/etc/profile文件修改后立即生效

    方法1: 让/etc/profile文件修改后立即生效 ,可以使用如下命令: # .  /etc/profile 注意: . 和 /etc/profile 有空格 方法2: 让/etc/profile ...

  6. Linux中profile文件详解(转)

    1.Linux是一个多用户的操作系统.每个用户登录系统后,都会有一个专用的运行环境.通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义.用户可以对自己的运行环境进行定制,其方法 ...

  7. Xcode 如何删除过期的Provisioning Profile文件

    Xcode 中所有的Provisioning Profile文件,都在 ~/Library/MobileDevice/Provisioning Profiles  这个文件夹下:进入该文件夹,按照文件 ...

  8. 修改/etc/profile文件

    通常情况下,/etc/profile文件是只读的,直接用vi或gedit打开修改后是无法保存的.要修改profile,需要取得root权限,(使用gedit编辑)应该如下: $sudo gedit / ...

  9. ubuntu下非本账户的.profile文件的修改

    今天不小心在账户了修改了自己的.profile文件,导致重启之后账户无法进入,点登陆账户后黑屏后就重新回到账户登陆界面.一番折腾之后终于成功修改了原账户中的.profile文件,成功从新进入了原账户. ...

随机推荐

  1. 编写高质量代码改善C#程序的157个建议——建议146:只对外公布必要的操作

    建议146:只对外公布必要的操作 那些没有必要公开的方法和属性要声明成private.如果需要公开的方法和属性超过9个,在VS默认的设置下,就需要滚屏才能显示在Intellisense中,如图: Sa ...

  2. Java多线程设计模式(三)

    目录(?)[-] Read-Wirte Lock Pattern Thread-Per-Message Pattern Worker Thread Pattern   Read-Wirte Lock ...

  3. python读取pop3服务器邮件并且下载

    # -*- coding: cp936 -*- import poplib import random import os def getmail(): # 蒋辉文拥有该程序权利 你可以随意使用 em ...

  4. <a>标签的用法以及[@text_cut]

    <a href="${a.url}" target="_blank">[@text_cut s=a.title len=titLen append= ...

  5. 修改TomCat端口实现多实例

      TomCat默认的端口是8080,还会占用8005,8009和8443端口.如果已经启动了tomcat,再启动一个tomcat会发现这些端口已经被占用了,这个时候就需要修改端口号.   以apac ...

  6. opencv——pcb上找圆mark点(模板匹配)

    #include "stdafx.h" #include <cv.h> #include <highgui.h> #include <cxcore.h ...

  7. tomcat 6.x + log4j日志配置并按天(或大小)生成文件

      tomcat日志,默认路径在${catalina.home}/logs目录下,默认使用的是tomcat自己封装的logging工具类,默认配置文件使用的${catalina.home}/conf/ ...

  8. C#开源定时回调库PETimer的使用

    PETimer PETimer开源项目GitHub地址:点击跳转 PETimer 1.双端通用:基于C#语言实现的高效便捷计时器,可运行在服务器(.net core/.net framework)以及 ...

  9. 三张图片看懂ZKEACMS的设计思想

    前言 如果你还不知道ZKEACMS,不妨先了解一下. ASP.NET MVC 开源建站系统 ZKEACMS 推荐,从此网站“拼”起来 官方地址:http://www.zkea.net/zkeacms ...

  10. django 快捷代码提示

    1.右键项目,Mark Directory As Source Root 2.settings配置 3.import包时可忽略app名了