暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

undo段的常见问题及维护操作

Ty 2022-04-28
646

4.1、Oracle ORA-01555 快照太旧
ORA-01555是oracle中常见的一个错误,例如当我们进行的事务需要使用undo数据来构造CR块的时候,如果对应的undo信息已经被覆盖时,就会报出ora-01555错误。
对于这种情况,通常有以下几种解决办法。
1、优化出错的SQL,减少语句的查询时间。
2、增加UNDO表空间大小
3、增加undo_retention 时间,默认只有15分钟
4、避免频繁的提交
4.2、Oracle ORA-1628 回滚段达到32765最大值
  undo表空间自动管理方式下,单个回滚段的最大区数为32765,我们知道一个事务只能使用一个回滚段,当一个大事务在进行大量数据更新时,所使用的回滚段不能完全存放这个事务的前映像数据时, 就可能会出现这种情况,这种情况下只能通过切换undo表空间来排除故障。避免这种故障的根本原因还是要优化相应的SQL语句,减少UNDO块的产生。
出现ORA-1628故障时至少会有一个回滚段的状态会显示为FULL,如下表信息:
SQL> select segment_name,max_extents,status from dba_rollback_segs;
SEGMENT_NAME                   MAX_EXTENTS STATUS
----------------------- ----------- --------
SYSTEM                               32765 ONLINE
_SYSSMU1$                            32765 OFFLINE
_SYSSMU2$                            32765 OFFLINE
_SYSSMU3$                            32765 FULL
_SYSSMU4$                            32765 OFFLINE
_SYSSMU5$                            32765 OFFLINE
_SYSSMU6$                            32765 OFFLINE

4.3、UNDO表空间损坏后的数据恢复
如果数据库在运行过程中出现undo表空间故障时,通常可以通过在线新建undo表空间,并且切换为默认表空间后就能快速解决故障。假如undo损坏而且数据库在关闭状态,如果没有任何有效的备份时,可以通过修改undo手动管理的方式来启动数据库。
这里用一个案例来说明恢复的过程。
系统环境:  oracle 10.2.0.4 非归档方式,无有效备份
故障现象:
   数据库无法启动,alert日志中有大量的ora-600 错误
ORA-00600: internal error code, arguments: [2662], [1], [3008810928], [1], [3008849117], [8388617], [], []
ORA-00600: internal error code, arguments: [4194], [15], [6], [], [], [], [], []
Mon May 23 18:36:46 2011
Doing block recovery for file 2 block 336654
Block recovery from logseq 2200, block 63 to scn 7317545555
故障分析:
根据提示信息,可以查到是undo表空间的数据文件出现坏块造成数据库无法启动,因数据库为非归档方式,没有有效的undo备份文件,这种情况下就可以使用undo手动管理的方式启动数据库,详细可以参考Metalink文章[ID 281429.1] 。
下面是大概的步骤介绍。
1、启动到nomount 状态,备份参数文件
2、修改参数文件,undo_management=manual
3、使用新的参数文件启动数据库
4、创建新的回滚段
SQL> create rollback segment r01;
5、设置回滚段为online
SQL> alter rollback segment r01 online;
6、创建表空间undotbs2
7、停库,修改参数为表空间自动管理,
8、重启启动数据库。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论