É um mal-entendido comum que
DBTIMEZONE
é o fuso horário para SYSDATE
e SYSTIMESTAMP
SYSDATE
e SYSTIMESTAMP
são retornados no fuso horário do sistema operacional no qual o servidor de banco de dados reside. DBTIMEZONE
é o fuso horário (interno) de TIMESTAMP WITH LOCAL TIME
valores. Não conheço nenhum uso prático disso. Observe que você não pode alterar DBTIMEZONE
em seu banco de dados se o banco de dados contiver uma tabela com um TIMESTAMP WITH LOCAL TIME ZONE
coluna e a coluna contém dados. Se você quiser a hora atual em DBTIMEZONE, execute
select SYSTIMESTAMP AT TIME ZONE DBTIMEZONE
from dual;
CURRENT_TIMESTAMP AT TIME ZONE DBTIMEZONE
também está funcionando. Veja também Como para lidar com o horário de verão no banco de dados Oracle