小牛电子书 > 其他电子书 > oracle从入门到精通(PDF格式) >

第20章

oracle从入门到精通(PDF格式)-第20章

小说: oracle从入门到精通(PDF格式) 字数: 每页3500字

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!






2。索引结构:  



           B…tree:  

               适合与大量的增、删、改(OLTP);  



                                  第 69 页,共 106 页 


…………………………………………………………Page 70……………………………………………………………

资源来自网络,仅供学习!                                                 Oracle 从入门到精通 



             不能用包含 OR 操作符的查询;  

             适合高基数的列(唯一值多)  

             典型的树状结构;  

             每个结点都是数据块;  

             大多都是物理上一层、两层或三层不定,逻辑上三层;  

             叶子块数据是排序的,从左向右递增;  

             在分支块和根块中放的是索引的范围;  

          Bitmap:  

             适合与决策支持系统;  

             做 UPDATE 代价非常高;  

             非常适合 OR操作符的查询;  

             基数比较少的时候才能建位图索引;  

             树型结构:  

                 索引头   

                 开始 ROWID,结束 ROWID(先列出索引的最大范围)  

                 BITMAP  

             每一个 BIT对应着一个 ROWID,它的值是 1 还是0,如果是 1,表示着 BIT对应 

       的 ROWID 有值;  



3。存储参数:  



       initial 初始化大小  

       next  下一个区大小  

       pctincrease 区大小增量    

       minextents  最小区数(本地管理)  

       maxextents  最大区数(本地管理)  



4。创建B…TREE索引:  



    CREATE INDEX owner。index_name  

    ON owner。table_name(col_list)  

    PCTFREE n  

    STORAGE(INITAL nK NEXT nK PCTINCREASE n MAXEXTENTS n )  

    TABLESPACE space_name;  



5。索引PCTFREE的变化:  



    索引不存在 PCTUSED;   

    PCTFREE 的含义是为新的插入预留的空间,在索引创建时保留;  

    在索引中是没有 UPDATE的。  



6。创建索引的提示:  



    平衡查询与 DML 操作的需求,不要建太多的索引;  

    将索引放在单独的表空间;  

    使用统一的区大小:5 块的整倍数或表空间的 MINIMUMEXTENT的大小;  



                              第 70 页,共 106 页 


…………………………………………………………Page 71……………………………………………………………

资源来自网络,仅供学习!                                                  Oracle 从入门到精通 



    对于大的索引考虑使用 NOLOGGING(不产生日志文件,插入时速度快,索引不需要产生日志);   

    索引的 INITRANS 应该比相应表的 INITRANS 设置的高一些;  



7。创建位图索引:  



    参数: create_bitmap_areasize 在创建位图索引之前为其分配区域。  

    CREATE BITMAP INDEX owner。index_name  

    ON owner。table_name(col_list)  

    PCTFREE 30  

    STORAGE(INITAL 200K NEXT 200K PCTINCREASE 0 MAXEXTENTS 50)  

    TABLESPACE space_name;  



8。改变索引参数:  



    alter index index_name storage(NEXT 400K MAXEXTENTS 50);  

    

  高水平线(HWM):曾经被使用过的最后一块的位置,当对存储对象进行 TRUNCATE 时,  

       高水平线才会回到起点。  

    对全表扫描的时候,读到高水平线为止;  



9。重建索引:  



    移动索引到另外的表空间;  

    通过清除删除掉的索引记录提高了空间的利用率,改善 PCTFREE 设置不良带来的问题;  

    alter index index_name rebuild tablespace space_name;  



10。在线重建索引:(建议不使用)  



    alter index index_name rebuild online;  



11。合并索引:  



    alter index index_name coalesce;  

    只能把同一个分支下的空间合并。  



12。删除索引:  



    在数据做大量数据装载之前删除索引,之后再重建索引;  

    删除那些很少使用的索引,在需要的时候再创建(月底报表);  

    删除并重建失效的索引;  

    删除不需要的索引(备选);             

    drop index owner。index_name;  



13。确定未使用的索引:  



    开始监视索引的使用:ALTER INDEX index_name MONITORING USAGE;  



                               第 71 页,共 106 页 


…………………………………………………………Page 72……………………………………………………………

资源来自网络,仅供学习!                                             Oracle 从入门到精通 



    停止监视索引的使用:ALTER INDEX index_name NOMONITORING USAGE;    



14。查看索引信息:  



    dba_indexes  提供索引的信息  

    dba_ind_columns 提供索引列的信息  

      



23、管理口令安全和资源  



    profiles:是命名的口令管理和资源限制的集合;  

             不是物理上的文件;  

             profiles 通过 CREATE USER 或 ALTER USER 命令分配给用户;  

             可以被启用或禁用;  

             可以使用 DEFAULT  profile;   

    profiles 提供的口令管理:  

             口令历史,保证在规定的时间和次数以后重用以有的口令;  

             允许最多的错误次数;  

             口令的过期失效;  

             口令的效验规则;          

    启动口令管理:  

       通过使用 profiles 建立口令管理并分配给用户;  

      通过 CREATE USER 或 ALTER USER 命令可以使用户的状态为 lock、unlock或是 expired; 

       口令的限制总是强制的;    

       为了启动口令管理,以 SYS 用户身份执行 utlpwdmg。sql 脚本;  

       存放脚本路径:oracle/ora92/rdbms/admin  

  ALTER USER user_name ACCOUNT LOCK; 手动锁定。  

  ALTER USER user_name ACCOUNT UNLOCK; 手动解锁。  

  ALTER USER user_name PASSWORD EXPIRED; 设置口令过期。  



1。口令帐户锁定:  



    failed_login_attempts   在试图登陆多少次失败后,帐户被锁定。  

    password_lock_time  在由登陆失败的帐户被锁定的天数  



2。自动锁定,可以手动解锁   



3。口令的到期和过期:  



    password_life_time 口令到期的天数  

    password_grace_time 在口令到期后,从用户第一次成功登陆开始允许修改口令的天数;  



4。口令历史:  

    password_reuse_time 口令在可以重用前必须经过的天数  

    password_reuse_max 口令在可以重用前必须被修改过的次数  

  这两个参数是互相排斥的。  



                             第 72 页,共 106 页 


…………………………………………………………Page 73……………………………………………………………

资源来自网络,仅供学习!                                                            Oracle 从入门到精通 



5。口令的校验:  



    password_verify_function + function_name  

        在口令修改被确认前通过 PL/SQL 函数执行口令的复杂性校验。  



6。用户提供的校验函数:  



    必须在 SYS用户下创建,必须遵循下面的声明:  

    function_name  

    (   userid_parameter in varchar2(30)  

        password_parameter in varchar2(30)  

        old_password_parameter in varchar2(30)  

    )  

  return boolean  



7。口令校验函数:  



    verify_function  



8。创建profile口令设置:  



    create profile profile_name LINIT  

    failed_login_attempts 3  

    password_lock_time unlinited ……无限  

    password_life_time 30  

    password_grace_time 5  

    password_reuse_time 30  

    password_verify_function verify_function;  



9。修改 profile :口令设置  



    alter profile DEFAULT limit  

    password_life_time 30  

    password_grace_time 5  

    password_reuse_time 30;  



10。删除 profile: 口令设置  



    defaule profile 不能被删除;  

    cascade 从被授予的用户上移走 profile  

    drop profile profile_name;  

    drop profile profile_name cascade;    



24、资源管理:  



  资源管理限制可以强制在会话级和调用级或者都可以强制限制;  

  可以通过 CREATE PROFILE 命令定义在 profiles上;                



                                    第 73 页,共 106 页 


…………………………………………………………Page 74……………………………………………………………

资源来自网络,仅供学习!                                                  Oracle 从入门到精通 



1。启动资源限制通过:  



    resource_limit 初始化参数  

    alter system 命令  

    alter system resource_limit = true/false;    



2。会话级参数:  



    cpu_per_session   总的 CPU 时间(单位:百分之一秒)  

    sessions_per_user    每个用户允许的并发会话数  

    connect_time     每个用户的连续会话时间(单位:分)  

    idle_time        挂起状态时间(单位:分)  

    logical_reads_per_session  每个用户能够使用的数据块数  

    private_sga   在 SGA 的私有空间数(单位:字节,只对共享服务器有效)  



3。调用级参数:  



    cpu_per_call     每次调用的 CPU 时间  

    ogical_reads_per_call  每次调用读的数据块数(物理读和逻辑读)  



4。创建profile:资源配制  



    create profile profile_name limit  

    cpu_per_session  10000  

    sessions_per_user 2  

    idle_time 60  

    connect_time 480;  



5。

返回目录 上一页 下一页 回到顶部 3 2

你可能喜欢的