- Este tópico contém 5 respostas, 2 vozes e foi atualizado pela última vez 14 anos, 9 meses atrás por
felipeg.
-
AutorPosts
-
26 de maio de 2011 às 11:02 pm #99395
airoosp
ParticipanteBoa tarde,
Fiz a instalação de um banco 10g e através da query abaixo consegui obter algumas informações sobre o timezone por exemplo default_timezone=America/Belem.
select sysdate, to_char(systimestamp,’DD-MON-YYYY HH24:MI:SSXFF TZR’) as systimes, to_char(current_timestamp,’DD-MON-YYYY HH24:MI:SSXFF TZR’) as current_timestamp,
sessiontimezone, dbtimezone,
(select value from all_scheduler_global_attribute where attribute_name = ‘DEFAULT_TIMEZONE’) default_timezone
from dual;Ao executar a query acima no 9i não funcionou pois “all_scheduler_global_attribute” não existe. Há alguma outra tabela ou view onde posso obter a mesma informação.
Obrigado.
Airton
26 de maio de 2011 às 11:10 pm #99397felipeg
Participante[quote=”airoosp”:10yzfnwc]Boa tarde,
Fiz a instalação de um banco 10g e através da query abaixo consegui obter algumas informações sobre o timezone por exemplo default_timezone=America/Belem.
select sysdate, to_char(systimestamp,’DD-MON-YYYY HH24:MI:SSXFF TZR’) as systimes, to_char(current_timestamp,’DD-MON-YYYY HH24:MI:SSXFF TZR’) as current_timestamp,
sessiontimezone, dbtimezone,
(select value from all_scheduler_global_attribute where attribute_name = ‘DEFAULT_TIMEZONE’) default_timezone
from dual;Ao executar a query acima no 9i não funcionou pois “all_scheduler_global_attribute” não existe. Há alguma outra tabela ou view onde posso obter a mesma informação.
Obrigado.
Airton[/quote]
Airton,
Quando eu quero verificar configurações relacionadas a parte de datahoraetc eu vejo direto na nls_session_parameters, funciona em ambos os bancos
SELECT * FROM nls_session_parameters
Ve se isso serve para você.
Atenciosamente,
Felipe.26 de maio de 2011 às 11:21 pm #99400airoosp
ParticipanteEntão mais a informação que estou tentando localizar é sobre o tzname que esta configurado no banco 9i.
Vi que no 10g tem a DBMS_SCHEDULER.GET_SYS_TIME_ZONE_NAME.
Airton
27 de maio de 2011 às 12:17 am #99403felipeg
Participante[quote=”airoosp”:2cqfq6hf]Então mais a informação que estou tentando localizar é sobre o tzname que esta configurado no banco 9i.
Vi que no 10g tem a DBMS_SCHEDULER.GET_SYS_TIME_ZONE_NAME.
Airton[/quote]
Entendi,
Olha, não lembro de nenhuma função que retorne, no Oracle 9i, esse tipo de informação.
Apenas a que retorna o valor do Time zone (select dbtimezone ou sessionzone from dual;)
Atenciosamente,
Felipe.27 de maio de 2011 às 12:29 am #99404airoosp
ParticipanteNo momento que o comando abaixo é executado o mesmo somente terá efeito quando o banco for reiniciado, correto? ( 10g )
alter database set time_zone=’-03:00′;
Estou pergutando pois no envio do e-mail o horário esta aparecendo com 3 horas atrasadas.
Procedure que envia e-mail:
.
.
.
mail_conn := UTL_SMTP.OPEN_CONNECTION( p_mailhost, 25 );utl_smtp.helo( mail_conn, p_mailhost ); utl_smtp.mail( mail_conn, p_sender ); utl_smtp.rcpt( mail_conn, p_recipient );— utl_smtp.rcpt( mail_conn, p_recipientcc );
utl_smtp.open_data ( mail_conn );— mesg:= ‘Date: ‘ || TO_CHAR( SYSDATE, ‘dd Mon yy hh24:mi:ss’ ) || crlf
mesg:=’Date: ‘|| TO_CHAR (SYSDATE, ‘DD/MM/RR HH:MI AM’)|| ‘ ‘|| DBTIMEZONE|| ‘ ‘|| ‘(GMT’|| DBTIMEZONE|| ‘)’|| crlf
||
‘From: ‘ || crlf
||
‘Subject: ‘ || p_subject || crlf
||
‘To: ‘ || p_recipient || crlf
||
— ‘To: ‘ || p_recipientcc || crlf
— ||
” || crlf
||
p_message;utl_smtp.write_raw_data ( mail_conn, utl_raw.cast_to_raw(mesg) ); utl_smtp.close_data( mail_conn ); utl_smtp.quit( mail_conn );.
.
.27 de maio de 2011 às 3:19 pm #99411felipeg
Participante[quote=”airoosp”:3bdk4g4c]No momento que o comando abaixo é executado o mesmo somente terá efeito quando o banco for reiniciado, correto? ( 10g )
alter database set time_zone=’-03:00′;
Estou pergutando pois no envio do e-mail o horário esta aparecendo com 3 horas atrasadas.
Procedure que envia e-mail:
.
.
.
mail_conn := UTL_SMTP.OPEN_CONNECTION( p_mailhost, 25 );utl_smtp.helo( mail_conn, p_mailhost ); utl_smtp.mail( mail_conn, p_sender ); utl_smtp.rcpt( mail_conn, p_recipient );— utl_smtp.rcpt( mail_conn, p_recipientcc );
utl_smtp.open_data ( mail_conn );— mesg:= ‘Date: ‘ || TO_CHAR( SYSDATE, ‘dd Mon yy hh24:mi:ss’ ) || crlf
mesg:=’Date: ‘|| TO_CHAR (SYSDATE, ‘DD/MM/RR HH:MI AM’)|| ‘ ‘|| DBTIMEZONE|| ‘ ‘|| ‘(GMT’|| DBTIMEZONE|| ‘)’|| crlf
||
‘From: ‘ || crlf
||
‘Subject: ‘ || p_subject || crlf
||
‘To: ‘ || p_recipient || crlf
||
— ‘To: ‘ || p_recipientcc || crlf
— ||
” || crlf
||
p_message;utl_smtp.write_raw_data ( mail_conn, utl_raw.cast_to_raw(mesg) ); utl_smtp.close_data( mail_conn ); utl_smtp.quit( mail_conn );.
.
.[/quote]Sim, só após restartar o banco.
E verfique se não é o client que está com as informações incorretas amigo pois o Oracle da prioridade nas configurações de linguagemdata para os parâmetros do client, se por acaso algum estiver como default aí sim ele vai procurar as definições do banco.
OBS: Lembrando que o DBTIMEZONE só é utilizado quando você usa o TIMESTAMP WITH LOCAL TIME ZONE
Segue um link da PSOUG sobre este tema:
http://psoug.org/reference/timestamp.htmlAconselho também a ler este note do Metalink 340512.1
Atenciosamente,
Felipe. -
AutorPosts
- Você deve fazer login para responder a este tópico.