undo表空间概述-1

Undo表空间及管理方式

  undo的三个作用

    读一致性,构造CR块

    回滚

    实例恢复

  show parameter undo_tableplace;

  数据库建立后,会自动生成undo表空间,以及undo段也是自动生成

  与其他表空间的段不同的是:undo表空间的undo段是自动生成且自动维护的,除此之外,oracle会自动使用undo表空间中的undo段。其他表空间的段都是手工创建的。

  从某种意义上讲,只需要确保undo表空间的大小就可以了。

Oracle如何使用undo段?

查看物理undo表空间

select file_name,bytes/1024/1024 from dba_data_files where tablespace_name like '%UNDOTBS%';

 

 

   undo表空间的段,其中system在系统表空间中

    select * from v$rollname; 

    

  在oracle的undo表空间中有很多回滚段,但是在系统表空间中也是有一个回滚段。在oracle正常运行期间使用的是undo表空间中的段,随着oracle业务量增长,undo表空间的段也会变化。

  在系统表空间中,system回滚段,在什么时候会使用呢?

    1.oralce对数据字典进行操作的时候,比如,建立表(列的名字,列的类型,表名等等),这时候需要写到数据字典中,那么也就需要写到系统表空间中。也就是说对数据库的对象,进行增加和删除的时候就要操作数据库的数据字典,也就需要用到系统表空间以及undo段。

    2.当undo表空间坏了,oracle会使用系统表空间的system段

    undo表表空间自动分区

 

 undo自动管理:   

     undo表空间自动生成

     undo表空间中的段自动生成

     oracle自动使用undo表空间

     undo段是自动分配区

undo段的管理方式

    在9i以前,undo表空间是手工管理,也就是说,undo表空间和undo段都是自动建立的,但是undo段中的区的分配是要手工管理的。

    所以在9i以前,如果遇到数据量较大的时候,undo表空间的undo段不够用的情况,需要手工进行分配区,容易导致操作失败。

    从9i开始,undo表空间进行自动管理,以为着undo表空间的undo段所需要的区是自动分配和收回的,只要给undo表空间足够的空间即可。

 

    

        

 

 

 

 

 

 

  

posted @ 2019-12-31 13:32  KAJIA1  阅读(480)  评论(0编辑  收藏  举报