oracle undo表空间

时间:2023-03-08 16:26:59
oracle undo表空间

  

查询undo表空间状态

SELECT tablespace_name, status, SUM (bytes) / 1024 / 1024 "Bytes(M)" FROM dba_undo_extents GROUP BY tablespace_name, status;
Undo表空间的状态(STATUS)有三种取值------- ACTIVE, EXPIRED, UNEXPIRED,  他们的含义是:
ACTIVE:  正在使用的undo表空间区域, 例如: 正在执行的没有commit的dml涉及的数据所占用的区域.   状态为ACTIVE的区域不可以被新数据覆盖
EXPIRED: 过期数据,  这个状态说明该区域的数据可以被新数据覆盖,可以理解为空闲区域
UNEXPIRED: 是介于前两者的中间状态, 如果undo表空间的空闲区域和EXPIRED区域都已经消耗光了,则oracle会将新数据覆盖到这个区域, 但是有可能引起某些sql错误