undo表空间只做一件事:保存旧值。在AUM下,段是自动生成,区是自动分配与回收,且是不连续的。每个段至少有2个区。oracle自动使用undo段,在某种意义上,我们只要关注undo表空间的大小就可以了。
查询当前哪个undo表空间被激活:
sys@ORCL> show parameter undo_tablespace
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_tablespace string UNDOTBS1
查询undo表空间里面有多少个数据文件:
sys@ORCL> col file_name for a72
sys@ORCL> select file_name,bytes/1024/1024 m from dba_data_files where tablespace_name like '%UNDOTBS%';
FILE_NAME M
------------------------------------------------------------------------ ----------
/u01/app/oracle/oradata/ORCL/datafile/o1_mf_undotbs1_8050fkc6_.dbf 100
/u01/app/oracle/oradata/ORCL/datafile/thinkundo.dbf 30
查询undo表空间里面在线有多少个段:
sys@ORCL> select * from v$rollname;
USN NAME
---------- ------------------------------
0 SYSTEM
1 _SYSSMU1$
2 _SYSSMU2$
3 _SYSSMU3$
4 _SYSSMU4$
5 _SYSSMU5$
6 _SYSSMU6$
7 _SYSSMU7$
8 _SYSSMU8$
9 _SYSSMU9$
10 _SYSSMU10$
11 rows selected.
查询段有多少个区和块:
sys@ORCL> select segment_name,extents,blocks from dba_segments where segment_name='_SYSSMU3$';
SEGMENT_NAME EXTENTS BLOCKS
--------------- ---------- ----------
_SYSSMU3$ 17 256
查询区有多少个块:
sys@ORCL> select file_id,tablespace_name,segment_name,extent_id,block_id,blocks from dba_extents where
2 segment_name='_SYSSMU3$';
FILE_ID TABLESPACE_NAME SEGMENT_NAME EXTENT_ID BLOCK_ID BLOCKS
---------- ------------------------------ --------------- ---------- ---------- ----------
2 UNDOTBS1 _SYSSMU3$ 0 41 8
2 UNDOTBS1 _SYSSMU3$ 1 49 8
2 UNDOTBS1 _SYSSMU3$ 2 17 8
2 UNDOTBS1 _SYSSMU3$ 3 33 8
2 UNDOTBS1 _SYSSMU3$ 4 161 8
2 UNDOTBS1 _SYSSMU3$ 5 169 8
2 UNDOTBS1 _SYSSMU3$ 6 177 8
2 UNDOTBS1 _SYSSMU3$ 7 185 8
2 UNDOTBS1 _SYSSMU3$ 8 201 8
2 UNDOTBS1 _SYSSMU3$ 9 209 8
2 UNDOTBS1 _SYSSMU3$ 10 217 8
2 UNDOTBS1 _SYSSMU3$ 11 225 8
2 UNDOTBS1 _SYSSMU3$ 12 233 8
2 UNDOTBS1 _SYSSMU3$ 13 241 8
2 UNDOTBS1 _SYSSMU3$ 14 249 8
2 UNDOTBS1 _SYSSMU3$ 15 257 8
7 UNDOTBS1 _SYSSMU3$ 16 521 128
17 rows selected.
从这里我们也可以看出,undo段中的区的分配是不连续的。
undo段中区的状态:
1)free:没有分配给任何一个段
2)active:区中有事务没有提交
3)inactive:区中的事务提交了
4)expired:事务提交而且达到了undo_retention
注:我们可以通过设定undo_retention来保住inactive的区,若没有free,则自动扩展;若扩展不了,则优先使用expired;若还不够,则就会使用inactive,但如果此时retention是guarantee保证的,则无法使用inactive,会报ORA-30036.
sys@ORCL> select extent_id,bytes,status from dba_undo_extents where segment_name='_SYSSMU3$';
EXTENT_ID BYTES STATUS
---------- ---------- ---------
0 65536 EXPIRED
1 65536 EXPIRED
2 65536 EXPIRED
3 65536 EXPIRED
4 65536 EXPIRED
5 65536 EXPIRED
6 65536 EXPIRED
7 65536 EXPIRED
8 65536 EXPIRED
9 65536 EXPIRED
10 65536 EXPIRED
11 65536 EXPIRED
12 65536 EXPIRED
13 65536 EXPIRED
14 65536 EXPIRED
15 65536 EXPIRED
16 1048576 EXPIRED
17 rows selected.
undo段上默认只有一个事务,当有多个事务时,会优先选择空闲的undo段,只有在没有了空闲undo段时,oracle才会选择在一个undo段上建立多个事务。
分享到:
相关推荐
还原操作概述redux-undo-actions是用于撤消/重做操作的Redux中间件。 它不会将状态更改为 。 而不是更改应用程序的状态,而是调度与历史记录相反的操作。安装要开始使用redux-undo-actions,您需要运行以下命令: ...
本书给出了大量取自实际工作现场的实例,在分析实例的过程中,兼顾深度与广度,不仅对实际问题的现象、产生原因和相关的原理进行了深入浅出的讲解,更主要的是,结合实际应用环境,提供了一系列解决问题的思路和方法...
本书给出了大量取自实际工作现场的实例,在分析实例的过程中,兼顾深度与广度,不仅对实际问题的现象、产生原因和相关的原理进行了深入浅出的讲解,更主要的是,结合实际应用环境,提供了一系列解决问题的思路和方法...
本书给出了大量取自实际工作现场的实例,在分析实例的过程中,兼顾深度与广度,不仅对实际问题的现象、产生原因和相关的原理进行了深入浅出的讲解,更主要的是,结合实际应用环境,提供了一系列解决问题的思路和方法...
9 储存结构与关系 目标 9-2 概述 9-3 段的类型 9-4 储存子句的优先次序 9-7 片的分配和重新分配 9-8 使用和释放片 9-9 数据块 9-10 数据块的内容 9-11 块空间的利用的参数 9-12 v 自动段空间管理 9-14 设置自动...
针对数据库的启动和关闭、控制文件与数据库初始化、参数及参数文件、数据字典、内存管理、Buffer Cache与Shared Pool原理、重做、回滚与撤销、等待事件、性能诊断与SQL优化等几大Oracle热点主题,本书从基础知识入手...
29.4 应该在哪些地方使用状态机 29.5 作为GUI中的高层应用策略 29.6 结论 29.7 程序 参考文献 第30章 ETS框架 30.1 介绍 30.2 框架 30.3 框架设计 30.4 TEMPLATE METHOD模式的一个例子 30.5 TASKMASTER...
MikroTik RouterOS是一种路由操作系统,并通过该软件将标准的PC电脑变成专业路由器,在软件RouterOS 软路由图的开发和应用上不断的更新和发展,软件经历了多次更新和改进,使其功能在不断增强和完善。特别在无线、...
扩展了用于撤消功能的外部插件undo-redo-vuex,并在npm ModuleName中发布了该模块:“ @ divyankd / undo-redo-vuex” 使UI呈现出来,并使用vuex为应用程序创建状态管理。 前端版本1和版本2 用户界面允许操作员执行...
Oracle闪回技术详解,这里整理了4种闪回技术,对Oracle 闪回技术做一个整理总结。 概述: ... 撤销段(UNDO SEGMENT) 在讲闪回技术前,需要先了解Oracle中一个逻辑结构–撤销段。因为大部分闪回技术
java.nio 定义作为数据容器的缓冲区,并提供其他 NIO 包的概述。 java.nio.channels 定义了各种通道,这些通道表示到能够执行 I/O 操作的实体(如文件和套接字)的连接;定义了用于多路复用的、非阻塞 I/O 操作的...
在执行签入(check in)、签出(check out)、撤消签出(undo check out)、取出最新版本(get latest version)和文件合并(merge branches)等命令时都必须使用工作文件夹。工作文件夹可以随时设定或修改,VSS系统中可以通过...
在执行签入(check in)、签出(check out)、撤消签出(undo check out)、取出最新版本(get latest version)和文件合并(merge branches)等命令时都必须使用工作文件夹。工作文件夹可以随时设定或修改,VSS系统中可以通过...
java.nio 定义作为数据容器的缓冲区,并提供其他 NIO 包的概述。 java.nio.channels 定义了各种通道,这些通道表示到能够执行 I/O 操作的实体(如文件和套接字)的连接;定义了用于多路复用的、非阻塞 I/O 操作的...
iPhone 为用户提供了多种警告方式,从弹出对话框和进度栏到音频提示和状态栏更新。第4章展示如 何将这些指示功能构建到应用程序中,并扩展用户警告词汇库。 第5章:基本表格 表格提供了在小型受限设备上获得出色运行...
iPhone 为用户提供了多种警告方式,从弹出对话框和进度栏到音频提示和状态栏更新。第4章展示如 何将这些指示功能构建到应用程序中,并扩展用户警告词汇库。 第5章:基本表格 表格提供了在小型受限设备上获得出色运行...
iPhone 为用户提供了多种警告方式,从弹出对话框和进度栏到音频提示和状态栏更新。第4章展示如 何将这些指示功能构建到应用程序中,并扩展用户警告词汇库。 第5章:基本表格 表格提供了在小型受限设备上获得出色运行...
java.nio 定义作为数据容器的缓冲区,并提供其他 NIO 包的概述。 java.nio.channels 定义了各种通道,这些通道表示到能够执行 I/O 操作的实体(如文件和套接字)的连接;定义了用于多路复用的、非阻塞 I/O 操作的...