数据库中如何实现PROFILE

67次阅读
没有评论

共计 2289 个字符,预计需要花费 6 分钟才能阅读完成。

这篇文章给大家分享的是有关数据库中如何实现 PROFILE 的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,一起跟随丸趣 TV 小编过来看看吧。

一、创建

CREATE PROFILE profile_name LIMIT

 FAILED_LOGIN_ATTEMPTS 6

 PASSWORD_LIFE_TIME 60

 PASSWORD_REUSE_TIME 60

 PASSWORD_REUSE_MAX 5

 PASSWORD_VERIFY_FUNCTION verify_function

 PASSWORD_LOCK_TIME 1/24

 PASSWORD_GRACE_TIME 90;

密码资源的级别限制(默认:UNLIMITED)

1、FAILED_LOGIN_ATTEMPTS:一般设置 5~6 次

定在帐户被锁定之前所允许尝试登陆的的最大次数。

2、PASSWORD_LIFE_TIME:

指定同一密码所允许使用的天数。如果同时指定了 password_grace_time 参数,如果在 grace period 内没有改变密码,则密码会失效,连接数据库被拒绝。如果没有设置 password_grace_time 参数,默认值 unlimited 将引发一个数据库警告,但是允许用户继续连接。

3、PASSWORD_REUSE_TIME 和 PASSWORD_REUSE_MAX:

这两个参数必须互相关联设置,password_reuse_time 指定了密码不能重用前的天数,而 password_reuse_max 则指定了当前密码被重用之前密码改变的次数。两个参数都必须被设置为整数。

注:

 i. 如果为这两个参数指定了整数,则用户不能重用密码直到密码被改变了 password_reuse_max 指定的次数以后在 password_reuse_time 指定的时间内。如:password_reuse_time=30,password_reuse_max=10,用户可以在 30 天以后重用该密码,要求密码必须被改变超过 10 次。

 ii. 如果指定了其中的一个为整数,而另一个为 unlimited,则用户永远不能重用一个密码。

 iii. 如果指定了其中的一个为 default,Oracle 数据库使用定义在 profile 中的默认值,默认情况下,所有的参数在 profile 中都被设置为 unlimited,如果没有改变 profile 默认值,数据库对该值总是默认为 unlimited。

 vi. 如果两个参数都设置为 unlimited,则数据库忽略他们。

4、PASSWORD_LOCK_TIME:

指定登陆尝试失败次数到达后,帐户的锁定时间(单位:天)。

5、PASSWORD_GRACE_TIME:

指定宽限天数,数据库发出警告到登陆失效前的天数。如果数据库密码在这中间没有被修改,则过期会失效。

6、PASSWORD_VERIFY_FUNCTION:

该字段允许将复杂的 PL/SQL 密码验证脚本做为参数传递到 create profile 语句。Oracle 数据库提供了一个默认的脚本,但是自己可以创建自己的验证规则或使用第三方软件验证。对 Function 名称,指定的是密码验证规则的名称,指定为 Null 则意味着不使用密码验证功能。如果为密码参数指定表达式,则该表达式可以是任意格式,除了数据库标量子查询。

会话级别的资源限制(默认值:UNLIMITED)

1、SESSIONS_PER_USER:

指定限制用户的并发会话的数目

2、CPU_PER_SESSION:定义了每个 SESSION 占用的 CPU 的时间。(单位:1/100 秒)

3、IDLE_TIME:

指定会话允许连续不活动的总的时间(单位:分钟)。超过该时间,会话将断开。但是长时间运行查询和其他操作的不受此限制。

4、CONNECT_TIME:

指定会话的总的连接时间。(单位:分钟)

5、LOGICAL_READS_PER_SESSION:

指定一个会话允许读的数据块的数目,包括从内存和磁盘读的所有数据块。

6、PRIVATE_SGA:

指定一个会话可以在共享池(SGA)中所允许分配的最大空间(单位:字节)。

注:该限制只在使用共享服务器结构时才有效,会话在 SGA 中的私有空间包括私有的 SQL 和 PL/SQL,但不包括共享的 SQL 和 PL/SQL

7、COMPOSITE_LIMIT:

指定一个会话的总的资源消耗,以 service units 单位表示。Oracle 数据库以有利的方式计算 cpu_per_session,connect_time,logical_reads_per_session 和 private-sga 总的 service units

调用级别的资源限制(默认值:UNLIMITED)

1、CPU_PER_CALL:

指定一次调用(解析、执行和提取)的 CPU 时间限制。(单位:1/100 秒)

2、LOGICAL_READS_PER_CALL:

指定一次执行 SQL(解析、执行和提取)调用所允许读的数据块的最大数目。

二、修改 profile 属性

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

三、启用限制

ALTER SYSTEM SET RESOURCE_LIMIT=TRUE SCOPE=BOTH;

四、修改用户默认的 profile

ALTER USER user_name PROFILE profile_name;

感谢各位的阅读!关于“数据库中如何实现 PROFILE”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-18发表,共计2289字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)