前言
上次说过,服务器时区不对导致的问题,修改后发现数据库日志展示的时间依旧不对,分享一下解决方案。
数据库环境:Oracle 11.2.0.4 RAC
正文
一、查看操作系统时区的命令
date -R
cat /etc/sysconfig/clock
timedatectl
确认或修改系统时区、时间。
二、检查并修改CRS时区文件的TZ配置
su - grid
TZ条目在 $GRID_HOME/crs/install/s_crsconfig_<nodename>_env.txt
文件中。
如我的是:$GRID_HOME/crs/install/s_crsconfig_tmsdb1_env.txt
实际我的环境中,该文件当前的时区设置是:
TZ=America/New_York
需要修改为:
TZ=Asia/Shanghai
(TZ配置,集群各个节点都需要进行更改的)
三、重启集群
crsctl stop crs
crsctl start crs
重启后确认,时间与系统时间一致
四、数据库时区修改
sqlplus / as sysdba
SELECT TZ_OFFSET(SESSIONTIMEZONE), TZ_OFFSET(DBTIMEZONE) FROM DUAL;
修改数据库时区:
ALTER DATABASE SET TIME_ZONE = '+8:00';
ALTER SESSION SET TIME_ZONE = '+08:00';
一般不需要修改这个,它只对TIMESTAMP WITH LOCAL TIME ZONE的数据类型有一定影响。
修改后重启数据库即可。
srvctl stop database -d jyzhao
srvctl start database -d jyzhao
重启后再次查询确认即可。
文章名称:《Oracle RAC修改时区》
文章链接: https://www.sgtms.com/shorthand/54.html
本站资源仅供个人学习交流,转载或者引用本文内容请注明来源及作者,不允许用于商业用途。
网友评论抢沙发