Márcio,
vc pode olhar o horário atual do banco no formato timestamp da seguinte forma:
– select systimestamp from dual;
Para alterar o timezone do banco, faça:
Ex:
– alter database set timezone = ‘+2:00’;
Para ver o timezone atual do banco, faça:
– select dbtimezone from dual;
Vc tb pode opter os timezones e os nomes dos timezones na v$timezone_names.
Para retorna um timezone de uma região, vc pode utilizar a seguinte query:
Ex:
– select TZ_OFFSET(‘America/Sao_Paulo’) from dual;
OBS: É importante saber que o timezone é somente relevante para as colunas contendo timizone. Se você não tiver nenhumas destas colunas na base de dados então o timezone da base de dados não tem nenhuma função, ou seja, não há nenhuma necessidade preocupar em ajusta-la. O timezone da base de dados geralmente é ajustado somente no momento de criação da base de dados.
Um outro ponto é que regiões como o Brasil têm mudanças de horario(Horário de verão) que significa que a informação do timezone na base de dados fica desincronizado com o mundo real.
Obviamente isto pode afetar a exatidão do tempo dos dados para estas regiões armazenadas com TIMESTAMP WITH LOCAL ZONE.
Se você planeja usar o TIMESTAMP WITH LOCAL ZONE , e você necessita controlar os dados do tempo destas regiões, você deve usar o offset(já mencionado acima). Ao invéz do nome da região da zona de tempo especificar o timestamp.
Espero ter ajudado.