More time warps

In a follow-up to my earlier post about how in a RAC cluster, you can get different SYSDATE functions returned comparing local connections and those through a cluster listener.  In that instance, changing the clusterware time zone information and restarting the clusterware was the solution.  For your background reading, that can be found here.

Today I came across a new one.  RAC cluster (11.2.0.3) with two databases running; the first instance was fine except all the log files (alert.log etc) were off by four hours (alert was four hours later than the current time) and the second instance matched the database time and the alert log times…

The cluster configuration turned out to be fine.  Setting TZ= at the Oracle account level made no difference.  However when I looked at both SMON processes environment variables (cat /proc/PID-of-SMON/environ), the good database had TZ=America/New_York and the misbehaving one had TZ=America/New_ – a truncated entry.

Next, a trip into the SRVCTL utility…

oracrs> srvctl getenv database -d bad_db
bad_db:
TZ=America/New York
oracrs>
 
oracrs> srvctl getenv database -d good_db
good_db:
oracrs>

Note that the good DB is missing that “correct” definition for TZ.  The solution is to unset that parameter..

oracrs> srvctl unsetenv database -d bad_db -t “TZ”

Bounce the database and your alert.log should now be very happy.

 

 

 

 

 

 

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s