今天做一个大数据量的DML操作时,通过观察UNDO空间的大小,发现UNDO空间不足是引发通信中断的一个原因!!
下面描述一下我观察的过程:
1. 首先观察UNDO表空间的大小,发现在做DML操作时,UNDO表空间越来越少,虽然其对应的数据文件是能自动扩展的,但可能是物理空间已满,UNDO表空间并没有自动扩展
SELECT a.TABLESPACE_NAME,
sum(a.bytes)/1024/1024 TOTAL_SIZE,
sum(b.bytes)/1024/1024 remain_size,
sum(a.bytes)/1024/1024-sum(b.bytes)/1024/1024 used_size,
(1-ROUND((sum(b.bytes)/1024/1024)/(sum(a.bytes)/1024/1024),2)) used_rate
FROM dba_data_files a,
dba_free_space b
WHERE a.TABLESPACE_NAME=b.TABLESPACE_NAME
GROUP BY a.TABLESPACE_NAME
2. 再观察UNDO表空间各个区的过期情况,发现过期的区越来越少,也就是说,过期的区已被使用完毕
查看undo段各区状态的情况