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!