Je reçois une sortie étrange lors de l'exécution de la commande ci-dessous sur DB Server et sur la machine cliente connectée au même serveur DB.
SQL> select systimestamp from dual;
systimestamp
25-JUN-15 06.16.13.424135 PM +08:00
SQL> select systimestamp from dual;
SYSTIMESTAMP
25-JUN-15 02.16.57.936662 AM -08:00
SQL> select dbtimezone, sessiontimezone from dual;
DBTIMEZONE SESSIONTIMEZONE
+00:00 +08:00
Il est normal, car vos paramètres NLS diffèrent sur le serveur et sur le client.
La conversion NLS arrive toujours du côté du client, peu importe les paramètres de votre serveur. Comparez la sortie de ces:
select * from nls_database_parameters;
select * from nls_session_parameters;
Timezone de SYSTIMESTAMP
est tiré du système d'exploitation. Toutefois, sur le système d'exploitation, cela peut être spécifique à l'utilisateur.
Avez-vous des résultats différents lorsque vous faites cela sur DB Server?
$ su Oracle
$ setenv TZ America/Winnipeg
$ sqlplus / as sysdba
SQL> select systimestamp from dual;
...
SQL> exit
$ setenv TZ Europe/Zurich
$ sqlplus / as sysdba
SQL> select systimestamp from dual;
...
SQL> exit