Cambiar timezone a nivel de Scheduler

David SanzDavid Sanz
1 min read

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!

1
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.