重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 241|回复: 0
打印 上一主题 下一主题

[Oracle] Job "SYS"."PMO_DEFERRED_GIDX_MAINT_JOB"产生ORA-01555

[复制链接]
跳转到指定楼层
楼主
发表于 2025-12-28 13:13:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
概要

在12.1.0.2 RDBMS版本,

当自动任务 "SYS"."PMO_DEFERRED_GIDX_MAINT_JOB"运行时, 产生了以下问题:

ERROR
-----------------------
ORA-12012: error on auto execute of job "SYS"."PMO_DEFERRED_GIDX_MAINT_JOB"
ORA-01555: snapshot too old: rollback segment number 18 with name "_SYSSMU18_4262240127$" too small
ORA-06512: at "SYS.DBMS_PART", line 80
ORA-06512: at line 1




解决方案

搜集数据字典的统计信息,如下:

connect / as sysdba
EXEC DBMS_STATS.GATHER_DICTIONARY_STATS;
EXEC DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;



原因


这可能是 Oracle 内部SQL语句的性能问题。

trace文件显示以下错误:

ORA-12012: error on auto execute of job "SYS"."PMO_DEFERRED_GIDX_MAINT_JOB"
ORA-01555: snapshot too old: rollback segment number 18 with name "_SYSSMU18_4262240127$" too small
ORA-06512: at "SYS.DBMS_PART", line 80
ORA-06512: at line 1

在alert log中有相应的错误 (可能是一个SQL),我们需要知道它是什么。alert log 中应该有以下错误信息:
Errors in file /u01/oracle/db/diag/rdbms/pXXX/pXXXXX/trace/pXXXXX_j000_185764.trc

你可以在alert log中搜索文件名XXXXXXX_j000_2048.trc来找到它。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2026-4-17 20:09 , Processed in 0.227495 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表