两年前在aix6.0下给一家用户做过11grac,结果一到每年的4月、8月,时间就会变化导致医生站无法下达医嘱。刚开始以为是时间不同步,前几次都是手工修改时间搞定。后来发现是时区不正确,原来当初小机工程师在安装操作系统时根本就没有设置中国时区,默认为美国夏令时造成的。前天给用户升级顺便修改了时区,把详细步骤共享出来:
1、首先确认是否为美国夏令时:
rac1$ echo $TZ
只要不为Asia/Shanghai就需要修改,我们的环境能显示CST6CDT
修改步骤如下:
smitty-> System Environments -> Change / Show Date and Time -> Change Time Zone Using User Inputted Values ->选择china shanghai
2、光改操作系统时区还不够,因为oracle是向aix系统取时间,如果当初时区不正确在安装grid时oracle会默认操作系统的时区,所以grid也需要修改:
修改$GRID_HOME/crs/install/s_crsconfig_<nodename>_env.txt
rac1# more s_crsconfig_spdb1_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 settingNLS_LANG=JAPANESE_JAPAN.UTF8
### Do not modify this file except to change NLS_LANG, or under thedirection of Oracle Support Services
TZ=CST6CDT
NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
RT_GRQ=ON
TNS_ADMIN=
ORACLE_BASE=
修改s_crsconfig_spdb1_env.txt的TZ=Asia/Shanghai (别忘记两个节点都需要修改)
最后shutdown -Fr 完成修改。