友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
喜书网 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

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

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






9、数据块管理:  



  设置好之后不能更改。  

    1、自动空间管理:(默认)  

      管理数据库的段中空闲的一种方法:  

      使用 bitmap用 0 或1 标识不可用或可用状态。  

      只能在表空间级上才能设置:  

      在 CREATE TABLESPACE 语句最后加上 SEGMENT SPACE MANAGEMENT AUTO;  

      限制:不能用于包含了 LOB(大对象)对象的表空间。  

    2、手动管理:  

      可以使用下面的参数手动配置数据块:  

      PCTFREE  PCTUSED  FREELIST  

  得到存储信息:          

    DBA_EXTENTS    查看区信息  

    DBA_SEGMENTS   查看段信息  

    DBA_TABLESPACES 查看表空间信息  

    DBA_DATA_FILES  查看数据文件信息   

    DBA_FREE_SPACE  查看空闲空间信息  

    



10、管理回滚段(Undo)的数据  



     管理方法:  

       1。  自动 Undo 管理  

      2。  手动 Undo 管理  

      回滚段的原理:  

    用来暂时保存事务中的原始数据,至少保存到事务结束,保留到事务结束后回滚段中的空间 

  被其他事务覆盖之前;  

    作用:  



                             第 65 页,共 106 页 


…………………………………………………………Page 66……………………………………………………………

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



     1。  事务回滚;  

     2。  事务恢复;  

     3。  读一致性;  

               在事务提交后查询,是在被查询表中查询的;  

               如果在事务执行中并发查询,数据库会在回滚段中取得数据,但正在并发查 

          询的时候事务提交就会产生读一致性错误的问题。  

    特性:  

          1。  最少需要两个区;              

          2。  使用区是以循环的方式使用;  

          3。  一个事务只能使用一个回滚段(事务不能跨回滚段);  

          4。  在一个回滚段上可以有多个事务(多个事务可以共享一个回滚段),每个事务使 

             用不同的区;  

          5。  在一个区中可以同时有多个事务的数据,但只能有一个活动的事务。  

          6。  事务对区的使用是连续的,当他将要写的下一个区有活动的事务时,它就会执 

             行扩展区操作;    

  长时间执行事务不提交,会造成阻碍会话。  

  减小事务大小,提交次数高一些,避免区扩展操作;  



20、Undo 段的类型:   



1。NON…SYSTEM类型:  



    自动模式:需要一个 UNDO 类型的表空间。(默认)设计为最少 200M,一般是几个 G。  

        配置参数:  UNDO_MANAGEMENT = AUTO/MANUAL 自动/手动  

                  UNDO_TABLESPACE = tablespace_name      

        提供足够大的 UNDO 类型表空间;  

   可以创建多个回滚类型的表空间,但只有一个是被使用的,当做切换操作的时候才需要多个表 

空间。  

     切换:正在运行的事务可以切换。              

     可以在创建数据库的 CREATE DATABASE 命令中增加一个子句创建 UNDO 表空间:  

      CREATE DATABASE database_name  

      。。。。。。。  

      undo tablespace space_name datafile 'filepath' size nM autoextend on  

      或  

      使用 CREATE UNDO TABLESPACE 命令创建:  

      create undo tablespace space_name datafile 'filepath' size nM ;      

    手动模式:  

             需要一个永久类型的表空间  

             私有:被单个实例使用  

             公有:被任意实例使用  

  DEFERRED :当表空间被修改为 OFFLINE ;IMMEDIATE,TEMPORARY,RECOVERY 状态时候出现。  



2。SYSTEM类型:  



    用于 SYSTEM 表空间的对象。  



                             第 66 页,共 106 页 


…………………………………………………………Page 67……………………………………………………………

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



    修改一个 UNDO 表空间:  

    alter tablespace space_name add datafile 'filepath' size nM autoextend on;  

    

    切换 UNDO 表空间:  

    可以从一个 UNDO 表空间切换到另一个。  

    在实例中一次只能使用一个 UNDO 表空间。  

    多个 UNDO 表空间可以存放在一个实例中,但只有一个是激活的。  

    使用 ALTER SYSTEM 命令动态切换 UNDO 表空间。  

    ALTER SYSTEM set UNDO_TABLESPACE = space_name;  

    

    删除 UNDO 表空间:  

    drop tablespace space_name;  

    UNDO 只是在当前实例没有使用它的时候才可以删除。  

    为了删除一个激活的 UNDO 表空间:  

    切换到一个新的 UNDO 表空间;  

    当所有表空间上的当前事务结束后删除表空间;    



3。自动UNDO段管理的其他参数:    



    UNDO_SUPPRESS_ERRORS parameter  

    设置为 TRUE,可以压制在 AUTO 模式下执行手动管理命令时的错误。   

    UNDO_RETENTION  parameter  

    控制为了保证读一致性而保留在提交后回滚段中数据的时间。  

    查看 UNDO 段信息:  

  SELECT。。。 FROM VUNDOSTAT;回滚段的使用频度  

  DBA_ROLLBACK_SEGS  

    



21、管理表    



  rowid 格式:伪列。  

    扩展型(extended)  

           组成:数据对象号(data object number)、相对文件号(relative file number)、 

     块号(block number)、行号(row number)(每个号6 个字节)  

           由 18 个字母组织的,存成 60 个字节,代表一行数据的绝对地址  

     限制型(restrcted)  

           组成:块号(block number)、行号(row number)、文件号(file number)  

       

  exec DBMS_ROWID 包(backage)  

  SELECT 。。。DBMS_ROWID。 。。。FROM table_name;  



1。创建表提示:  



           将表创建在独立的表空间中;  

           使用本地管理;  

           表使用标准的区大小来避免在表空间上产生碎片;                       



                                 第 67 页,共 106 页 


…………………………………………………………Page 68……………………………………………………………

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



        在创建各种文件的时候最好都有它们独立的表空间支持。  



2。创建临时表  



  CREATE GLOBAL TEMPORARY TABLE   

  。。。。。。。  

    特征:  

          用户创建的临时表是用户的会话独占的;  

          表在事务或会话过程中包含数据;  

          只会有结构而不会有存储;  

          在数据上不会得到 DML锁;  

          对该表所做的 DML 操作不会写到日志上;  

          不用做 DELETE 或TRUNCATE 操作,该表在内存中,当事务结束或会话结束时释放;  

          可以在临时表上创建索引、视图、触发器;    



3。修改存储参数和块空间利用参数:  



       alter table owner。table_name  

       pctfree 30//块参数  

       pctused 50//块参数  

       storage(next 500k minextents 2 maxextents 120);//存储参数  



4。手动分配区:  



  alter table hr。employees allocate extent(size 500k datafile 'filepath');  



5。非分区表的重组  



  alter table owner。table move tablespace space_name;  

  当表被重组后,它的结构被重组,但内容没有影响;  

  约束条件不变,但与其对应的索引不存在了,所以重组之后的索引必须重建;  

  可以被用于移动表到新的表空间或者重组区;  



6。删除列:  



    alter table owner。table_name drop   

    column col_name cascade constraints checkpoint 1000;  

    

    checkpoint 1000  每一千行 执行一次检查点  

  检查点:完成同步,将写入日志的改变对应的数据写入数据文件中;  

    从每行中删除掉列占据的长度和数据,释放在数据块中占用的空间。  

    删除大表中的一列将花费比较长的时间。  



7。重命名表中的一列:  



    alter table owner。table_name  



                              第 68 页,共 106 页 


…………………………………………………………Page 69……………………………………………………………

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



    rename column old_name to new_name;  



8。标记列不再使用:  



    alter table owner。table_name  

    set unused column col_name cascade constraints;  



9。删除不使用的列:  



    alter table owner。table_name  

    drop unused columns checkpoint 1000;  



10。继续列的删除操作:  



    alter table owner。table_name  

    drop columns continue checkpoint 1000;   



11。得到表的信息:  



    DBA_TABLES  DBA_OBJECTS  



22、管理索引(index)  



  关键字+ROWID,排序!!!  



1。索引的分类:  



     逻辑上:  

    Single column 单行索引  

    Concatenated  多行索引  

    Unique        唯一索引  

    NonUnique     非唯一索引  

    Function…based 函数索引  

    Domain  域索引  

     物理上:  

    Partitioned     分区索引  

    NonPartitioned 非分区索引  

    B…tree:  

       Normal    正常型 B 树  

       Rever Key 反转型 B 树  

    Bitmap        位图索引  



2。索引结构:  



           B…tree:  

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



返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!