【用户概要文件】创建用户概要文件-程序员宅基地

技术标签: 数据库  

Oracle系统为了合理分配和使用系统的资源提出了概要文件的概念。所谓概要文件,就是一份描述如何使用系统的资源(主要是CPU资源)的配置文件。将概要文件赋予某个数据库用户,在用户连接并访问数据库服务器时,系统就按照概要文件给他分配资源。在有的书中将其翻译为配置文件,其作用包括:
1、管理数据库系统资源。
利用Profile来分配资源限额,必须把初始化参数resource_limit设置为true
ALTER SYSTEM SET resource_limit=TRUE SCOPE=BOTH;
2、管理数据库口令及验证方式。
默认给用户分配的是DEFAULT概要文件,将该文件赋予了每个创建的用户。但该文件对资源没有任何限制,因此管理员常常需要根据自己数据库系统的环境自行建立概要文件

 

通过数据字典查看缺省资源配置内容:
select * from dba_profiles order by profile;

DEFAULT PROFILE:
       1、所有的用户创建时都会被指定这个PROFILE
            2、DEFAULT PROFILE的内容为空,无限制


PROFILE的管理(资源文件)当需要设置资源限制时,必须设置数据库系统启动参数RESOURCE_LIMIT,此参数默认值为FALSE  
 
    可以使用如下命令来启动当前资源限制:
      alter system set RESOURCE_LIMIT=true;
          当需要以后启动时也启动限制,必须在init.ora中设置
          RESOURCE_LIMIT=true


PROFILE的口令机制限制: 限制生效的前提:                  
        
  A、RESOURCE_LIMIT:=TRUE
                  B、ORACLE\RDBMS\ADMIN\UTLPWDMG.SQL


任务1:创建profile

创建概要文件my_profile

1)密码复杂性要求:启用;

2)密码长度最小值:8位;

3)密码错误输入三次,锁定账户,2分钟后自动解锁

 

任务2

1)修改siebel用户的概要文件my_profile

2)修改siebel密码(自行设定)

 

--创建密码复杂度校验函数

SQL> @?/rdbms/admin/utlpwdmg.sql

 

Function created.

 

 

Grant succeeded.

 

 

Profile altered.

 

 

Function created.

 

 

Grant succeeded.

 

--创建概要文件

SQL> create profile my_profile limit

  2  failed_login_attempts 3 password_lock_time 2/1440

  3  password_verify_function verify_function;

 

Profile created.

 

--修改siebel用户使用my_profile概要文件

SQL> alter user siebel profile my_profile;

 

User altered.

 

SQL> desc dba_users;

 Name                                      Null?    Type

 ----------------------------------------- -------- ----------------------------

 USERNAME                                  NOT NULL VARCHAR2(30)

 USER_ID                                   NOT NULL NUMBER

 PASSWORD                                           VARCHAR2(30)

 ACCOUNT_STATUS                            NOT NULL VARCHAR2(32)

 LOCK_DATE                                          DATE

 EXPIRY_DATE                                        DATE

 DEFAULT_TABLESPACE                        NOT NULL VARCHAR2(30)

 TEMPORARY_TABLESPACE                      NOT NULL VARCHAR2(30)

 CREATED                                   NOT NULL DATE

 PROFILE                                   NOT NULL VARCHAR2(30)

 INITIAL_RSRC_CONSUMER_GROUP                        VARCHAR2(30)

 EXTERNAL_NAME                                      VARCHAR2(4000)

 PASSWORD_VERSIONS                                  VARCHAR2(8)

 EDITIONS_ENABLED                                   VARCHAR2(1)

 AUTHENTICATION_TYPE                                VARCHAR2(8)

 

SQL> select username,default_tablespace,created,profile from dba_users;

 

USERNAME        DEFAULT_TABLESP CREATED   PROFILE

--------------- --------------- --------- ---------------

SYS             SYSTEM          24-AUG-13 DEFAULT

SYSTEM          SYSTEM          24-AUG-13 DEFAULT

OUTLN           SYSTEM          24-AUG-13 DEFAULT

MGMT_VIEW       SYSTEM          24-AUG-13 DEFAULT

APPQOSSYS       SYSAUX          24-AUG-13 DEFAULT

WMSYS           SYSAUX          24-AUG-13 DEFAULT

EXFSYS          SYSAUX          24-AUG-13 DEFAULT

CTXSYS          SYSAUX          24-AUG-13 DEFAULT

XDB             SYSAUX          24-AUG-13 DEFAULT

ANONYMOUS       SYSAUX          24-AUG-13 DEFAULT

ORDSYS          SYSAUX          24-AUG-13 DEFAULT

 

USERNAME        DEFAULT_TABLESP CREATED   PROFILE

--------------- --------------- --------- ---------------

ORDDATA         SYSAUX          24-AUG-13 DEFAULT

ORDPLUGINS      SYSAUX          24-AUG-13 DEFAULT

SI_INFORMTN_SCH SYSAUX          24-AUG-13 DEFAULT

EMA

 

MDSYS           SYSAUX          24-AUG-13 DEFAULT

OLAPSYS         SYSAUX          24-AUG-13 DEFAULT

SYSMAN          SYSAUX          24-AUG-13 DEFAULT

FLOWS_FILES     SYSAUX          24-AUG-13 DEFAULT

APEX_030200     SYSAUX          24-AUG-13 DEFAULT

OWBSYS          SYSAUX          24-AUG-13 DEFAULT

 

USERNAME        DEFAULT_TABLESP CREATED   PROFILE

--------------- --------------- --------- ---------------

OWBSYS_AUDIT    SYSAUX          24-AUG-13 DEFAULT

DIP             USERS           24-AUG-13 DEFAULT

ORACLE_OCM      USERS           24-AUG-13 DEFAULT

XS$NULL         USERS           24-AUG-13 DEFAULT

MDDATA          USERS           24-AUG-13 DEFAULT

SPATIAL_WFS_ADM USERS           24-AUG-13 DEFAULT

IN_USR

 

SPATIAL_CSW_ADM USERS           24-AUG-13 DEFAULT

IN_USR

 

 

USERNAME        DEFAULT_TABLESP CREATED   PROFILE

--------------- --------------- --------- ---------------

APEX_PUBLIC_USE USERS           24-AUG-13 DEFAULT

R

 

SCOTT           USERS           24-AUG-13 DEFAULT

HR              USERS           30-AUG-16 DEFAULT

OE              USERS           30-AUG-16 DEFAULT

IX              USERS           30-AUG-16 DEFAULT

SH              USERS           30-AUG-16 DEFAULT

PM              USERS           30-AUG-16 DEFAULT

BI              USERS           30-AUG-16 DEFAULT

DBSNMP          SYSAUX          24-AUG-13 MONITORING_PROF

 

USERNAME        DEFAULT_TABLESP CREATED   PROFILE

--------------- --------------- --------- ---------------

                                          ILE

 

SIEBEL          TS_USERS        20-SEP-16 MY_PROFILE

 

37 rows selected.

查看已将用户SIEBEL的概要文件改为MY_ROFILE.

 

——修改SIEBEL用户密码:

SYS >alter user siebel identified by q1w2E#R$;

 

User altered.

============补充概要文件===============================
一.概要文件作用

  概要文件是口令限制和资源限制的命名集合。具有以下作用

a.      限制用户执行消耗资源过度的sql操作。
b.      自动断开空闲回话。
c.      在数据库系统中合理分配资源。
d.      控制用户口令的使用。

在建立数据库时,Oracle会自动建立default的概要文件,在口令与资源的限制均为unlimited,即未进行口令与资源的限制。
二.概要文件内容
1.口令策略参数
  可以实现账户锁定,口令的过期,口令的复杂度等。有以下几个

a.      failed_login_attempts:指定允许输入错误口令的次数,超过该次数账户将被锁定。
b.      password_lock_time:指定账户被锁定的天数。(单位:天)
c.      password_life_time:指定口令的有效期(单位:天)。如果达到有效期前用户还没有更换口令,口令将失效。必须由DBA重新设置新的口令。
d.      password_grace_time:指定口令的宽限期(单位:天)。
e.      password_reuse_time:指定能够重复使用一个口令前必须经过的时间(单位:天)。
f.       password_reuse_max:指定在重复使用口令前必须对口令进行修改的次数。Password_reuse_time和password_reuse_max只能 设置一个,另一个必须为unlimited
g.      password_verify_function:指定验证口令复杂度的函数。oracle提供了一个默认的口领校验函数,可以运行脚本$ORACLE_HOME/rdbms/admin/utlpwdmg.sql建立。

2.资源限制参数
  利用概要文件,可以对以下系统资源进行限制

cpu时间,逻辑读,用户的并发会话数,空闲时间,连接时间,私有SGA区

a.      cpu_per_session:限制每个参数所能使用的cpu时间。参数值为整数,单位百分之一秒。
b.      session_per_user:限制每个用户所能使建立的最大并发会话数。
c.      connect_time:限制每个会话所能连接到数据库的最大时间,超过这个时间,会话将自动断开,参数值为整数,单位为分钟。
d.      idle_time:限制每个用户所允许的最长连续空闲时间,超过这个时间会话将自动断开,参数值整数,单位为分钟。
e.      Logical_reads_per_session:限制每个会话所能读取的数据块数目。
f.      Private_sga:每个会话分配的私有SGA区大小(以字节为单位),只对共享服务器模式有效。
g.      Cpu_per_call:用于指定每条sql可占用的最大cpu时间,单位百分之一秒。

三.使用概要文件管理口令

概要文件管理口令由锁定账户、终止口令、口令历史以及口令校验等四种安全保护方式。概要文件中包含7个口令管理选项,如果仅指定某个或某几个选项,那么其他选项将自动使用default概要文件的相应选项值。

使用概要文件管理口令的步骤是:创建概要文件(create profile)--->设置相关口令参数(limit)--->把概要文件分配给用户。一般建立概要文件由DBA来完成,如果以其他用户身份建立,需要具有create profile权限。
 
  case1(锁定账户):限制用户登录失败次数为3

     create profile devp_lock limit  
     failed_login_attempts 3;  
     Profile created.  
      
    sys@ORCL> alter user scott profile devp_lock;  
      
    User altered.
 

连续三次登录失败后使用正确的密码登录:

    sys@ORCL> conn scott/oracle;  
    ERROR:  
    ORA-28000: the account is locked

  case2(终止口令):使用户口令具有生存期,口令在生存期之后会失效。

    create profile devp_time limit  
    password_life_time 3;  
    Profile created.  
      
    sys@ORCL> alter user scott profile devp_time;  
    User altered.

  case3(口令历史):通过核对新口令确保在指定时间或口令更改次数内不重复使用:

        create profile devp_his limit  
        password_life_time 10  
        password_grace_time 2  
        password_reuse_time 10  
        password_reuse_max unlimited;  
      
    Profile created.

注意:password_reuse_time和password_reuse_max两个参数只能设置一个,另一个必须为unlimited.

概要文件分配给用户后,如果前11天没有修改用户口令,在第12天登录时,oracle会强制终止口令,并要求用户改变口令。但如果仍然使用过去的口令修改不能成功
 
  case4(口令校验):使用口令校验函数来强制用户使用复杂的口令。

函数规范:

function_name(
userid_parameter IN VARCHAR2(30),
password_parameter IN VARCHAR2(30),
old_password_parameter IN VARCHAR2(30))
RETURNBOOLEA

userid_patameter对应于用户名,password_parameter对应于新口令,old_password_parameter对应于就口令。

可以通过运行$ORACLE_HOME/rdbms/admin/utlpwdmg.sql来建立默认的口令校验函数。

    @utlpwdmg.sql   
      
    Function created.  
      
    Profile altered.  
      
    Function created.


    create profile devp_verify limit  
    password_life_time 10  
    password_grace_time 2  
    password_verify_function verify_function;  
         
    Profile created.  
   
四.使用概要文件管理资源
概要文件既可以限制整个会话的资源占用,也可以限制调用级(sql语句)的资源占用,要使用概要文件管理资源,必须要激活资源限制功能,通过设置初始化参数
RESOURCE_LIMIT为true实现:

  alter system set resource_limit=true;  
      
  System altered.

使用概要文件管理资源与管理口令的步骤一样,都是先建立概要文件,设置相关的资源参数,再分配给用户。

 1.限制会话资源:如果用户超过某一会话级资源限制,oracle将终止(回滚)当前执行的语句,并通知用户此会话超出资源限制。
此时,当前会话内已执行的语句不受资源限制的影响,用户中基恩能够执行commit,rollback,或断开连接,用户的其他所有操作
都将报错。当事务被提交或回滚后,用户在当前会话内也不能执行其他操作。

  case1:数据库最多允许两个开发人员以scott用户登录进行操作,每个会话连接时间不能超过30Min,会话空闲时间不能超过10min.

[sql] view plain copy
在CODE上查看代码片派生到我的代码片

       create profile devp_session limit  
       sessions_per_user 2  
       connect_time 30  
       idle_time 10;  
      
    Profile created.

管理员可以限制一个会话的空闲时间(idle time),如果会话内两次oracle调用的时间间隔达到限制值,当前事务将被回滚,会话被终止,所占用的资源也将被回收。此时是由pmon(进程监视器)对被终止的会话进行清理。同时,oracle不会不断的监控会话的空闲及连接时间,而是每隔数分钟检查一次,所以有可能在终止会话前,已经略微超出了限制时间。

  2.限制调用资源
为了防止某个调用过度地使用系统资源,oracle允许管理员在调用级设置多种资源限制。如果用户超过了调用级资源限制,oracle将停止执行语句,并进行回滚,之后向用户报错,但会话内已执行的语句不受资源限制的影响,用户会话也将保持连接状态。

  case1:

[sql] view plain copy
在CODE上查看代码片派生到我的代码片

    create profile devp_call limit   
    cpu_per_call 200  
    logical_reads_per_call 3;  
      
    Profile created.

五.修改概要文件

1.修改

      alter profile devp_call limit  
      sessions_per_user 2  
      failed_login_attempts 2  
      cpu_per_call 200;  
      
    Profile altered.

2.删除(如果概要文件已经分配给乐某个用户,必须使用cascade选项,用户也将恢复使用默认的default概要文件)

    drop profile devp_call cascade;  
      
    Profile dropped.

六.查看概要文件信息

1.查询用户的概要文件

    select profile from dba_users where username='SCOTT';  
      
    PROFILE  
    ------------------------------  
    DEVP_SESSION

2.查看概要文件的内容

select * from dba_profiles where profile='DEVP_SESSION';



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31397003/viewspace-2126944/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31397003/viewspace-2126944/

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/congjiu2607/article/details/100364358

智能推荐

android:layout_above="@id/xxx"  --将控件置于给定ID控件之上android:layout_below="@id/xxx"  -_android layout 在之上-程序员宅基地

文章浏览阅读2.3k次。Android中RelativeLayout各个属性 android:layout_above="@id/xxx" --将控件置于给定ID控件之上android:layout_below="@id/xxx" --将控件置于给定ID控件之下android:layout_toLeftOf="@id/xxx" --将控件的右边缘和给定ID控件的左边缘对齐andr_android layout 在之上

C++语法篇之 Templates 模板_c++ templates-程序员宅基地

文章浏览阅读1.5k次。假如我们需要设计X和Y两个列表,这两个列表具有相似的代码唯一的不同是数据类型,则在C++中实现有如下的选择:共同的基类:在大多数场景并不适用,只是为了一个列表去提炼基类也没必要。 克隆代码:分别对X 和 Y 类型定义各自的列表,能够保证类型安全但是后期维护成本高。 空列表:定义一个没有类型的列表 (void(*))。缺点是类型不安全。除此之外,我们还可以用Template来实现,Template 既能保证重用代码,还能保证类型安全。那我们就来看看Template是如何施展魔法的。Templa._c++ templates

用SublimeText3开发微信小程序时,如何让代码高亮显示_sumlime text 微信小程序代码高亮-程序员宅基地

文章浏览阅读497次。打开.wxml文件的时候,选择右下角的“Open all with current extension as…”,然后再从弹出的列表中选择“HTML”打开.wxss文件的时候,选择右下角的“Open all with current extension as…”,然后再从弹出的列表中选择“css”..._sumlime text 微信小程序代码高亮

php7链接mysql8报错SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES)_运行php项目sqlstate[hy000] [1045] access denied for us-程序员宅基地

文章浏览阅读7.1k次。使用环境:windows 7 下wampserver 3.2.0-64bitmysql版本8.0.18 端口号:3308php版本7.3.12测试的源码:<?php$servername = "localhost";$username = "root";$password = "root"; try { $conn = new PDO("mysql:host=..._运行php项目sqlstate[hy000] [1045] access denied for user ''@'localhost' (usi

H5分享功能实现_h5分享 代码怎么实现-程序员宅基地

文章浏览阅读1.3k次。H5分享_h5分享 代码怎么实现

C语言实现牛顿插值法(附完整源码)_c语言利用插值法生成200个速度的数据-程序员宅基地

文章浏览阅读210次。C语言实现牛顿插值法(附完整源码)_c语言利用插值法生成200个速度的数据

随便推点

用Maven构建Hadoop项目-程序员宅基地

文章浏览阅读444次。主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,新增加的项目包括,YARN, Hcatalog, Oozie, Cassandra, Hama, Whirr, Flume, Bigtop, Crunch, Hue等。从2011年开始,中国进入大数据风起云

Python中遍历同类型文件的方法!-程序员宅基地

文章浏览阅读133次。在Python中,想要遍历同类型的文件可使用的方法有很多,比如:使用OS模块、使用glob模块、使用pathlib模块等,接下来是具体方法介绍。可以使用os模块中的listdir方法获取文件夹下所有的文件和子文件夹。然后通过遍历获取到的文件和文件夹列表,筛选出符合条件的文件。glob模块可以根据指定的通配符搜索匹配的文件路径,这样可以更方便地获取指定类型的文件路径。Pathlib模块可以方便地进行文件路径的操作,包括遍历、过滤和获取文件类型等。3、使用Pathlib模块。2、使用glob模块。

android5.0以上实现录屏功能,并将录屏内容在相册中显示!(unity调用android方法)-程序员宅基地

文章浏览阅读5.6k次。package com.Xreal.TJYH;import android.Manifest;import android.content.ContentValues;import android.content.Context;import android.content.Intent;import android.content.pm.PackageManager;import

WebPack-Loader-程序员宅基地

文章浏览阅读81次。WebPack-Loader Loaders鼎鼎大名的Loaders登场了!1、什么是loaders  Loaders是webpack中最让人激动人心的功能之一了。通过使用不同的loader,webpack通过调用外部的脚本或工具可以对各种各样的格式的文件进行处理,  比如说分析JSON文件并把它转换为JavaScript文件,或者..._webpack_loader怎么装

个性化推荐中的多目标优化:业务与技术平衡-程序员宅基地

文章浏览阅读692次,点赞17次,收藏6次。1.背景介绍个性化推荐系统是现代互联网企业的核心业务之一,它通过分析用户行为、内容特征等多种信息,为每个用户推荐最合适的内容。在实际应用中,个性化推荐系统需要在满足用户需求的同时,也要考虑到业务需求,例如提高用户活跃度、增加用户 stickiness 等。因此,个性化推荐系统中的优化目标往往是多目标的,需要在多个目标之间进行权衡。在这篇文章中,我们将从以下几个方面进行深入探讨:背景介...

java颜色代码对照表_jsp颜色代码表-程序员宅基地

文章浏览阅读8w次,点赞33次,收藏166次。我们在编程中常常用到十六进制颜色码。   下面是颜色码对照表-英文名称-十六进制-RGB: 英文代码 形像颜色 HEX格式 RGB格式 LightPink浅粉色#FFB6C1255,182,193Pink粉红#FFC0CB255,192,_jsp颜色代码表

推荐文章

热门文章

相关标签