Oracle RAC升级至11.2.0.4后Undo表空间增长报Ora-30036
解决Oracle RAC升级11.2.0.4后触发Ora-30036 Undo表空间问题
刚处理过几乎一模一样的RAC升级后Undo报错问题,结合你的场景,咱们一步步拆解原因和解决方案:
问题根因梳理
Ora-30036的核心本质是Undo表空间无法提供足够空间来满足undo_retention设置的保留时长,再加上你提到的两个长运行查询(EM维护作业和AWR自动查询),它们会持续占用Undo数据,进一步挤压了空间余量。
先拆解你的现有配置:
undo_retention = 108000也就是30小时,这个值在11g中如果开启了自动扩展,Oracle会尽量维持这么久的Undo保留,但如果Undo表空间的最大容量跟不上,就会触发报错。- RAC双节点分别使用独立Undo表空间(UNDOTBS1/UNDOTBS2)是正确配置,但需要逐个节点检查实际使用和扩展能力。
那两个长查询的具体影响:
EMD_MAINTENANCE.EXECUTE_EM_DBMS_JOB_PROCS():这是EM的后台清理作业,会扫描大量历史数据,本身就会长时间占用Undo资源。- AWR自动负载仓库查询:快照生成和数据统计过程也会持续占用Undo,尤其是快照保留周期长、数据量大时,压力会更明显。
分步解决方案
1. 紧急缓解:先止报错,恢复业务
如果现在报错已经影响业务,先做临时处理:
- 检查并扩展Undo表空间:
先执行SQL查看每个节点的Undo表空间配置:
如果SELECT tablespace_name, file_name, autoextensible, maxbytes FROM dba_data_files WHERE tablespace_name IN ('UNDOTBS1', 'UNDOTBS2');autoextensible显示为NO,先开启自动扩展,或者手动添加数据文件:-- 在node1上给UNDOTBS1加数据文件 ALTER TABLESPACE UNDOTBS1 ADD DATAFILE '+DATA' SIZE 10G AUTOEXTEND ON NEXT 2G MAXSIZE UNLIMITED; -- 在node2上给UNDOTBS2加数据文件 ALTER TABLESPACE UNDOTBS2 ADD DATAFILE '+DATA' SIZE 10G AUTOEXTEND ON NEXT 2G MAXSIZE UNLIMITED; - 临时降低undo_retention:如果业务允许,先把保留时长调小(比如2小时),等长查询跑完再改回去:
ALTER SYSTEM SET undo_retention=7200 SCOPE=BOTH;
2. 彻底排查:定位长查询的资源消耗
紧急处理后,得找到问题根源:
- 查看Undo占用最高的会话:
执行SQL定位那两个长查询的Undo占用情况:SELECT s.sid, s.serial#, s.username, t.used_ublk, t.used_urec, s.program FROM v$transaction t JOIN v$session s ON t.addr = s.taddr ORDER BY t.used_ublk DESC; - 调整EM维护作业:
可以临时禁用这个作业,观察Undo使用是否改善:
问题解决后再重新启用即可。BEGIN DBMS_SCHEDULER.DISABLE('EMD_MAINTENANCE.EXECUTE_EM_DBMS_JOB_PROCS'); END; / - 优化AWR快照配置:
如果AWR快照保留太久或间隔太密,会增加Undo压力,调整为更合理的参数:BEGIN DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS( retention => 7*24*60, -- 保留7天(单位:分钟) interval => 60 -- 每60分钟生成一次快照 ); END; /
3. 长期优化:配置适配业务需求
- 评估合理的undo_retention值:30小时的保留时长对于绝大多数业务场景来说偏长,建议根据实际需求调整,比如日常场景设置3600(1小时)或7200(2小时)足够。
- 确保Undo表空间的扩展能力:RAC环境下每个节点的Undo表空间都要保证最大扩展空间充足,避免单节点Undo不足拖垮整个集群。
- 持续监控Undo趋势:通过AWR或EM监控Undo表空间使用率、生成速率,提前预警空间不足的问题。
验证解决效果
调整后重点观察:
- Ora-30036报错不再出现
- 长查询执行完成后Undo占用明显下降
- 双节点Undo表空间使用率稳定在80%以下
内容的提问来源于stack exchange,提问作者bilalhaider
相关产品推荐
相关产品推荐

