RAC環境select sysdate時間有誤debug

現象:

數據庫兩節點中:select sysdate from dual;
返回時間比OS date時間晚了13小時

select current_date from dual;
select current_timestamp from dual;

均無誤,與OS date時間一致

OS執行date返回時間和時區均無誤

date
Mon Nov  2 14:16:41 CST 2015

查看時區配置,發現1節點OS配置文件的時區是錯的,2節點正常

cat /etc/sysconfig/clock 
ZONE="America/New_York"

查看$GRID_HOME/crs/install/s_crsconfig_<nodename>_env.txt,發現grid讀取操作系統的時區也是錯的

# cat /u01/app/11.2.0/grid/crs/install/s_crsconfig_******1_env.txt 

TZ=America/New_York
NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1

查看當前listener的時區

ps -ef|grep tns
cat oracle   31919     1  0 14:17    /u01/app/11.2.0/grid/bin/tnslsnr LISTENER -inherit
cat /proc/31919/environ

其中LZ值為

TZ=America/New_York

原因:

文檔How To Change Timezone for 11gR2Grid Infrastructure [ID 1209444.1]指出:

Once OS default timezone is changed, make sure:

  1. For 11.2.0.1, shell environment variable TZ is set correctly for grid user and root.
  2. For 11.2.0.2 and above, TZ entry in $GRID_HOME/crs/install/s_crsconfig__env.txt sets to correct time zone.

grid直接讀取操作系統時區,grid的時區配置文件放在$GRID_HOME/crs/install/s_crsconfig_<nodename>_env.txt這個文件中,OS修改時區后需要調整該配置文件到正確的時區

可能情況:
最初在OS安裝時時區配置錯誤。
后期DBA在修改時區時,只通過cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime覆蓋,所以使用date命令查詢時區是正確的。
安裝oracleCRS的時候是在1節點,DB從操作系統時區配置文件/etc/sysconfig/clock 讀取到錯誤的時區配置America/New_York,導致grid的時區配置文件中的時區配置也是錯誤的。

解決步驟:
修改集群所有節點grid的時區配置文件

$GRID_HOME/crs/install/s_crsconfig_<nodename>_env.txt
#TZ=America/New_York
TZ=Asia/Shanghai
NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1

重啟所有節點集群。
查詢時間恢復正常。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,969評論 19 139
  • 背景: 閱讀新聞 12C CDB模式下RMAN備份與恢復 [日期:2016-11-29] 來源:Linux社區 作...
    陽屯okyepd閱讀 3,610評論 0 7
  • 摘要:Oracle RAC 添加節點操作,跟安裝類似,配置所需OS參數、IP規劃等,需要在rac層和db層分別添加...
    肆虐的悲傷閱讀 1,095評論 0 2
  • 周六的早晨 總是給人以特別好的感覺 不論晴天雨天,只是因為今天屬于忙碌的人們 可以自由的休息。 小黑一早就醒了,甚...
    禪二哥閱讀 271評論 2 0
  • 1.特殊不定式短語 特殊不定式短語可由名詞或名詞短語 + be 組成。 名詞 + 不定式 This meeting...
    胖紅Red閱讀 380評論 0 0