Muchas veces nos encontramos con querer eliminar un target y o crear un target nuevo. Pero esto causa dolores de cabeza, y muchas veces se debe a que cuando deregistramos una instancia, de alguna manera el proceso no borra todo lo asociado a esa misma instancia.
Revisando este caso particular que me venia ocurriendo con algunos agentes decido ingresar a la base y consultar los jobs que estaban corriendo.
Ahi me doy cuenta que nunca se llego a eliminar ese JOB asociado a la instancia a eliminar.
SQL> connect sysman Enter password: Connected. SQL> COL job_owner FORMAT a20 col JOB_OWNER format a60 col JOB_NAME format a20 set line 150 col JOB_OWNER format a20 col JOB_NAME format a60 SQL> SQL> SQL> SQL> SQL> SQL> SQL> select job_id, job_name, job_owner from mgmt_job where job_name like '%BACKUP%'; JOB_ID JOB_NAME JOB_OWNER -------------------------------- ------------------------------------------------------------ -------------------- 54FD965636DD1124E040010A71023A29 BACKUP_SPFILE_DAPRO DCARCAS 8C5110397F02588EE040007F01002492 RMAN_BACKUP_CTL JMERCADO 8C5110397EE9588EE040007F01002492 BACKUP_SPFILE_VOLT JMERCADO 8214018F4FEE7FD6E040010A7102654D BACKUP_SPFILE_TRON JMERCADO 5D124F3D2CB94BB4E040010A71020EBB BACKUP_SPFILE_TRONNC JMERCADO 8213AB9F5AB442EEE040010A71026536 BACKUP_SPFILE_VOLTNC JMERCADO 81773A837E1ED2D3E040010A71021491 BACKUP_SPFILE_MAITEN JMERCADO 67883609BC305B3AE040010A7102353C RMAN_BACKUP_HOT JMERCADO 54D100C30CF4D965E040010A710254EF BACKUP_SPFILE_APPNOV DCARCAS 9 rows selected.
Buscamos el JOB asociado BACKUP_SPFILE_VOLT y lo detenemos .
SQL> exec mgmt_job_engine.stop_all_executions_with_id('8C5110397EE9588EE040007F01002492',TRUE); PL/SQL procedure successfully completed. SQL> commit; Commit complete.
Ahora podemos proceder a eliminarlo.
SQL> exec mgmt_job_engine.delete_job('8C5110397EE9588EE040007F01002492'); PL/SQL procedure successfully completed. SQL> commit; Commit complete.
Puede darse el caso que un JOB por diferentes motivos tenga pendiente varias ejecuciones, como es el caso del JOB que me ejecuta el backup de los control files de muchas bases en paralelo.
Para ello que podemos utilizar el parametro stop_all_executions_with_id que nos permite buscar todo lo nuevo y viejo y detenerlo.
Una vez stopeado, lo eliminamos.
SQL> exec mgmt_job_engine.stop_all_executions_with_id('8C5110397F02588EE040007F01002492',TRUE); PL/SQL procedure successfully completed. SQL> exec mgmt_job_engine.delete_job('8C5110397F02588EE040007F01002492'); PL/SQL procedure successfully completed. SQL> commit;Commit complete.
Saludos a la comunidad Colombiana !!