查询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错误