本篇内容介绍了“怎么解决使用数据库出现的ORA-00001、ORA-00604问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
On : 12.1.0.2 version, RDBMS
alert log shows:
ORA-00604: error occurred at recursive SQL level 1
ORA-00001: unique constraint (SYS.SMON_SCN_TIME_TIM_IDX) violated
分析:
需要分析表smon_scn_time。验证表和索引的结构和一致性,如果它们之间存在不一致。需要重新创建索引。
For 11.2.0.3 ,11.2.0.2 databases, it could be caused by Bug 13251192 – SMON reports ORA-604/ORA-1 on SYS.SMON_SCN_TIME_TIM_IDX which is fixed in 12.1.0.1 and 11.2.0.4.
解决办法:
For database 11.2.0.4 OR 12c, perform the analyze command below:
ANALYZE TABLE smon_scn_time VALIDATE STRUCTURE CASCADE ONLINE;
1、先得到表SMON_SCN_TIME上的INDEX的创建语句)
set pages 0
set long 2000000000
select dbms_metadata.get_ddl('INDEX','SMON_SCN_TIME_SCN_IDX','SYS') from dual;
select dbms_metadata.get_ddl('INDEX','SMON_SCN_TIME_TIM_IDX','SYS') from dual;
2、然后在系统级别设置12500事件阻止SMON更新SMON_SCN_TIME表
alter system set events '12500 trace name context level 10';
3、drop索引
drop index SYS.SMON_SCN_TIME_SCN_IDX;
drop index SYS.SMON_SCN_TIME_TIM_IDX;
4、通过步骤1得到的ddl,创建索引SYS.SMON_SCN_TIME_SCN_IDX;和SYS.SMON_SCN_TIME_TIM_IDX;)
5、将事件12500关闭,这样SMON就能更新SMON_SCN_TIME表)
alter system set events '12500 trace name context off';
最新评论