场景描述:这个数据库有大量的DML操作。显示通过sqlldr 外部加载大量数据到表中,开发人员对数据进行分析。分析完后,再delete删除某几个月的数据。
由于有这样的操作,导致了undo表空间迅速第一次满了,后来给undo增加了一个datafile,可是今天又满了。怎么undo段不进行释放呢。
SQL> show parameter undo;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS1
++++++++++++++++++++++++++++++++++++++++++++++++++=
SQL> SELECT tablespace_name, status, SUM (bytes) / 1024 / 1024 "Bytes(M)"
FROM DBA_undo_extents
GROUP BY tablespace_name, status; 2 3
TABLESPACE_NAME STATUS Bytes(M)
------------------------------ --------- ----------
UNDOTBS1 UNEXPIRED 1.9375
UNDOTBS1 EXPIRED 4.875
UNDOTBS1 ACTIVE 65479.5625