Oracleprofile参数详解
一、profile功能
oracle系统中的profile是用来对用户所能使用的数据库资源进行限制的。
二、profile参数详解
(1)查看数据库资源限制参数
SQL>lect*fromdba_profiles;
PROFILERESOURCE_NAME
RESOURCELIMIT
----------------------------------------------------------------------
--------------------
DEFAULTCOMPOSITE_LIMIT
KERNELUNLIMITED
DEFAULTSESSIONS_PER_USER
KERNELUNLIMITED
DEFAULTCPU_PER_SESSION
KERNELUNLIMITED
DEFAULTCPU_PER_CALL
KERNELUNLIMITED
DEFAULTLOGICAL_READS_PER_SESSIONKE
RNELUNLIMITED
DEFAULTLOGICAL_READS_PER_CALLK
ERNELUNLIMITED
DEFAULTIDLE_TIME
KERNELUNLIMITED
DEFAULTCONNECT_TIME
KERNELUNLIMITED
DEFAULTPRIVATE_SGA
KERNELUNLIMITED
DEFAULTFAILED_LOGIN_ATTEMPTS
PASSWORD10
DEFAULTPASSWORD_LIFE_TIME
PASSWORDUNLIMITED
DEFAULTPASSWORD_REUSE_TIME
PASSWORDUNLIMITED
DEFAULTPASSWORD_REUSE_MAX
PASSWORDUNLIMITED
DEFAULTPASSWORD_VERIFY_FUNCTIONPA
SSWORDNULL
DEFAULTPASSWORD_LOCK_TIME
PASSWORDUNLIMITED
DEFAULTPASSWORD_GRACE_TIME
PASSWORDUNLIMITED
MONITORING_PROFILECOMPOSITE_LIMITKER
NELDEFAULT
MONITORING_PROFILESESSIONS_PER_USERKERN
ELDEFAULT
MONITORING_PROFILECPU_PER_SESSIONKER
NELDEFAULT
MONITORING_PROFILECPU_PER_CALLKE
RNELDEFAULT
MONITORING_PROFILELOGICAL_READS_PER_SESSIONKERNEL
DEFAULT
MONITORING_PROFILELOGICAL_READS_PER_CALLKERNEL
DEFAULT
MONITORING_PROFILEIDLE_TIME
KERNELDEFAULT
MONITORING_PROFILECONNECT_TIMEKE
RNELDEFAULT
MONITORING_PROFILEPRIVATE_SGAK
ERNELDEFAULT
MONITORING_PROFILEFAILED_LOGIN_ATTEMPTSPASSWO
RDUNLIMITED
MONITORING_PROFILEPASSWORD_LIFE_TIMEPASSW
ORDDEFAULT
MONITORING_PROFILEPASSWORD_REUSE_TIMEPASSW
ORDDEFAULT
MONITORING_PROFILEPASSWORD_REUSE_MAXPASSW
ORDDEFAULT
MONITORING_PROFILEPASSWORD_VERIFY_FUNCTIONPASSWORD
DEFAULT
MONITORING_PROFILEPASSWORD_LOCK_TIMEPASSW
ORDDEFAULT
MONITORING_PROFILEPASSWORD_GRACE_TIMEPASSW
ORDDEFAULT
32rowslected.
Unlimited:分配该profile的用户对资源使用无限制,当使用密码参数时,unlimited意味着没有
对参数加限制。
Default:指定为default意味着忽略对profile中的一些资源限制,Defaultprofile初始定义对资
源不限制,可以通过alterprofile命令来改变。
(2)参数详解
Resource_parameter部分:
Session_per_ur:指定限制用户的并发会话的数目。
Cpu_per_ssion:指定会话的CPU时间限制,单位为百分之一秒。
Cpu_per_call:指定一次调用(解析、执行和提取)的CPU时间限制,单位为百分之一秒。
Connect_time:指定会话的总的连接时间,以分钟为单位。
Idle_time:指定会话允许连续不活动的总的时间,以分钟为单位,超过该时间,会话将断开。
Logical_reads_per_ssion:指定一个会话允许读的数据块的数目,包括从内存和磁盘读
的所有数据块。
Logical_read_per_call:指定一次执行SQL(解析、执行和提取)调用所允许读的数据块的
最大数目。
Private_sga:指定一个会话可以在共享池(SGA)中所允许分配的最大空间,以字节为单位。
Composite_limit:指定一个会话的总的资源消耗,以rviceunits单位表示。Oracle数
据库以有利的方式计算
cpu_per_ssion,connect_time,
logical_reads_per_ssion和private-sga总的rviceunits
Password_parameter部分:
Failed_login_attempts:指定在帐户被锁定之前所允许尝试登陆的的最大次数。
Password_life_time:指定同一密码所允许使用的天数。
Password_reu_time和password_reu_max:这两个参数必须互相关联设置,
password_reu_time指定了密码不能重用前的
天数,而
password_reu_max则指定了当前密码被重用之前密码改变的次数。两个
参数都必须被设置为整数。
Password_lock_time:指定登陆尝试失败次数到达后帐户的锁定时间,以天为单位。
Password_grace_time:指定宽限天数,数据库发出警告到登陆失效前的天数。如果数据库
密码在这中间没有被修改,则过期会失效。
Password_verify_function:该字段允许将复杂的PL/SQL密码验证脚本做为参数传递到
createprofile语句。Oracle数据库提供了一个默认的
脚本,但是自己可以创建自己的验证规则或使用第三方软件验证。对Function名称,指定的是密
码验证规则的名称,指定为Null则意味着不使用密码
验证功能。如果为密码参数指定表达式,则该表达式可以是任
意格式,除了数据库量子查询。
三、使用profile
(1)创建profile,命令如下:
CREATEPROFILEprofileprofile_name
LIMIT{resource_parameters
|password_parameters
}
[resource_parameters
|password_parameters
]...;
(2)profile分配给用户,命令如下:
alterurur_nameprofileprofile_name;
四、举例
(1)创建一个用户u1
SQL>showur;
USERis"SYS"
SQL>createuru1identifiedbyu1;
Urcreated.
SQL>grantcreatessiontou1;
Grantsucceeded.
(2)创建profile为p1用来限制用户尝试登陆失败2次后会被锁定
SQL>createprofilep1limitFAILED_LOGIN_ATTEMPTS2;
Profilecreated.
(3)把创建的p1分配给u1
SQL>alteruru1profilep1;
Uraltered.
(4)尝试验证
SQL>lectUSERNAME,ACCOUNT_STATUS,LOCK_DATE,PROFILEfromdba_urs
whereurname='U1';
USERNAMEACCOUNT_STATUSLOCK_DATEPROFILE
---------------------------------------------------
------------------------------//看u1用户的状态没有被锁
U1OPEN
P1
SQL>connu1/a1;
ERROR:
ORA-01017:invalidurname/password;logondenied
Warning:YouarenolongerconnectedtoORACLE.
//尝
试两次失败登陆
SQL>connu1/a1;
ERROR:
ORA-01017:invalidurname/password;logondenied
SQL>lectUSERNAME,ACCOUNT_STATUS,LOCK_DATE,PROFILEfromdba_urswhere
USERNAME='U1';
USERNAMEACCOUNT_STATUSLOCK_DATEPROFI
LE
---------------------------------------------
------------------------------//查看U1用的状态,已经被锁
U1LOCKED(TIMED)05-MAR
-14P1
SQL>connu1/u1;
ERROR:
//在被锁之后,使用正确的密码也不能再登陆
ORA-28000:theaccountis
locked
Warning:YouarenolongerconnectedtoORACLE.
(5)解决办法:第一种可以等Password_lock_time参数设定的天数过了之后自动解
锁,第二种需要管理员帮助,为用户解锁,在此选择第二种方
法求职管理员。
SQL>showur;
USERis"SYS"
SQL>alteruru1accountunlockidentifiedby
u1;//用户解锁时可以使用之前的密码
Uraltered.
SQL>connu1/u1;
Connected.
SQL>showur;
USERis
"U1"//u1用户成功登陆
本文发布于:2022-11-26 10:36:49,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/24553.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |