奇怪的Oracle 11gRAC日誌記錄的時間與作業系統時間不一致問題

gycixput發表於2018-03-16
環境:
suse 11sp4
Oracle 11.2.0.4 RAC

安裝完成軟體和補丁後,檢查時間,發現兩個主機時間相差5個小時。


調整系統時間,調整兩臺主機為同一時間點。
date -s '2017-03-18 11:23:00'


調整之後重啟主機,檢查發現主機時間一致,檢查叢集alert日誌發現日誌檔案時間和日誌裡面輸出時間不一致,
按照以往經驗肯定是由於grid時間不一致導致,檢查兩臺主機,發現叢集時區正常,資訊如下:


grid@jdXXXac1:/oracle/XXXXXXXX/grid/crs/install> more s_crsconfig_jdXXXac1_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/Aden
NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
TNS_ADMIN=
ORACLE_BASE=


檢查主機硬體時間,發現兩臺主機硬體時間相差五個小時,檢查方式如下:
hwclock --show

同步硬體時間和系統時間一致,同步方式如下:
hwclock --hctosys

調整後重啟主機,發現叢集alert日誌發現日誌檔案時間和日誌裡面輸出時間依然不一致。

網上查詢Asia/Aden地區位置在 Aden 亞丁[葉門] (與北京東八區標準時差),跟北京標準時差5個小時,推測可能是系統時區配置錯誤。


檢查系統時區,檢查方式如下:
jdwebrac2:/home/icbccs # more /etc/sysconfig/clock| grep TIMEZONE
TIMEZONE="Asia/Shanghai"
DEFAULT_TIMEZONE="US/Eastern"
jdXXXac1:/home/icbccs # more /etc/localtime
TZif2
CST-8


jdXXXac1:/home/icbccs # more /etc/sysconfig/clock| grep TIMEZONE
TIMEZONE="Asia/Aden"
DEFAULT_TIMEZONE="US/Eastern"
jdXXXac1:/home/icbccs # more /etc/localtime
TZif2
CST-3

正如所推測,調整系統時區:
調整節點1 clock檔案為正確時區。
TIMEZONE="Asia/Shanghai"

rm -f /etc/localtime 
ln -sf  /usr/share/zoneinfo/Asia/Shanghai    /etc/localtime

重啟主機後,檢查系統時間正確,發現叢集alert日誌發現日誌檔案時間和日誌裡面輸出時間依然不一致。
調整grid時間為"Asia/Shanghai",調整檔案為 $ORACLE_HOME/crs/install/s_crsconfig_`hostname`.txt


調整後重啟主機後,檢查叢集alert日誌發現日誌檔案時間和日誌裡面輸出時間依然不一致。


再次重新檢查系統時區、系統時間、硬體時間、grid時區,發現硬體時間和系統時間不一致。重新同步硬體時間後重啟crs叢集后恢復正常。

hwclock --hctosys


總結:隨著Oracle使用的推廣,安裝資料庫叢集過程中對於一些提前條件檢查好多人會忽略,導致資料庫安裝後出現各種關於時間的故障,建議在安裝叢集時前提條件一定要檢查,尤其是時間和時區。






























來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24585765/viewspace-2151922/,如需轉載,請註明出處,否則將追究法律責任。

相關文章