Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Administration
Administration Forum d'entraide sur l'administration du serveur Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/10/2007, 19h57   #1
freshtasty
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Par défaut Systimestamp ne retourne pas le bon fuseau/timezone

Bonjour,
J'ai ce curieux bogue qui me tracasse depuis plusieurs jours. Mes paramètres Windows sont définis sur le fuseau GMT-5 Est. Ainsi que le dbtimezone (-05:00) de ma bd Oracle 9i.

Malgré cela, à chaque connexion utilisateur, le fuseau de la session se situe à -04:00 et même après un ALTER SESSION SET TIME_ZONE = ‘-5:00’, un SELECT de SYSTIMESTAMP me retournera la bonne date et heure mais toujours le fuseau -4:00.

Code :
1
2
3
4
5
6
7
8
9
10
11
 
ALTER session SET time_zone = '-5:00';
SELECT sessiontimezone, dbtimezone FROM dual;
 
   	SESSIONTIMEZONE	DBTIMEZONE
1	-05:00	-05:00
 
SELECT systimestamp FROM dual;
 
   	SYSTIMESTAMP
1	05-OCT-07 01.53.59.243000 PM -04:00
Ce que je connais de la fonction SYSTIMESTAMP, c'est qu'elle devrait retourner la date, l'heure et le fuseau de l'OS du serveur. J'ai fait vérifier par deux admins réseau et chacun m'assure que notre serveur est bel et bien à GMT-5.

Je rame depuis une semaine et je n'arrive pas du tout à trouver une cause ou un setting Oracle qui pourrait me mettre sur la piste de ce mauvais fuseau...

Quelqu'un a une idée ?

Séb.
  Envoyer un message privé Réponse avec citation 00
Vieux 08/10/2007, 09h12   #2
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
ça pue le bug... si votre dbtimezone est à -5, il devrait vous répondre un systimestamp en -5...

Le session time_zone risque simplement de faire du bruit... je le laisserais à +00:00 dans un premier temps.

Que donne un select simultané de sysdate et systimestamp ?
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2007, 15h14   #3
freshtasty
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Bonjour, merci pour votre temps.
Voici la trace demandée :
Code :
1
2
3
4
5
6
7
8
9
10
 
ALTER session SET time_zone = '0:00';
SELECT sessiontimezone, dbtimezone FROM dual;
 
   	SESSIONTIMEZONE	DBTIMEZONE
1	+00:00			-05:00
 
SELECT sysdate, systimestamp FROM dual;
   	SYSDATE			SYSTIMESTAMP
1	2007-10-09 09:02:37	09-OCT-07 09.02.37.582000 AM -04:00
J'ai cette intuition qui me travaille depuis quelques jours. Nous avons, grâce au gouvernement américain, subit une correction de la durée de l'heure avancée et avons eu divers patchs à installer. Quoique ça relève d'un autre département que le mien, j'ai de plus en plus l'impression qu'ils ont oublié un patch pour Oracle... Évidemment, ce département me dit avoir installé toutes les patchs pour Oracle ! Je commence à en douter plus mon mystère persiste.

Séb.
  Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2007, 09h21   #4
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
le "daylight saving time patch" était un patch qui permettait de décaler le jour de changement d'heure (qui avait été avancé ou reculé d'une semaine me semble-t-il)
il semble donc hors de cause sur le coup...

par contre votre requête, vous l'avez faite à quelle heure ?
vous pouvez aussi prendre current_timestamp pour comparer ?
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2007, 22h13   #5
freshtasty
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Bonjour, merci encore pour votre temps,
alors donc, si je n'ai rien mentionné au sujet de l'heure, c'est qu'elle était bonne. Cependant, et c'est là que nous avons initialement décelé le bogue, current_timestamp et localtimestamp ne retournent pas la bonne heure. Voici quelques traces à se mettre sous la dent (pour la prochaine trace, j'ai remis le timezone de la session à -5) :
Code :
1
2
3
4
5
6
7
8
9
10
11
 
ALTER session SET time_zone = '-5:00';
SELECT sessiontimezone, dbtimezone FROM dual;
 
   	SESSIONTIMEZONE	DBTIMEZONE
1	-05:00	-05:00
 
SELECT sysdate, systimestamp, current_timestamp, localtimestamp  FROM dual;
 
   	SYSDATE			SYSTIMESTAMP				CURRENT_TIMESTAMP			LOCALTIMESTAMP
1	2007-10-10 15:58:26	10-OCT-07 03.58.26.584000 PM -04:00	10-OCT-07 02.58.26.584000 PM -05:00	10-OCT-07 02.58.26.584000 PM
Donc, il est environ 15h58 (réellement) et je quitte le boulot dans 10 min.
On remarque que la session maintenant avec le bon fuseau indique une heure plus tôt qu'il ne l'est réellement. J’ai déjà pensé que le problème pourrait provenir du profil utilisateur Oracle ou d’une quelconque variable d’environnement Oracle mais je ne saurais quoi vérifier.

Décidément, ce problème est coriace !

Séb.
  Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2007, 15h32   #6
Membre du Club
 
Inscription : septembre 2005
Messages : 94
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 94
Points : 67
Points : 67
Pour moi tout semble normal

Le système (la base) est ) -4:00 ....et il es 3:52

La session est à -5:00 (CURRENT et LOCAL...) ...et il est 2:52

En passant de -4:00 à -5:00 tu te trouves à un endroit du globe où il fait plus "tôt" que chez toi
Oui oui pkoi y aurait t-il un bug?

Code :
1
2
3
4
5
6
7
8
9
SQL> ALTER session SET time_zone = '+2:00';
 
Session modifiée.
 
SQL> SELECT sysdate, systimestamp, current_timestamp, localtimestamp  FROM dual;
 
SYSDATE  SYSTIMESTAMP                        CURRENT_TIMESTAMP                   LOCALTIMESTAMP
-------- ----------------------------------- ----------------------------------- -------------------
12/10/07 12/10/07 15:34:33,629606 +02:00     12/10/07 15:34:33,629612 +02:00     12/10/07 15:34:33,6296
Code :
1
2
3
4
5
6
7
8
9
SQL> ALTER session SET time_zone = '-5:00';
 
Session modifiée.
 
SQL> SELECT sysdate, systimestamp, current_timestamp, localtimestamp  FROM dual;
 
SYSDATE  SYSTIMESTAMP                        CURRENT_TIMESTAMP                   LOCALTIMESTAMP
-------- ----------------------------------- ----------------------------------- -------------------
12/10/07 12/10/07 15:35:10,666193 +02:00     12/10/07 08:35:10,666199 -05:00     12/10/07 08:35:10,6661
Je passe pour moi de +2 à -5 et de 15:35 à 8:35...our un autre exemple.
lca94 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2007, 15h39   #7
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
Le problème est qu'il déclare la base en GMT - 5 et quand il lui demande l'heure, elle répond GMT -4
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2007, 21h11   #8
freshtasty
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Je viens de remarquer quelque chose d'étrange... peut-être n'est-ce pas Oracle le problème mais Windows... j'explique :

Je viens de noter, en remarquant l'heure et le fureau indiqué au bas de cette page (oui oui, cette page de developpez.net), qu'il est 15h01 et que je suis dans le fureau -4. Je viens de vérifier le paramètre fuseau de mon Windows, et lui indique -5.


Citation:
Fuseau horaire GMT -4. Il est actuellement 15h01.
Peut-être que le bogue est généralisé à notre parc Windows.

Je poursuis l'enquête...
  Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2007, 21h37   #9
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 523
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 523
Points : 3 972
Points : 3 972
Et est-ce qu'il n'y aurait pas aussi un paramètre d'heure d'été du côté windows, voir Oracle ?
Je n'ai rien trouvé du côté d'oracle, mais je ne connais pas tout.
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/10/2007, 21h22   #10
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
Citation:
Envoyé par freshtasty Voir le message
Je viens de remarquer quelque chose d'étrange... peut-être n'est-ce pas Oracle le problème mais Windows... j'explique :

Je viens de noter, en remarquant l'heure et le fureau indiqué au bas de cette page (oui oui, cette page de developpez.net), qu'il est 15h01 et que je suis dans le fureau -4. Je viens de vérifier le paramètre fuseau de mon Windows, et lui indique -5.




Peut-être que le bogue est généralisé à notre parc Windows.

Je poursuis l'enquête...
alors là, oui, ça me semble une bonne piste !
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/11/2007, 17h36   #11
freshtasty
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Par défaut Suivi du bogue

Bonjour,
Nous n'avons toujours pas trouvé la source du problème mais sachez que depuis que nous sommes revenus à l'heure normale ce 4 novembre dernier, tous les fuseaux sont revenus à -5 et l'heure affichée est maintenant correcte.

Quant à l'observation que j'avais fait au bas de la page de développez.net comme quoi le fuseau affiché n'était pas le bon, lui aussi s'est résorbé depuis et affiche maintenant le bon fuseau : Fuseau horaire GMT -5. Il est actuellement 11h25. À ce que je sache, l'heure affichée au bas de la page est générée par le serveur de developpez.net... non ?

Finalement, ce n'est qu'un sursis jusqu'au prochain avancement de l'heure la 2e semaine de mars prochain. Jusque là, ce sera plus difficile de reproduire le bogue puisqu'il a disparu.
  Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2008, 15h20   #12
Membre du Club
 
Inscription : septembre 2005
Messages : 94
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 94
Points : 67
Points : 67
Alors là je suis skotché! car je m'étais intéressé au problème car je l'ai moi même (d'ailleurs quel i____, effectivement la base en GMT-5 et la session en -4 ... car justment j'ai le même problème)

J'explique: cet hiver on avait une base en GMT+0:00 avec en session un affichage d'une heure de décalage...

Et hop WE de Mars tout a disparut : c'est redevenu normal ...


Il y a donc présomption de bug car même directement sous linux ou à partir d'un client windows j'avais le même problème: non résolu et disparut

A retenir pour le prochain changement d'heure.
:o)
lca94 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Mettre Résolu
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h35.


 
 
 
 
Partenaires

Hébergement Web