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

ORA-01555 回滚段不够

章芋文 2019-06-19
472

问题描述

alert日志如下: 
Wed Jan 02 00:35:11 EAT 2013 
ORA-01555 caused by SQL statement below (SQL ID: 4gtf9gysfvu4j, Query Duration=8661 sec, SCN: 0x0bf4.60b0fa21): 
Wed Jan 02 00:35:11 EAT 2013 
DELETE /*+parallel(t,10)*/ FROM TF_R_UNICARD_PASWD T WHERE T.UNICARD_NO IN (SELECT C.UNICARD_NO FROM TE_R_CARD_TRANS C) 

专家解答

从日志来看,由于SQL(DELETE /*+parallel(t,10)*/ FROM TF_R_UNICARD_PASWD T WHERE T.UNICARD_NO IN (SELECT C.UNICARD_NO FROM TE_R_CARD_TRANS C))执行了8661s,查询undo_retention参数,只有900s,回滚段远远不够,导致01555报错。为了避免这个错误,可以去掉子查询,加索引,分开删除等方式优化SQL,减少执行时间,另外还可以配合修改undo_retention参数,避免对业务造成影响。

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

评论