Oracle树立用户 ,约束用户拜访资源ITeye - 凯时娱乐

Oracle树立用户 ,约束用户拜访资源ITeye

2019-01-12 10:51:59 | 作者: 瀚昂 | 标签: 约束,用户,资源 | 浏览: 2195

一、意图:

Oracle体系中的profile能够用来对用户所能运用的数据库资源进行约束,运用Create Profile指令创立一个Profile,用它来完成对数据库资源的约束运用,假如把该profile分配给用户,则该用户所能运用的数据库资源都在该profile的约束之内。

 

二、条件:

创立profile有必要要有CREATE PROFILE的体系权限。

为用户指定资源约束,有必要:

 

1.动态地运用alter system或运用初始化参数resource_limit使资源约束收效。该改动对暗码资源无效,暗码资源总是可用。

SQL show parameter resource_limit

 NAME                                 TYPE        VALUE

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

resource_limit                       boolean     FALSE

 

 SQL alter system set resource_limit=true;

 体系已更改。

 

 SQL show parameter resource_limit;

 NAME                                 TYPE        VALUE

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

resource_limit                       boolean     TRUE

 

2.运用create profile创立一个界说对数据库资源进行约束的profile。

3.运用create user 或alter user指令把profile分配给用户。

 

三、语法:

 

     CREATE PROFILE profile

LIMIT { resource_parameters

         | password_parameters

         }

           [ resource_parameters

           | password_parameters

           ]... ;

 

  resource_parameters

{ { SESSIONS_PER_USER

 | CPU_PER_SESSION

 | CPU_PER_CALL

 | CONNECT_TIME

 | IDLE_TIME

 | LOGICAL_READS_PER_SESSION

 | LOGICAL_READS_PER_CALL

 | COMPOSITE_LIMIT

 }

 

 { integer | UNLIMITED | DEFAULT }

| PRIVATE_SGA

 { integer [ K | M ] | UNLIMITED | DEFAULT }

}

 

password_parameters

{ { FAILED_LOGIN_ATTEMPTS

 | PASSWORD_LIFE_TIME

 | PASSWORD_REUSE_TIME

 | PASSWORD_REUSE_MAX

 | PASSWORD_LOCK_TIME

 | PASSWORD_GRACE_TIME

 }

 

 { expr | UNLIMITED | DEFAULT }

| PASSWORD_VERIFY_FUNCTION

     { function | NULL | DEFAULT }

}

 

 四、语法解说:

       profile:配置文件的称号。Oracle数据库以以下方法逼迫资源约束:

       1.假如用户超越了connect_time或idle_time的会话资源约束,数据库就回滚当时业务,并完毕会话。用户再次履行指令,数据库则回来一个过错,

       2.假如用户企图履行超越其他的会话资源约束的操作,数据库抛弃操作,回滚当时业务并当即回来过错。用户之后能够提交或回滚当时业务,有必要完毕会话。

       提示:能够将一条分红多个段,如1小时(1/24天)来约束时刻,能够为用户指定资源约束,可是数据库只要在参数收效后才会履行约束。

        Unlimited:分配该profile的用户对资源运用无约束,当运用暗码参数时,unlimited意味着没有对参数加约束。

        Default:指定为default意味着疏忽对profile中的一些资源约束,Default profile初始界说对资源不约束,能够经过alter profile指令来改动。

       Resource_parameter部分

        Session_per_user:指定约束用户的并发会话的数目。

       Cpu_per_session:指定会话的CPU时刻约束,单位为百分之一秒。

       Cpu_per_call:指定一次调用(解析、履行和提取)的CPU时刻约束,单位为百分之一秒。

       Connect_time:指定会话的总的衔接时刻,以分钟为单位。

       Idle_time:指定会话答应接连不活动的总的时刻,以分钟为单位,超越该时刻,会话将断开。可是长时刻运转查询和其他操作的不受此约束。

       Logical_reads_per_session:指定一个会话答应读的数据块的数目,包含从内存和磁盘读的一切数据块。

       Logical_read_per_call:指定一次履行SQL(解析、履行和提取)调用所答应读的数据块的最大数目。

       Private_sga:指定一个会话能够在同享池(SGA)中所答应分配的最大空间,以字节为单位。(该约束只在运用同享服务器结构时才有用,会话在SGA中的私有空间包含私有的SQL和PL/SQL,但不包含同享的SQL和PL/SQL)。

       Composite_limit:指定一个会话的总的资源耗费,以service units单位表明。Oracle数据库以有利的方法核算cpu_per_session,connect_time,logical_reads_per_session和private-sga总的service units

       Password_parameter部分:

       Failed_login_attempts:指定在帐户被确定之前所答应测验登陆的的最大次数。

       Password_life_time:指定同一暗码所答应运用的天数。假如一起指定了password_grace_time参数,假如在grace period内没有改动暗码,则暗码会失效,衔接数据库被回绝。假如没有设置password_grace_time参数,默许值unlimited将引发一个数据库正告,可是答应用户持续衔接。

       Password_reuse_time和password_reuse_max:这两个参数有必要相互相关设置,password_reuse_time指定了暗码不能重用前的天数,而password_reuse_max则指定了当时暗码被重用之前暗码改动的次数。两个参数都有必要被设置为整数。

 

       1.假如为这两个参数指定了整数,则用户不能重用暗码直到暗码被改动了password_reuse_max指定的次数今后在password_reuse_time指定的时刻内。

       如:password_reuse_time=30,password_reuse_max=10,用户能够在30天今后重用该暗码,要求暗码有必要被改动超越10次。

       2.假如指定了其间的一个为整数,而另一个为unlimited,则用户永久不能重用一个暗码。

       3.假如指定了其间的一个为default,Oracle数据库运用界说在profile中的默许值,默许情况下,一切的参数在profile中都被设置为unlimited,假如没有改动profile默许值,数据库对该值总是默许为unlimited。

       4.假如两个参数都设置为unlimited,则数据库疏忽他们。

        Password_lock_time:指定登陆测验失利次数抵达后帐户的缩定时刻,以天为单位。

       Password_grace_time:指定宽限天数,数据库宣布正告到登陆失效前的天数。假如数据库暗码在这中心没有被修正,则过期会失效。

       Password_verify_function:该字段答应将杂乱的PL/SQL暗码验证脚本做为参数传递到create profile句子。Oracle数据库供给了一个默许的脚本,可是自己能够创立自己的验证规矩或运用第三方软件验证。 对Function称号,指定的是暗码验证规矩的称号,指定为Null则意味着不运用暗码验证功用。假如为暗码参数指定表达式,则该表达式能够是恣意格局,除了数据库标量子查询。

 

五、举例:

       1.创立一个profile:

       create profile new_profile

              limit password_reuse_max 10

                     password_reuse_time 30;

 

       2.设置profile资源约束:

       create profile app_user limit

             sessions_per_user unlimited

              cpu_per_session unlimited

              cpu_per_call 3000

              connect_time 45

              logical_reads_per_session default

              logical_reads_per_call 1000

              private_sga 15k

              composite_limit 5000000;

              总的resource cost不超越五百万service units。核算总的resource cost的公式由alter resource cost句子来指定。

 

       3.设置暗码约束profile:

       create profile app_users2 limit

              failed_login_attempts 5

              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 10;

 

       4.将配置文件分配给用户:

              SQL alter user dinya profile app_user;

用户已更改。

             SQL alter user dinya profile default;

用户已更改。

            SQL

 

 10G官方文档地址:http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_6010.htm#SQLRF01310

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表凯时娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章