环境:Oracle 11g

一.权限的传递

  1.如果传递的是对象权限,就在后面加入with grant option;

  eg:system用户有张temp的表,只想usertest用户拥有查询的权限,则:

grant select on temp to usertest with grant option;

  2.如果传递的是系统权限,则加入with admin option;

  eg:system用户将connect角色传递给usertest用户:

grant connect to usertest with admin option;

二.Profile使用详解

  1.目的:

  Oracle数据库系统中的Profile可以用来对用户所能使用的数据库资源进行限制,使用create Profile命令创建一个Profile,用它来实现对数据库资源的限制使用。如果将Profile分配给用户,则该用户所能使用的数据库资源都在该Profile的限制之内。

  2.条件:

  必须拥有dba的权限才能配置Profile文件。

  3.语法:

CREATE PROFILE profile

  LIMIT { resource_parameters

  | password_parameters

  }

  [ resource_parameters

  | password_parameters

  ]... ;

  <resource_parameters>

  { { SESSIONS_PER_USER

  | CPU_PER_SESSION

  | CPU_PER_CALL

  | CONNECT_TIME

  | IDLE_TIME

  | LOGICAL_READS_PER_SESSION

  | LOGICAL_READS_PER_CALL

  | COMPOSITE_LIMIT

  }

  { integer | UNLIMITED | DEFAULT }

  | PRIVATE_SGA

  { integer [ K | M ] | UNLIMITED | DEFAULT }

  }

  4.语法解释:

  Resource_parameter部分
       Session_per_user:指定限制用户的并发会话的数目。
       Cpu_per_session:指定会话的CPU时间限制,单位为百分之一秒。
       Cpu_per_call:指定一次调用(解析、执行和提取)的CPU时间限制,单位为百分之一秒。
       Connect_time:指定会话的总的连接时间,以分钟为单位。
       Idle_time:指定会话允许连续不活动的总的时间,以分钟为单位,超过该时间,会话将断开。但是长时间运行查询和其他操作的不受此限制。
       Logical_reads_per_session:指定一个会话允许读的数据块的数目,包括从内存和磁盘读的所有数据块。
       Logical_read_per_call:指定一次执行SQL(解析、执行和提取)调用所允许读的数据块的最大数目。
       Private_sga:指定一个会话可以在共享池(SGA)中所允许分配的最大空间,以字节为单位。(该限制只在使用共享服务器结构时才有效,会话在SGA中的私有空间包括私有的SQL和PL/SQL,但不包括共享的SQL和PL/SQL)。
       Composite_limit:指定一个会话的总的资源消耗,以service
units单位表示。Oracle数据库以有利的方式计算
cpu_per_session,connect_time,logical_reads_per_session和private-sga总的
service units
      
       Password_parameter部分:  
       Failed_login_attempts:指定在帐户被锁定之前所允许尝试登陆的的最大次数。
      
Password_life_time:指定同一密码所允许使用的天数。如果同时指定了password_grace_time参数,如果在grace
period内没有改变密码,则密码会失效,连接数据库被拒绝。如果没有设置password_grace_time参数,默认值unlimited将引
发一个数据库警告,但是允许用户继续连接。
      
Password_reuse_time和password_reuse_max:这两个参数必须互相关联设置,password_reuse_time
指定了密码不能重用前的天数,而password_reuse_max则指定了当前密码被重用之前密码改变的次数。两个参数都必须被设置为整数。
       1>.如果为这两个参数指定了整数,则用户不能重用密码直到密码被改变了password_reuse_max指定的次数以后在password_reuse_time指定的时间内。
       如:password_reuse_time=30,password_reuse_max=10,用户可以在30天以后重用该密码,要求密码必须被改变超过10次。
       2>.如果指定了其中的一个为整数,而另一个为unlimited,则用户永远不能重用一个密码。
       3>.如果指定了其中的一个为default,Oracle数据库使用定义在profile中的默认值,默认情况下,所有的参数在profile中都被设置为unlimited,如果没有改变profile默认值,数据库对该值总是默认为unlimited。
       4>.如果两个参数都设置为unlimited,则数据库忽略他们。
       Password_lock_time:指定登陆尝试失败次数到达后帐户的缩定时间,以天为单位。
       Password_grace_time:指定宽限天数,数据库发出警告到登陆失效前的天数。如果数据库密码在这中间没有被修改,则过期会失效。
      
Password_verify_function:该字段允许将复杂的PL/SQL密码验证脚本做为参数传递到create
profile语句。Oracle数据库提供了一个默认的脚本,但是自己可以创建自己的验证规则或使用第三方软件验证。
对Function名称,指定的是密码验证规则的名称,指定为Null则意味着不使用密码验证功能。如果为密码参数指定表达式,则该表达式可以是任意格
式,除了数据库标量子查询。

  5.实例:

  实例1>限制usertest用户尝试输入密码的次数为3次,3次输入错误,则锁定账号3天:

  账户的解锁,使用如下语句:

    SQL>alter user usertest(your_user_name) account unlock;

  实例2>强制用户定期修改密码。让usertest用户每隔10天修改登陆密码,宽限期为2天:

  实例3>希望用户在修改密码的时候不能使用上一次使用过的密码:

  使用口令历史,这样Oracle数据库就会将口令修改的信息存放到数据字典中,这样当用户修改密码时,就会对新旧密码进行匹配,发现一致时,提醒用户重新输入密码

  6.删除Profile配置

drop profile your_profile_name [cascade];

Oracle学习第二天---Profile的使用的更多相关文章

  1. oracle学习 第二章 限制性查询和数据的排序 ——03

    这里.我们接着上一小节2.6留下的问题:假设要查询的字符串中含有"_"或"%".又该如何处理呢? 開始今天的学习. 2.7  怎样使用转义(escape)操作符 ...

  2. Oracle学习第二天

    oracle数据库的常见数据类型oracle全部数据类型 有26种 char定长字符串类型 长度是固定不变的 例如:no char(10) 如果存入的值不足十个字符,其它位也被占用默认长度是1 最大长 ...

  3. 【Java EE 学习 28 上】【oracle学习第二天】【子查询】【集合运算】【几种数据库对象】

    一.子查询 1.为什么要使用子查询:问题不能一步求解或者一个查询不能通过一步查询得到. 2.分类:单行子查询和多行子查询. 3.子查询的本质:一个查询中包含了另外一个或者多个查询. 4.使用子查询的规 ...

  4. Oracle学习第二篇—单行函数

    1字符函数 length  字符长度 lengthb 字节长度 lower 变为小写 upper 变为大写 initcap 首字母大写 select Lower('xun Ying') 小写,Uppe ...

  5. Asp.Net MVC4 + Oracle + EasyUI 学习 第二章

    Asp.Net MVC4 + Oracle + EasyUI 第二章 --使用Ajax提升网站性能 本文链接:http://www.cnblogs.com/likeli/p/4236723.html ...

  6. Oracle学习线路

    出自huyangg的博客,地址是:oracle学习路线图 1.sql.pl/sql(网上有很多的视频,可以做一个简单的入手,然后看几本书,多做实验)    作为oracle的基本功,需要大家对sql和 ...

  7. Oracle学习系列1-7

    Oracle学习系列1 两个服务必须启动: OracleOraDb10g*TNListener 和 OracleService*** 使用sqlplusw先进行环境的设置 set linesize 3 ...

  8. Oracle学习系列3

    Oracle学习系列3 ************************************************************************************ 多表查 ...

  9. oracle学习笔记(一)用户管理

    --oracle学习第一天 --连接 @后面连接数据库实例,具体连接到那个数据库 conn scott/tiger@MYORA1; --修改密码 passw; --显示用户 show user; -- ...

随机推荐

  1. 普通Jquery的ajax判断重复和formvalidator的ajaxValidator区别

    示例:1.ajax版: $("#txtTitle").blur(function () {                 $.ajax({                     ...

  2. xmlBean学习二

    由上一遍的准备工作完成后,可以很简单的就进行对xml文件的操作, package com; import java.io.File; import java.io.IOException; impor ...

  3. servlet--页面自刷新

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletExcepti ...

  4. python的一些总结4

    这篇继续水 但是在水的的基础上 让搭建能正常使用flask 搭建一个站 上篇讲到在 模板view中 输入{{xx }} 可以打印 后台传的值. 这篇讲一下 循环控制 条件控制等 修改后台代码: @ap ...

  5. SAP-设置显示表格格式

    在我们用SAP系统的过程中产看表格的时候,需要设置查看表格的格式,表格的格式主要包含两个方面: 1,表格的样式 在查看表格的时候点击[设置]-[用户参数] 勾选[ALV Grid display]就控 ...

  6. [MEAN Stack] First API -- 4. Organize app structure

    The app structure: Front-end: app.js /** * Created by Answer1215 on 12/9/2014. */ 'use strict'; func ...

  7. 日志分析(三) kibana数据展示

    kibana最新版本支持自定义数据大盘了,今天试用了下,感觉非常棒.上图: 支持多维度定义视图,然后视图里面可以依据粗粒度维度进行图表归类.总之,比旧版本强大太多了.后面试试能否扩展加入耦合一定业务数 ...

  8. css笔记16:盒子模型的入门案例

    1.案例一: 效果图如下: (1)box1.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&quo ...

  9. Android(java)学习笔记105:Map集合的遍历之键值对对象找键和值

    package cn.itcast_01; import java.util.HashMap; import java.util.Map; import java.util.Set; /* * Map ...

  10. 仿UC浏览器图片加载进度条

    前几天用UC浏览器看新闻(无意中给UC打了广告),看到它的图片加载进度条,正好最近有时间,所以就自己写了一个. 效果图如下 进度条的底色和填充颜色都可以调整. 首先中间的笑脸作为一个整体,其实现代码如 ...