enq: US - contention 说明事务在队列中等待 UNDO Segment,通常是由于UNDO空间不足导致的。
UNDO自动优化功能能够最大限度的使用undo表空间,满足大部分的sql执行,但是也带来一个问题:很多事务执行完毕之后,发现UNDO表空间会在很长时间都一直保持着使用率是接近100%的状态,active 状态的很少。此时常常会收到undo表空间的监控报警。
启用 undo retention,会造成 undo 空间利用率很高,需要保证 undo 有足够的可用空间。
<<oracle 创建 undo tablespace>>
SQL> ALTER TABLESPACE UNDOTBS RETENTION GUARANTEE;
解决办法:
参考: