操作系统默认时区设置
Linux
修改
/usr/sbin/timeconfig
显示当前设置:
# cat /etc/sysconfig/clock ZONE="America/Los_Angeles" UTC=true ARC=false
注意:'timedatectl' 命令可用于在 CentOS/RHEL 7 中查询和更改系统时钟/时区。
要找出所有有效设置:
# ls -l /usr/share/zoneinfo
此目录中出现的任何内容都可以使用,例如 CST6CDT 和 America/Chicago。
注意: /etc/sysconfig/clock 中的“Zone”字段可能与 CentOS 6.x/RHEL 6.x 中的 /usr/share/zoneinfo 不同,应该使用 /usr/share/zoneinfo 中的字段$GRID_HOME/crs/install/s_crsconfig_[nodename]_env.txt
HP-UX
显示当前设置:
# cat /etc/default/tz PST8PDT
修改
# set_parms timezone
要找出所有有效设置:
# ls -l /usr/lib/tztab
Solaris
显示当前设置:
# grep TZ /etc/TIMEZONE TZ=US/Pacific
要在 x64 上更改,请修改 TIMEZONE,同时运行以下命令:
# rtc -z US/pacific; rtc -c
要找出所有有效设置:
# ls -l /usr/share/lib/zoneinfo
对于 Solaris 11
在 solaris 11 中,/etc/TIMEZONE 文件已过时。
这现在是通过“timezone:default”服务完成的:
# svccfg -s timezone:default setprop timezone/localtime= astring: # svcadm refresh timezone:default
AIX
显示当前设置:
# grep TZ /etc/environment TZ=GMT
这篇文章说明了如何在安装后更改 Grid Infrastructure 的时区设置。
笔记 :
要检查 Linux 上的当前时区,请使用命令:“timedatectl | grep 'Time zone'”
要检查 Windows 上的当前时区,请使用命令:"systeminfo | findstr /C:"Time Zone" "
网格时区设置
更改操作系统默认时区后,请确保:
- 对于 11.2.0.1,为 grid 用户和 root 正确设置了 shell 环境变量 TZ。
- 对于 11.2.0.2 及更高版本,$GRID_HOME/crs/install/s_crsconfig_[nodename]_env.txt 中的 TZ 条目设置为正确的时区。
TZ 必须与操作系统支持的完全一样,即:
# grep TZ s_crsconfig_[nodename]_env.txt TZ=US/Pacific
下面是一个不好的例子,因为存在不相关的字符(错误设置的时区可能会导致会话在通过侦听器连接时显示错误的时间戳等问题)。
TZ=%s_Asia/Kuala Lumpur%
在使用 en 编辑器进行更改之前备份。
一旦修改并验证为特权用户,就可以使用新值重新启动 GI。
对于 11.2 之前的 CRS,可以使用“init.cssd diag”来确认 CRS 的 TZ 设置; init.cssd 可以位于 /etc/init.d 、 /etc 或者 /sbin/init.d 中,具体取决于平台。