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表空间足够的空间即可。

    

        

  

原文地址:https://www.cnblogs.com/KAJIA1/p/12123964.html

时间: 2024-12-10 22:13:43

undo表空间概述-1的相关文章

undo表空间概述

oracle028 undo表空间概述 UNDO的简要概序: 1. 一般的表空间中的段是手动建立的,undo表空间和普通的表空间相似,但是undo表空间中undo段,undo段是自动生成的:oracle自动使用.维护undo段. 2. 一般表空间中的段是我们自己手动使用的,而undo表中的段是oracle自动使用的. show parameter undo_tablespace;//查询当前的undo表空间 NAME                                        

第15章 oracle undo表空间管理

2015-10-23 目录 参考资料 [1] 林树泽.Oracle 11g R2 DBA操作指南[M].北京:清华大学出版社,2013 [2] Oracle undo 表空间管理 [3] undo表空间概述 [4] Oracle UNDO表空间的管理 [5] Oracle的UNDO表空间管理总结 [6] UNDO表空间的管理 [7] UNDO表空间的管理 [8] 监控和管理Oracle UNDO表空间的使用 [9] 谈谈undo表空间

记一次ORACLE的UNDO表空间爆满分析过程

这篇文章是记录一次ORACLE数据库UNDO表空间爆满的分析过程,主要整理.梳理了同事分析的思路.具体过程如下所示: 早上收到一数据库服务器的UNDO表空间的告警邮件,最早一封是7:55发出的(监控作业是15分钟一次),从告警邮件分析,好像是UNDO表空间突然一下子被耗尽了. DB Tablespace Allocated Free Used % Free % Used 192.168.xxx.xxx:1521 UNDOTBS1 16384 190.25 16193.75 1.16 99 使用一

UNDO表空间的估算

UNDO表空间和TEMP空间类似,都是循环使用的,其使用原理大致如下: 当我们使用AUM(自动UNDO管理),并设置了undo_retention以后,undo块就存在四种状态. Active:表示正在使用该undo的事务还没有提交或回滚. Inactive:表示该undo上没有活动的事务,该状态的undo可以被其他事务覆盖. Expired:表示该undo持续inactive的时间超过undo_retention所指定的时间. Freed:表示该undo块内容是空的,从来没有被使用过. 当活动

Oracle undo 表空间不可用

由于某次不小心操作,在切换表空间时没有成功,但是由于把parameter undo的undo_management值改为了MANUAL所以在启动数据库时没有报任何错误,但是给表插入数据时报错了,回滚段不可用的错误.然后查询了错误原因. 1 首先看数据库中undo信息 SQL> show parameter undo; NAME TYPE VALUE------------------------------------ ----------- --------------------------

在线扩大数据库UNDO表空间

用oracle账号登陆ORACLE数据库服务器 方法一: 查看表空间的名字及文件所在位置: select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name; 修改数据库datafile文件到新的大小 alter database datafile '\oracle\oradata\undotab1.dbf'

MySQL5.7新特性——在线收缩undo表空间

1. MySQL 5.5时代的undo log 在MySQL5.5以及之前,大家会发现随着数据库上线时间越来越长,ibdata1文件(即InnoDB的共享表空间,或者系统表空间)会越来越大,这会造成2个比较明显的问题: (1)磁盘剩余空间越来越小,到后期往往要加磁盘: (2)物理备份时间越来越长,备份文件也越来越大. 这是怎么回事呢? 原因除了数据量自然增长之外,在MySQL5.5以及之前,InnoDB的undo log也是存放在ibdata1里面的.一旦出现大事务,这个大事务所使用的undo

【undo表空间的丢失-恢复-1】

使用rman进行恢复--undo丢失 restore 把文件还原回去: recover 利用日志文件重做: 关键性的文件丢失和非关键性的文件丢失(system/undo之外的丢失) 1> 删除undo文件: [[email protected] ~]$ rm /u01/oracle/oradata/jadl10g/undotbs01.dbf [[email protected] ~]$ sqlplus / as sysdba SQL*Plus: Release 10.2.0.5.0 - Prod

UNDO表空间损坏导致数据库无法OPEN

在数据库undo表空间文件损坏,或者undo表空间文件缺失的情况下,无法打开数据库. 这两种情况都可以视为一种情况处理,解决方法一样. 场景:在23:10的时候新建一个undo表空间undotbs02,并切换至该undo表空间. 此时再闪回数据库至23:10. 由于闪回数据库时使用的是undotbs02,而23:10时使用的是undotbs01, 会造成undo表空间缺失,无法打开数据库.(注:闪回数据库之后需要resetlogs) 从上面的错误就可以看出来,此时undotbs02不存在,无法打