Hola, tengo un job programado en varios servidores 9i. El contenido del mismo es el siguiente:
begin
sys.dbms_job.change(job => :job, what => :what, next_date => :next_date, interval => :interval);
end;
:JOB=41
:WHAT=perfstat.statspack.snap();
:NEXT_DATE=14/01/2008 10:00:00
:INTERVAL=TRUNC(SYSDATE+1)+10/24
En principio, lo programo y durante unos dias está funcionando correctamente, pero de repente un dia comienza a dar el siguiente error:
Dump file c:\orant\admin\omi\udump\omi_s001_3540.trc
Thu Jan 24 10:26:41 2008
ORACLE V9.2.0.7.0 - Production vsnsta=0
vsnsql=12 vsnxtr=3
Windows 2000 Version 5.2 Service Pack 2, CPU type 586
Oracle9i Enterprise Edition Release 9.2.0.7.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.7.0 - Production
Windows 2000 Version 5.2 Service Pack 2, CPU type 586
Instance name: omi
Redo thread mounted by this instance: 1
Oracle process number: 10
Windows thread id: 3540, image: ORACLE.EXE
*** SESSION ID:(56.6072) 2008-01-24 10:26:41.557
*** 2008-01-24 10:26:41.557
ORA-12012: error en la ejecución automática del trabajo 42
ORA-00001: restricción única (PERFSTAT.STATS$SQL_SUMMARY_PK) violada
ORA-06512: en "PERFSTAT.STATSPACK", línea 1361
ORA-06512: en "PERFSTAT.STATSPACK", línea 2471
ORA-06512: en "PERFSTAT.STATSPACK", línea 91
ORA-06512: en línea 1
La poca información que he podido encontrar me hace pensar que puede ser un bug de Oracle, pero no sabria como se puede solucionar.
Los servidores son prácticamente idénticos, y como ya digo, este fallo tampoco se da en todos, pero si en la mayoria.
La única forma de solucionarlo es eliminando el job y volviendo a programarlo, si intento modificarlo no funciona... Y a los pocos dias vuelve a fallar.