Hello All,
We have got an issue about time zone differences in alert logs , crs logs with system timestamp and with system timestamp.
System date time
[oracle@TESTRAC1]/ # date
Tue Apr 24 04:10:11 CEST 2013
But database Alert log shows,
Thread 1 advanced to log sequence 235 (LGWR switch)
Current log# 11 seq# 235 mem# 0: +DATA01/db/onlinelog/redot01g01m01.rdo
Current log# 11 seq# 235 mem# 1: +FRA01/db/onlinelog/redot01g01m02.rdo
Fri Apr 24 45:04:50 2013
Archived Log entry 475 added for thread 1 sequence 234 ID 0x984ece99 dest 1:
[oracle@TESTRAC1 trace]$ date
Fri Apr 24 06:46:16 IST 2013
Note: Two hours ahead of the database time and the host time
- Few checks before start actual resolution
1) Our database timezone showing correct timestamp only.
SQL> select systimestamp from dual;
SYSTIMESTAMP
---------------------------------------------------------------------------
24-APR-13 04.13.03.105848 AM +02:00
2) Hardware clock checked and its fine
[oracle@TESTRAC1] # hwclock
Tue 24 Apr 2013 04:13:43 AM CEST -0.072343 seconds
3) Ran the cluster verification utility for timesynchronisation issues and its passed
./cluvfy cluvfy comp clocksync
Verifying Clock Synchronization across the cluster nodes
Checking if Clusterware is installed on all nodes...
Check of Clusterware install passed
Checking if CTSS Resource is running on all nodes...
Check: CTSS Resource running on all nodes
Node Name Status
------------------------------------ ------------------------
TESTRAC1 passed
TESTRAC2 passed
Result: CTSS resource check passed
Querying CTSS for time offset on all nodes...
Result: Query of CTSS for time offset passed
Check CTSS state started...
Check: CTSS state
Node Name State
------------------------------------ ------------------------
TESTRAC1 Observer
TESTRAC2 Observer
CTSS is in Observer state. Switching over to clock synchronization checks using NTP
Starting Clock synchronization checks using Network Time Protocol(NTP)...
NTP Configuration file check started...
The NTP configuration file "/etc/ntp.conf" is available on all nodes
NTP Configuration file check passed
Checking daemon liveness...
Check: Liveness for "ntpd"
Node Name Running?
------------------------------------ ------------------------
TESTRAC1 yes
TESTRAC2 yes
Result: Liveness check passed for "ntpd"
Check for NTP daemon or service alive passed on all nodes
Checking NTP daemon command line for slewing option "-x"
Check: NTP daemon command line
Node Name Slewing Option Set?
------------------------------------ ------------------------
TESTRAC1 yes
TESTRAC2 yes
Result:
NTP daemon slewing option check passed
Checking NTP daemon's boot time configuration, in file "/etc/sysconfig/ntpd", for slewing option "-x"
Check: NTP daemon's boot time configuration
Node Name Slewing Option Set?
------------------------------------ ------------------------
TESTRAC1 yes
TESTRAC2 yes
Result:
NTP daemon's boot time configuration check for slewing option passed
Checking whether NTP daemon or service is using UDP port 123 on all nodes
Check for NTP daemon or service using UDP port 123
Node Name Port Open?
------------------------------------ ------------------------
TESTRAC1 yes
TESTRAC2 yes
NTP common Time Server Check started...
NTP Time Server ".GPS." is common to all nodes on which the NTP daemon is running
Check of common NTP Time Server passed
Clock time offset check from NTP Time Server started...
Checking on nodes "[TESTRAC1, TESTRAC2]"...
Check: Clock time offset from NTP Time Server
Time Server: .GPS.
Time Offset Limit: 1000.0 msecs
Node Name Time Offset Status
------------ ------------------------ ------------------------
TESTRAC1 0.125 passed
TESTRAC2 0.274 passed
Time Server ".GPS." has time offsets that are within permissible limits for nodes "[TESTRAC1, TESTRAC2]".
Clock time offset check passed
Result: Clock synchronization check using Network Time Protocol(NTP) passed
Oracle Cluster Time Synchronization Services check passed
Verification of Clock Synchronization across the cluster nodes was successful.
4) CTSSD is in observed mode, means our cluster using ntp
- So everything is intact, but where is the problem, here you go about the issue and its resolution.
Resolution Steps
This is due to the installation of cluster using a stack that we have in place in our company where that is built in HK
and the timezone parameter set as HK and Oracle install maintains a file called s_crsconfig_TESTRAC1_env for timezone setting for node.
We just run a script while input a parameter file for cluster installation, it will install the crs automatically for given nodes.
But the parameter hardcoded was in HK timezone and where in we installed for India.
1) Check the time zone parameter of the linux operating system
[root@TESTRAC1 install]# cat /etc/sysconfig/clock ZONE="Asia/Kolkata" UTC=false [root@TESTRAC1 install]#
2) Chek the s_crsconfig_TESTRAC1_env.txt file values, make sure the OS and this Time Zone entries are same.
[root@TESTRAC1 ~]# cd /u01/gi/oragrid/grid/11.2.0.3/crs/install
[root@TESTRAC1 install]# cat s_crsconfig_TESTRAC1_env.txt
### This file can be used to modify the NLS_LANG environment variable, which det
### For example, a new charset can be configured by setting NLS_LANG=JAPANESE_JA
### Do not modify this file except to change NLS_LANG, or under the direction of
TZ=Asia/Hong_Kong
NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
TNS_ADMIN=
ORACLE_BASE=
[root@TESTRAC1 install]#
NOTE: Here OS Time Zone is {Asia/Kolkata} and CRS timezone is {Asia/Hong_Kong}, now we need to update the CRS timezone as {Asia/Kolkata}
3) Take the backup of s_crsconfig_TESTRAC1_env.txt file and update the TZ value as OS timezone.
[root@TESTRAC1 install]# cp s_crsconfig_TESTRAC1_env.txt s_crsconfig_TESTRAC1_env.txt_bkp root@TESTRAC1 install]# vi s_crsconfig_TESTRAC1_env.txt [root@TESTRAC1 install]# [root@TESTRAC1 install]# cat s_crsconfig_TESTRAC1_env.txt ### This file can be used to modify the NLS_LANG environment variable, which determines the charset to be used for messages. ### For example, a new charset can be configured by setting NLS_LANG=JAPANESE_JAPAN.UTF8 ### Do not modify this file except to change NLS_LANG, or under the direction of Oracle Support Services TZ=Asia/Kolkata NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1 TNS_ADMIN= ORACLE_BASE= [root@TESTRAC1 install]#
4) Bounce the HAS on 2 nodes one after other
[root@TESTRAC1 install]# cd /u01/gi/oragrid/grid/11.2.0.3/bin [root@TESTRAC1 bin]# ./crsctl stop has [root@TESTRAC1 bin]# ./crsctl start has CRS-4123: Oracle High Availability Services has been started.
Post Checks
On node 1
~~~~~~~~
Check the time of the OS and Database and make sure both are same.
[oracle@TESTRAC1]/ # date Tue Apr 30 06:10:11 CEST 2013
Thread 1 advanced to log sequence 489 (LGWR switch) ..... Fri Apr 26 06:11:50 2013 ...
Same steps for 2nd node as well.
Hope this helps.
-Thanks
Geek DBA
Follow Me!!!