oracle错误ORA-00001
(2012-05-02 09:51:38)
标签:
杂谈 |
分类: oracle |
ALERT错误:
ORA-12012: error on auto execute of job 8952
ORA-00001: unique constraint (ORA-00001: unique constraint
(SYS.I_STATS_TARGET2) violated
ORA-06512: at "SYS.DBMS_STATS_INTERNAL", line 1368
ORA-06512: at "SYS.DBMS_STATS", line 19278
.) violated
trace信息:
*** ACTION NAME:(GATHER_STATS_JOB) 2012-04-30 22:00:18.397
*** MODULE NAME:(DBMS_SCHEDULER) 2012-04-30 22:00:18.397
*** SERVICE NAME:(SYS$USERS) 2012-04-30 22:00:18.397
Oracle Support解释的原因:
This issue is caused by unpublished bug 5636249: ORA-00001:
UNIQUE CONSTRAINT (SYS.I_MON_MODS_ALL$_OBJ) VIOLATED
Oracle Server - Enterprise Edition
- Version: 10.2.0.4 to 10.2.0.4 - Release: 10.2 to 10.2
Information in this document
applies to any platform.
解决方法:
This issue is fixed in 11.1, and no fix is available for any
platform.
So upgrade database to 11.1 which would fix the issue.
替代方法:
run the job again.
这个错误是并发进程收集统计信息产生的唯一性冲突,属于BUG,不过是偶发性错误,如果不能升级系统忽略错误即可。因为oracle会在维护时间窗口内自动重复执行该job,直到成功为止。
SQL> select
job_name,run_count,failure_count,(run_count-failure_count)*100/run_count
from dba_scheduler_jobs where job_name ='GATHER_STATS_JOB';
JOB_NAME
RUN_COUNT
FAILURE_COUNT
(RUN_COUNT-FAILURE_COUNT)*100/RUN_COUNT
GATHER_STATS_JOB 507
163
67.8
这是一个偶发性错误,成功率67.8%。但并非所有系统都会报这个BUG,所以肯定跟表定义有关系,可以进一步研究具体什么原因触发这个BUG,怎么避免这个错误。
【参见】[ID
1448200.1]

加载中…