环境:RHEL 6.4 oracle 11g RAC架构
问题说明:环境中主要有以下几个时间:一个是linux系统时间、一个是linux硬件时间、还有一个是应用从oracle中取出的系统时间;其中第三个时间主要取决于第一个时间;而系统重启的时候,操作系统会根据硬件时间来修改linux系统时间。本问题中,linux系统时间和硬件时间不一致,且系统时间晚了40分钟,导致数据库取系统时间时,同样晚40分钟。
原理说明:ORACLE RAC有两种时间更新机制:一个是利用NTPD服务更新时间;二是通过CTSSD服务从主节点将时间同步至其他节点。本集群采用了第二种方式。
调整过程:本集群为两节点集群,因此只需要停掉副节点,修改主节点时间,然后再开启副节点即可。具体操作流程如下:
第一部分:关闭主节点相关服务
1、关闭数据库:export ORACLE_SID=db2 ;sqlplus / as sysdba ;shutdown
2、关闭集群软件:crsctl stop has -f (需要用root账号执行,如果运行报错commond not found,则打开$grid_home/bin/目录再执行)
第二部分:修改主节点系统时间
3、修改主节点时间:date -s "2018-11-15 18:00:00"(修改主节点系统时间);hwclock --systohc(将主节点系统时间同步至硬件时间);date /hwclock --show (观察主节点系统时间及硬件时间是否正确)
第三部分:启动副节点集群及应用
4、#crsctl start has (启动集群软件)
5、export ORACLE_SID=db2 ;sqlplus / as sysdba(启动数据库)
第四部分:查看副节点系统时间,并更新副节点硬件时间
6、date(查看系统时间)
7、hwclock --systohc(同步系统时间至硬件时间)
8、hwclock --show(查看硬件时间)
---------------------
作者:xiongshuiling
来源:CSDN
原文:https://blog.csdn.net/xiongshuiling/article/details/84131871
版权声明:本文为博主原创文章,转载请附上博文链接!