Oracle systimestamp result differs in db server and client

nlsoraclesessiontimezone

I am getting some strange output while executing the below command on db server and on client machine connected to same db server.

On DB server

SQL> select systimestamp from dual;

systimestamp

25-JUN-15 06.16.13.424135 PM +08:00

On Client Machine

SQL> select systimestamp from dual;

SYSTIMESTAMP

25-JUN-15 02.16.57.936662 AM -08:00

Below output for Reference

SQL>  select dbtimezone, sessiontimezone from dual;

DBTIMEZONE                     SESSIONTIMEZONE

+00:00                            +08:00

Best Answer

It is normal, because your NLS settings differ on the server and on the client.

The NLS conversion always happens on the client side no matter what your server settings are. Compare the output of these:

select * from nls_database_parameters;
select * from nls_session_parameters;