下午分析SYSAUX表空间时,还发现有一个配有流复制的数据库上有一张表STREAMS$_APPLY_SPILL_MESSAGES占据了此表空间很大的一部分空间约15g。此表是用来存储流复制应用时,对于大小超过TXN_LCR_SPILL_THRESHOLD限制的大事务,从流池中溢出来的信息.
参看 通过如下步骤来清除此表的信息: begin dbms_apply_adm.stop_apply('STREAMS_APPLY'); end; / BEGIN truncate table STREAMS$_APPLY_SPILL_MESSAGES; begin dbms_apply_adm.start_apply('STREAMS_APPLY'); end; / 再查看此表的大小,变为0.0625M。SYSAUX tablespace grows quite fast due to Apply spilling [ID 556183.1]
FOR V_TXID IN (SELECT A.XIDUSN || '.' || A.XIDSLT || '.' || A.XIDSQN AS TXID
FROM DBA_APPLY_SPILL_TXN A) LOOP
SYS.PURGE_SPILL_TXN('STREAMS_APPLY', V_TXID.TXID);
END LOOP;
END;
/