一、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. Nginx根据用户请求的不同参数返回不同的json值

    用户请求url:http://localhost:8000/getconfig?v=1.03.01,根据参数v=1.03.01或者其他的值返回不同的json值.如果用户请求不带该参数,则返回默认的js ...

  2. 下了个蓝屏代码查看工具,就中病毒了。。。什么鬼病毒,竟然还是用的VBS

    扫描所有盘下面的html文件,加入VBS脚本...真是奇葩,多少年前的病毒了... http://files.cnblogs.com/files/guangshan/lpdmcxq.rar 这个是病毒 ...

  3. Panda3d code in github

    https://github.com/panda3d/panda3d [ref files] http://www.panda3d.noie.name/ https://www.panda3d.org ...

  4. Android-Activity-startActivityForResult

    之前 Android-Intent意图传递数据,的博客讲解了,一个Activity 跳转 到另外一个Activity 可以把数据带过去 Android还提供了一种方式,一个Activity 跳转 到另 ...

  5. c3p0-数据库连接池原理

    一直用c3p0很久了,但也没时间或没主动去研究过,直到最近频频在出现一些莫名其妙的问题,觉得还是有必要了解和研究一下. c3p0是什么 c3p0的出现,是为了大大提高应用程序和数据库之间访问效率的. ...

  6. [LeetCode 题解]: LetterCombinations

    Given a digit string, return all possible letter combinations that the number could represent. A map ...

  7. jQuery制作多表格固定表头、切换表头的特效

    做了好几天的固定表头特效,总算是搞定了.先说明一下基本功能:我们在一个网页上浏览很多份表格数据的时候,肯定会碰到很多分不清表头,也分不清表 格是哪个的情况,这个时候我们就希望能有一种功能,就是我们再下 ...

  8. CentOS下Docker与.netcore(二) 之 Dockerfile

    CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.netcore(二) 之 Dockerfile CentOS下Docker与.netcore(三)之 三剑客 ...

  9. Foxman, 基于微核架构的 Mock 解决方案

    本文来自 网易云社区 . Foxman ⇗ 是一个使用 Node.js 开发的命令行工具,定位是一个可扩展的 Mock Server,帮助前端开发者轻松.独立.高效地进行前端开发和完成后续的联调工作. ...

  10. RDLC报表的相关技巧三(数量/金额的逐页累加)

    数量/金额的逐页累加,不是当页小计. 核心步骤: 1.在Group1大组中加入小组Group2,2.Group2的组尾加入一个计算框 : =RunningValue(Fields!BaseAmount ...