undo表空间 有undo段 段是自动生成。
普通表空间是手工创建段的。
undo表空间有很多回滚段
但是在system表空间也有一个回滚段 (对数据字典进行操作的时候-对数据对象进行操作的时候、或者undo表空间坏了)
将修改前的数据保存在undo表空间的undo段
1、Undo表空间及管理方式
show parameter undo_tablespace
查看Undo段
select * from v$rollname;
select SEGMENT_NAME,BLOCKS,EXTENTS from dba_segments where SEGMENT_NAME='_SYSSMU1$';
select SEGMENT_NAME,TABLESPACE_NAME,EXTENT_ID,FILE_ID,BLOCK_ID,BLOCKS from dba_extents
where SEGMENT_NAME='_SYSSMU1$';
select owner, segment_name, tablespace_name from dba_rollback_segs;
show parameter undo
select name from v$parameter where name like '%undo%';
undo_management
UNDO表空间占用空间情况以及数据文件存放位置
select file_name,bytes/1024/1024 from dba_data_files
where tablespace_name like '%UNDOTBS%';
undo的三个作用
读一致性,构造CR块
回滚
实例恢复
undo_retention
alter tablespace undotbs1 retention guarantee(不能被覆盖,900s才能)
alter tablespace undotbs1 retention noguarantee(可以覆盖)
Undo段中区的状态
free
expired(过期,不会释放为free)
inactive (原则不覆盖但是当空间压力大的时候可能被覆盖,数据保留900s)
active (区中的数据还未 commit)
显示UNDO区信息
SELECT extent_id, bytes, status FROM dba_undo_extents
WHERE segment_name='_SYSSMU1$';
select tablespace_name,retention from dba_tablespaces;
本文详细介绍了Oracle数据库中Undo表空间的管理方式、作用及其内部结构。包括如何查看Undo表空间参数、段信息、数据文件占用空间等,并解释了Undo段状态如free、expired、inactive和active的区别。
147

被折叠的 条评论
为什么被折叠?



