调整UNDO_RETENTION参数:UNDO_RETENTION参数决定了Undo数据保留的时间。在某些情况下,增加这个参数的值可以帮助解决ORA-01555错误。但是,需要注意的是,增加UNDO_RETENTION的值可能会增加Undo空间的需求。 总的来说,解决ORA-01555错误需要综合考虑多个因素,包括查询的复杂性、系统的负载、Undo空间的大小等。在实际操作中,可...
1、适当的设置UNDO_RETENTION参数值(大于事务执行可能需要的最长时间);如果UNDO_RETENTION参数值变大,那么同时也需要根据果UNDO_RETENTION参数值大小修改UNDO表 空间的大小也需要做相应的修改;(适合于UNDO管理是自动管理) 网上查询UNDO表空间的大小可以根据公式: Undo Size = Undo_retention * UPS UPS是undo block per...
undo_tablespace string UNDOTBS1 此时系统默认的UNDO表空间是“UNDOTBS1”,我们调整到新创建的UNDOTBS_GUARANTEE表空间上; UNDO默认的保留时间是15分钟(900秒),我们调整为1.5小时(5400秒)。 sys@ora10g> alter system set undo_retention=5400; System altered. sys@ora10g> alter system set undo_tablespace=UND...
Undo_retention:是undo数据保存的时间,是一个“目标期望值”,单位为秒,默认为900s。 用户设置出这个值之后,Oracle内部会尽量保证将Undo数据保留超过undo_retention设置的时间。但是,如果Undo使用紧张、没有额外的方法,那么这个时间段也是不能保证的。这个时间如果设置得比较小,数据很快被覆盖了,那么执行较长时间的查询...
(1)增加UNDO表空间大小 (2)增加undo_retention 时间,默认只有15分钟 (3)优化出错的SQL,减少查询的时间,首选方法 (4)避免频繁的提交 通过下面的例子,来看看ORA-01555是如何产生的 1.确定系统当前系统的undo的相关信息 SQL> show parameter undo NAME TYPE VALUE ...
1.最直接的方法,检查可用的undo段够不够用,是自动管理还是手动管理,是否支持扩展,增加数据文件max_size需要dba协助操作。 2.增大undo_retention值,alter system set UNDO_RETENTION=9000;--150分钟或者设置更大的值,可以参考v$undosta表信息(https://docs.oracle.com/cd...
(1)增加UNDO表空间大小 (2)增加undo_retention 时间,默认只有15分钟 (3)优化出错的SQL,减少查询的时间,首选方法 (4)避免频繁的提交 3. 第二种情况描述 在块清除过程中,如果一个块已被修改,下一个会话访问这个块时,可能必须查看最后一个修改这个块的事务是否还是活动的。一旦确定该事务不再活动,就会完成块清除...
前期分享了ORA-01555错误的原理及相关基础概念。 参考(高频错误:ORA-01555深入剖析) 今天我们来分析ORA-01555发生的场景和各种解决方案 1555发生的场景 测试环境 首先建立测试环境。由于我们只是要模拟1555错误的发生,所以需要建立一个小的回滚表空间,并且设置undo_retention时间为1(秒),以便回滚数据尽快被覆盖(呵呵,要...
ALTER SYSTEM SET undo_tablespace = 'undotbs2'; 调整回退段的大小: 回退段的大小通常通过自动管理(AUTO)来管理,但也可以手动调整。如果需要手动调整,可以通过修改UNDO_RETENTION参数来增加回退数据的保留时间,或者通过增加回退表空间的数据文件大小来实现。 sql ALTER SYSTEM SET undo_retention = 900; -- 设置...
已知,UNDO段循环使用,Oracle仅覆盖inactive事务。若长时间查询需访问被覆盖的块,将引发ORA-01555错误。通过查询v$undostat中的ssolderrcnt字段,可检查每10分钟内是否发生过01555错误。ORA-01555错误产生原因包括但不限于以下几点:UNDO_RETENTION设置不当UNDO空间紧张SQL性能不佳通过模拟测试,可验证查询是...