`
1enny
  • 浏览: 70730 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

undo表空间概述

 
阅读更多
oracle028

undo表空间概述



UNDO的简要概序:

1. 一般的表空间中的段是手动建立的,undo表空间和普通的表空间相似,但是undo表空间中undo段,undo段是自动生成的;oracle自动使用、维护undo段。
2. 一般表空间中的段是我们自己手动使用的,而undo表中的段是oracle自动使用的。

show parameter undo_tablespace;//查询当前的undo表空间
NAME TYPE VALUE
-------------------------------------------------- ----------- ----------------
undo_tablespace string UNDOTBS1

select * from v$rollname;//当前有多少段
//下面的段是系统提供的回滚段:
1. 对数据库对象进行操作的时候,也就是使用数据字典的时,SYSTEM的UNDO段才会使用
2. 如果undo表空间坏了,可能会使用SYSTEM段
0 SYSTEM
//下面的是存在于 UNDOTBS1中,这下面段是在数据库运行一段时间会自动调整的段
1 _SYSSMU1_3780397527$
2 _SYSSMU2_2232571081$
3 _SYSSMU3_2097677531$
4 _SYSSMU4_1152005954$
5 _SYSSMU5_1527469038$
6 _SYSSMU6_2443381498$
7 _SYSSMU7_3286610060$
8 _SYSSMU8_2012382730$
9 _SYSSMU9_1424341975$
10 _SYSSMU10_3550978943$

select SEGMENT_NAE,BLOCKS,EXTENTS from dba_segments where SEGMENT_NAME='SYSTEM';//在system的表空间中段的大小

SYSTEM 48 6

--UNDO表空间占用空间情况以及数据文件存放位置
select file_name,bytes/1024/1024 from dba_data_files
where tablespace_name like '%UNDOTBS%';

/u01/app/oracle/oradata/jiagulun/undotbs01.dbf 90


select SEGMENT_NAME,TABLESPACE_NAME,EXTENT_ID,FILE_ID,BLOCK_ID,BLOCKS from dba_extents where SEGMENT_NAME='SYSTEM';//段所占的区

SYSTEM SYSTEM 0 1 128 8
SYSTEM SYSTEM 1 1 136 8
SYSTEM SYSTEM 2 1 528 8
SYSTEM SYSTEM 3 1 536 8
SYSTEM SYSTEM 4 1 544 8
SYSTEM SYSTEM 5 1 552 8

select SEGMENT_NAME,TABLESPACE_NAME,EXTENT_ID,FILE_ID,BLOCK_ID,BLOCKS from dba_extents where SEGMENT_NAME='_SYSSMU7_3286610060$';

_SYSSMU7_3286610060$ UNDOTBS1 0 3 224 8
_SYSSMU7_3286610060$ UNDOTBS1 1 3 232 8
_SYSSMU7_3286610060$ UNDOTBS1 2 3 312 8
_SYSSMU7_3286610060$ UNDOTBS1 3 3 1024 128
_SYSSMU7_3286610060$ UNDOTBS1 4 3 11392 128

通过上面可以看到对于系统的undo段中的区是连续的,而且区中的块也是连续的
但是对于非系统的undo段中的区不是连续的,但是区中的块是连续的

undo表空间的管理方式:在9i以前表空间自动建立,段是自动建立;但是区是手动分区的,这样就会存在一些问题:
一些比较大的DML语言跑跑就因为undo段够就会出现问题,空间不足。
在其后就自动分配了,在某些请款下也会自动回收的。
show parameter undo;
NAME TYPE VALUE
-------------------------------------------------- ----------- ----------------------------------------------------------------------------------------------------
undo_tablespace string UNDOTBS1
NAME TYPE VALUE
-------------------------------------------------- ----------- ----------------------------------------------------------------------------------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS1


undo表空间的作用
1. oracle会在事务开启的时候使用undo:
在oracle在修改数据的时候,oracle会把被修改的数据放入undo表
空间的undo段里面。(当修改语句越多,使用的undo段越多)正
因为保存了被修改的数据,所以undo可以回滚
2. 保证一个会话读不到另外一个会话未提交的数据,靠undo表空间保存原数据,所以undo保证读一致性
3. oracle的实例崩溃恢复:前滚,回滚*

Undo段中区的状态
free:从来没有用过的
expired:当过了undo_retention时间,oracle会释放。原则expired不会被释放。未测时间
inactive:表示事务已经提交,但是还没有过undo_retention,原则上是要保留undo_retention时间,但是空间压力比较
大,可以被覆盖
active:表示在事务还未提交时,所使用区的状态,不可以被覆盖

undo_retention
alter tablespace undotbs1 retention guarantee//设置inactive区的数据至少保存undo_retention后才被覆盖
alter tablespace undotbs1 retention noguarantee

select TABLESPACE_NAME, RETENTION from dba_tablespaces;
SYSTEM NOT APPLY
SYSAUX NOT APPLY
UNDOTBS1 GUARANTEE
TEMP NOT APPLY
USERS NOT APPLY
EXAMPLE NOT APPLY

当进行DML时,就会使用FREE空间,当FREE空间不够时就扩undo表空间的,当扩不了时,就使用EXPIRED的,当设置表空间为guarantee时,
就使用不了inactive那么事务就必须挂起。当表空间设置为Noguarantee时就使用inactive,假如inactive使用不够就事务挂起

























分享到:
评论

相关推荐

    Oracle11g体系结构深入剖析和运维管理(四)

    资源名称:Oracle 11g体系结构深入剖析和运维管理(四)资源目录:【】28_存储结构_段区块【】29_检查点队列...34_undo表空间概述【】35_undo段及区的 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    Oracle11g体系结构深入剖析和运维管理(五)

    资源名称:Oracle 11g体系结构深入剖析和运维管理(五)资源目录:【】37_深入剖析事务槽及Oracle多种提交方式【】38_OracleIMU及RedoPrivateStrands技术【】39_读一致性(ORA-01555错误机制分析)及Undo表空间大小设置...

    Oracle自学(学习)材料 (共18章 偏理论一点)

    8 管理表空间和数据文件 目标 8-2 概述 8-3 数据库的储存层次 8-5 SYSTEM 和非 SYSTEM 表空间 8-7 创建表空间 8-8 表空间的空间管理 8-9 本地管理表空间 8-10 字典管理表空间 8-11 改变存储设置 8-12 回滚表空间 8-...

    深入解析OracleDBA入门进阶与诊断案例 4/4

     8.17 诊断案例之一:释放过度扩展的UNDO空间   8.18 特殊情况的恢复   8.19 诊断案例之二:回滚段损坏的恢复  第9章 等待事件   9.1 等待事件的源起   9.2 从等待发现瓶颈   9.3 Oracle 10g的...

    深入解析OracleDBA入门进阶与诊断案例 3/4

     8.17 诊断案例之一:释放过度扩展的UNDO空间   8.18 特殊情况的恢复   8.19 诊断案例之二:回滚段损坏的恢复  第9章 等待事件   9.1 等待事件的源起   9.2 从等待发现瓶颈   9.3 Oracle 10g的...

    深入解析OracleDBA入门进阶与诊断案例 2/4

     8.17 诊断案例之一:释放过度扩展的UNDO空间   8.18 特殊情况的恢复   8.19 诊断案例之二:回滚段损坏的恢复  第9章 等待事件   9.1 等待事件的源起   9.2 从等待发现瓶颈   9.3 Oracle 10g的...

    构建最高可用Oracle数据库系统 Oracle 11gR2 RAC管理、维护与性能优化

    目录 推荐序 前言 第1章 认识Oracle RAC ...15.3.6 UNDO表空间的调整 15.4应用系统 15.4.1应用拆分 15.4.2 SQL执行过程 15.4.3 SQL解析 15.4.4 SQL优化 15.4.5 SQL行源生成 15.4.6 SQL执行 15.5本章小结

    Oracle 9i&10g编程艺术:深入数据库体系结构(全本)含脚本

    3.4.3 字典管理和本地管理的表空间 91 3.5 临时文件 93 3.6 控制文件 95 3.7 重做日志文件 95 3.7.1 在线重做日志 96 3.7.2 归档重做日志 98 3.8 密码文件 100 3.9 修改跟踪文件 103 3.10 闪回日志文件 104 ...

    深入解析Oracle.DBA入门进阶与诊断案例

    8.17 诊断案例之一:释放过度扩展的UNDO空间 396 8.18 特殊情况的恢复 399 8.19 诊断案例之二:回滚段损坏的恢复 402 第9章 等待事件 406 9.1 等待事件的源起 406 9.2 从等待发现瓶颈 408 9.2.1 V$...

    基于Oracle闪回详解(必看篇)

    一、Oracle闪回概述 闪回级别 闪回场景 闪回技术 对象依赖  影响数据 数据库 表截断、逻辑错误、其他多表意外事件 闪回DATABASE 闪回日志、undo 是 DROP 删除表 闪回DROP 回收站(recyclebin) 是 表 更新、...

    undrop-for-innodb:适用于MySQLInnoDB的TwinDB数据恢复工具包

    InnoDB表空间损坏。 硬盘故障。 文件系统损坏。 记录已从表中删除。 一张桌子被截断了。 InnoDB文件被意外删除。 删除了一个表并创建了一个空表。 安装 附带安装说明和演示,以获取InnoDB概述。 该工具包的...

    Oracle 闪回技术详细介绍及总结

     概述:  闪回技术是Oracle强大数据库备份恢复机制的一部分,在数据库发生逻辑错误的时候,闪回技术能提供快速且最小损失的恢复(多数闪回功能都能在数据库联机状态下完成)。需要注意的是,闪回技术旨在快速恢复...

    CAD快捷键文档

    一、概述: 所谓的快捷命令,是AutoCAD为了提高绘图速度定义的快捷方式,它用一个或几个简单的字母来代替常用的命令,使我们不用去记忆众多的长长的命令,也不必为了执行一个命令,在菜单和工具栏上寻寻匿匿。所有...

    Oracle编程艺术

    目录 序 ..........................................................................................3.4.3 字典管理和本地管理的表空间..................................................186 3.5 临时文件..........

    基于mysql体系结构的深入解析

     mysql各个存储引擎概述:innodb存储引擎:[/color][/b] 面向oltp(online transaction processing)、行锁、支持外键、非锁定读、默认采用repeaable级别(可重复读)通过next-keylocking策略避免幻读、插入缓冲、二...

    vss如何使用(图解)

    VSS概述 Microsoft Visual SourceSafe是美国微软公司出品的版本控制系统,简称VSS。它提供了还原点和并行协作功能,从而使应用程序开发组织能够同时处理软件的多个版本。该版本控制系统引入了签入和签出模型,按照...

    visual source safe 教程

    1 VSS概述 版本控制是工作组软件开发中的重要方面,它能防止意外的文件丢失、允许反追踪到早期版本、并能对版本进行分支、合并和管理。在软件开发和您需要比较两种版本的文件或找回早期版本的文件时,源代码的控制...

    Visual stdio source safe 教程

    1 VSS概述 版本控制是工作组软件开发中的重要方面,它能防止意外的文件丢失、允许反追踪到早期版本、并能对版本进行分支、合并和管理。在软件开发和您需要比较两种版本的文件或找回早期版本的文件时,源代码的控制...

    JAVA_API1.6文档(中文)

    javax.swing.undo 允许开发人员为应用程序(例如文本编辑器)中的撤消/恢复提供支持。 javax.transaction 包含解组期间通过 ORB 机制抛出的三个异常。 javax.transaction.xa 提供定义事务管理器和资源管理器之间的...

Global site tag (gtag.js) - Google Analytics