技术标签: 数据库
Oracle系统为了合理分配和使用系统的资源提出了概要文件的概念。所谓概要文件,就是一份描述如何使用系统的资源(主要是CPU资源)的配置文件。将概要文件赋予某个数据库用户,在用户连接并访问数据库服务器时,系统就按照概要文件给他分配资源。在有的书中将其翻译为配置文件,其作用包括:
1、管理数据库系统资源。
利用Profile来分配资源限额,必须把初始化参数resource_limit设置为true
ALTER SYSTEM SET resource_limit=TRUE SCOPE=BOTH;
2、管理数据库口令及验证方式。
默认给用户分配的是DEFAULT概要文件,将该文件赋予了每个创建的用户。但该文件对资源没有任何限制,因此管理员常常需要根据自己数据库系统的环境自行建立概要文件
通过数据字典查看缺省资源配置内容:
任务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/
文章浏览阅读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 在之上
文章浏览阅读1.5k次。假如我们需要设计X和Y两个列表,这两个列表具有相似的代码唯一的不同是数据类型,则在C++中实现有如下的选择:共同的基类:在大多数场景并不适用,只是为了一个列表去提炼基类也没必要。 克隆代码:分别对X 和 Y 类型定义各自的列表,能够保证类型安全但是后期维护成本高。 空列表:定义一个没有类型的列表 (void(*))。缺点是类型不安全。除此之外,我们还可以用Template来实现,Template 既能保证重用代码,还能保证类型安全。那我们就来看看Template是如何施展魔法的。Templa._c++ templates
文章浏览阅读497次。打开.wxml文件的时候,选择右下角的“Open all with current extension as…”,然后再从弹出的列表中选择“HTML”打开.wxss文件的时候,选择右下角的“Open all with current extension as…”,然后再从弹出的列表中选择“css”..._sumlime text 微信小程序代码高亮
文章浏览阅读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
文章浏览阅读1.3k次。H5分享_h5分享 代码怎么实现
文章浏览阅读210次。C语言实现牛顿插值法(附完整源码)_c语言利用插值法生成200个速度的数据
文章浏览阅读444次。主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,新增加的项目包括,YARN, Hcatalog, Oozie, Cassandra, Hama, Whirr, Flume, Bigtop, Crunch, Hue等。从2011年开始,中国进入大数据风起云
文章浏览阅读133次。在Python中,想要遍历同类型的文件可使用的方法有很多,比如:使用OS模块、使用glob模块、使用pathlib模块等,接下来是具体方法介绍。可以使用os模块中的listdir方法获取文件夹下所有的文件和子文件夹。然后通过遍历获取到的文件和文件夹列表,筛选出符合条件的文件。glob模块可以根据指定的通配符搜索匹配的文件路径,这样可以更方便地获取指定类型的文件路径。Pathlib模块可以方便地进行文件路径的操作,包括遍历、过滤和获取文件类型等。3、使用Pathlib模块。2、使用glob模块。
文章浏览阅读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
文章浏览阅读81次。WebPack-Loader Loaders鼎鼎大名的Loaders登场了!1、什么是loaders Loaders是webpack中最让人激动人心的功能之一了。通过使用不同的loader,webpack通过调用外部的脚本或工具可以对各种各样的格式的文件进行处理, 比如说分析JSON文件并把它转换为JavaScript文件,或者..._webpack_loader怎么装
文章浏览阅读692次,点赞17次,收藏6次。1.背景介绍个性化推荐系统是现代互联网企业的核心业务之一,它通过分析用户行为、内容特征等多种信息,为每个用户推荐最合适的内容。在实际应用中,个性化推荐系统需要在满足用户需求的同时,也要考虑到业务需求,例如提高用户活跃度、增加用户 stickiness 等。因此,个性化推荐系统中的优化目标往往是多目标的,需要在多个目标之间进行权衡。在这篇文章中,我们将从以下几个方面进行深入探讨:背景介...
文章浏览阅读8w次,点赞33次,收藏166次。我们在编程中常常用到十六进制颜色码。 下面是颜色码对照表-英文名称-十六进制-RGB: 英文代码 形像颜色 HEX格式 RGB格式 LightPink浅粉色#FFB6C1255,182,193Pink粉红#FFC0CB255,192,_jsp颜色代码表