Pular para o conteúdo
Visualizando 6 posts - 1 até 6 (de 6 do total)
  • Autor
    Posts
  • #99395
    airoosp
    Participante

      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

      #99397
      felipeg
      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.

        #99400
        airoosp
        Participante

          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

          #99403
          felipeg
          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.

            #99404
            airoosp
            Participante

              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 );
              

              .
              .
              .

              #99411
              felipeg
              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.html

                Aconselho também a ler este note do Metalink 340512.1

                Atenciosamente,
                Felipe.

              Visualizando 6 posts - 1 até 6 (de 6 do total)
              • Você deve fazer login para responder a este tópico.