Cambiar timezone a nivel de Scheduler
El otro día revisando una base de datos en OCI por un problema en los JOBS que se ejecutaban en horas extrañas/inapropiadas.
Al consultar la DB_SCHEDULER_WINDOWS vi que el NEXT_START_DATE, me marcaba que era de América y no de España y de ahí que los jobs no se ejecutaran a su hora
Y al consultar el dbtimezone, me dió la pista definitiva
SQL> SELECT dbtimezone FROM DUAL;
DBTIME
------
America/Phoenix
Vamos a cambiarlo tanto a nivel de CDB como de PDB, tanto a nivel de database como de DBMS_SCHEDULER.
Primero a nivel de CDB y reiniciamos
SQL> alter database set time_zone='Europe/Madrid';
SQL> exec DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE('default_timezone','Europe/Madrid');
SQL> shu immediate
SQL> startup
Una vez levantada, comprobamos que ya sale bien a nivel de CDB
SQL> SELECT dbtimezone FROM DUAL;
DBTIMEZONE
-------------
Europe/Madrid
Realizamos los mismos pasos a nivel de PDB
SQL> alter session set container=XXXX;
SQL> alter database set time_zone='Europe/Madrid';
SQL> exec DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE('default_timezone','Europe/Madrid');
SQL> shu immediate
Pluggable Database closed.
SQL> startup
Pluggable Database opened.
Comprobamos que también sale bien nivel de PDB
SQL> SELECT dbtimezone FROM DUAL;
DBTIMEZONE
-------------
Europe/Madrid
Listo. Una vez corregido el timezone, los Jobs se ejecutan en las horas establecidas.
¡Espero que os sirva!
Subscribe to my newsletter
Read articles from David Sanz directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
David Sanz
David Sanz
Soy desarrollador, Analista, DBA Oracle y Arquitecto OCI, certificado en OCI Migration and Integration Certified Professional y Certified Architect Associate con más de 15 años de experiencia en plataformas Oracle además de especialista en temas de rendimiento.