另外查了下v$undostat,发现begin_time已经很久没有改变,
BEGIN_TIME END_TIME MAXQUERYLEN MAXCONCURRENCY UNEXPIREDBLKS EXPIREDBLKS
BEGIN_TIME DATE Identifies the beginning of the time interval
unexpired的在retention guarantee没有启用的情况下,可以看作是free的,你这里还有2g多的可用空间,99%看到的是假象
select sum(bytes),status from dba_undo_extents group by status;
select sid,USED_UBLK from v$transaction a,v$session b where a.addr=b.taddr;
dba_undo_extents:描述了extents包括在所有的undo表空间中的segments
SQL> select sum(bytes),status from dba_undo_extents group by status;
SUM(BYTES) STATUS
---------- ---------
3670016 UNEXPI