oracle数据库中要使proflie中的资源限制_使用Oracle的PROFILE对用户资源限制和密码限制...

转至:https://blog.csdn.net/zhuomingwang/article/details/6444240?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.control

1.用户创建语句PROFILE选项

如果大家细心的话,在创建用户的语法中有这么一个选项“PROFILE profile”。

下面是Oracle 11gR2官方文档中关于创建用户的语法描述(较之10g的文档可读性加强了,当然功能也同样有所增加):

CREATE USER user

IDENTIFIED { BY password

| EXTERNALLY [ AS 'certificate_DN'  |  AS 'kerberos_principal_name' ]

| GLOBALLY [ AS '[ directory_DN ]' ]

}

[ DEFAULT TABLESPACE tablespace

| TEMPORARY TABLESPACE

{ tablespace | tablespace_group_name }

| { QUOTA { size_clause | UNLIMITED } ON tablespace }...

| PROFILE profile

| PASSWORD EXPIRE

| ACCOUNT { LOCK | UNLOCK }

| ENABLE EDITIONS

]...

] ;

2.提问:PROFILE选项是做什么用的呢?

回答:简要的说,PROFILE在Oracle数据库对数据库用户能够使用的资源做进一步的限制的一种手段,

如对连接到某个用户的session或sql所能使用的CPU资源进行控制,又如控制Oracle用户的密码管理策略等等……

3.查看系统的默认PROFILE

1)通过dba_profiles视图查看一下系统中默认都有哪些PROFILE

数据库创建以后,系统中只会存在一个名为DEFAULT的默认PROFILE,在用户创建之后,如果不做特殊指定,

每个用户的PROFILE都会默认的使用个默认的PROFILE。

sys@ora10g> select distinct profile from dba_profiles;

PROFILE

----------

DEFAULT

2)全面查看一下这个PROFILE都包含哪些限制定义

sys@ora10g> select *from dba_profiles;

PROFILE RESOURCE_NAME RESOURCE LIMIT---------- -------------------------------- -------- -----------------DEFAULT COMPOSITE_LIMIT KERNEL UNLIMITED

DEFAULT SESSIONS_PER_USER KERNEL UNLIMITED

DEFAULT CPU_PER_SESSION KERNEL UNLIMITED

DEFAULT CPU_PER_CALL KERNEL UNLIMITED

DEFAULT LOGICAL_READS_PER_SESSION KERNEL UNLIMITED

DEFAULT LOGICAL_READS_PER_CALL KERNEL UNLIMITED

DEFAULT IDLE_TIME KERNEL UNLIMITED

DEFAULT CONNECT_TIME KERNEL UNLIMITED

DEFAULT PRIVATE_SGA KERNEL UNLIMITED

DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD10DEFAULT PASSWORD_LIFE_TIME PASSWORD UNLIMITED

DEFAULT PASSWORD_REUSE_TIME PASSWORD UNLIMITED

DEFAULT PASSWORD_REUSE_MAX PASSWORD UNLIMITED

DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD NULL

DEFAULT PASSWORD_LOCK_TIME PASSWORD UNLIMITED

DEFAULT PASSWORD_GRACE_TIME PASSWORD UNLIMITED16 rows selected.

3)结论

通过上面的查看,可以得到这个系统默认的PROFILE “DEFAULT”的配置信息只对密码的错误尝试次数做了限制

(最多可以错误输错10次密码),如果我们启用了PROFILE(下面有介绍如何启用和停止PROFILE),默认的限制只有这些。

如果想要改变限制条件,有两种方法:第一种方法是可以对这个默认的PROFILE做个性化的调整;

第二种方法是再重新定制一个新的PROFILE满足新的需求。

4.对创建PROFILE的标准语法做一下“解剖麻雀”(更多细节可以参考Oracle的官方文档)

1)创建PROFILE的语法如下:

CREATE PROFILE profile

LIMIT { resource_parameters 对资源的限制

| password_parameters 对密码的限制

}...

;

修改参数的值ALTER PROFILE LIMIT ;;

例如:alter profile default limit password_life_time 1;

2)对数据库资源做限制时,下面是全部可用的参数:

RESOURCE_LIMIT=TRUE is required for resource limiting portions of the profile.

Password limiting functionality is not affected by this parameter.

SELECT name, value

FROM gv$parameter

WHERE name = 'resource_limit';

ALTER SYSTEM SET resource_limit=TRUE SCOPE=spfile;

startup force;

SELECT name, value

FROM gv$parameter

WHERE name = 'resource_limit';

{ { SESSIONS_PER_USER 每个用户名所允许的并行会话数

| CPU_PER_SESSION   一个会话一共可以使用的CPU时间,单位是百分之一秒

| CPU_PER_CALL      一次SQL调用(解析、执行和获取)允许使用的CPU时间

| CONNECT_TIME      限制会话连接时间,单位是分钟

| IDLE_TIME         允许空闲会话的时间,单位是分钟

| LOGICAL_READS_PER_SESSION 限制会话对数据块的读取,单位是块

| LOGICAL_READS_PER_CALL    限制SQL调用对数据块的读取,单位是块

| COMPOSITE_LIMIT   “组合打法”

}

{ integer | UNLIMITED | DEFAULT }

| PRIVATE_SGA   限制会话在SGA中Shared Pool中私有空间的分配

{ size_clause | UNLIMITED | DEFAULT }

}

3)对密码做限制时,下面是全部可用的参数:

{ { FAILED_LOGIN_ATTEMPTS 帐户被锁定之前可以错误尝试的次数

| PASSWORD_L

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值