在RAC中集群的时间应该是保持同步的,否则可能导致很多问题,比如:依赖于时间的应用会造成数据的错误,各种日志打印的顺序紊乱,这将会影响问题的诊断,严重的可能会导致集群宕机或者重新启动集群时节点无法加入集群。

在11gR2前,集群的时间是由NTP同步的,而在11gR2后,Oracle引入了CTSS组件,如果系统没有配置NTP,则由CTSS来同步集群时间。

NTP和CTSS是可以共存的,且NTP的优先级要高于CTSS,也就是说如果系统中同时有NTP和CTSS,集群的时间是由NTP同步的,CTSS会处于观望(Observer)模式,只有当集群关闭所有的NTP服务,CTSS才会处于激活(Active)模式。

以下是集群时间同步的两种模式:

1)NTP同步模式

节点1的octssd.log中记录发现ntp服务,ctss服务会自动切换到观望模式。

节点2的octssd.log中也会记录发现ntp服务,ctss服务为观望模式,并且同步时间的主节点是节点1。

2)CTSS同步模式


节点1的octssd.log中记录没有发现ntp服务,ctss服务为激活模式。

节点2的octssd.log中记录没有发现ntp服务,ctss服务为激活模式,同步时间的主节点是节点1,并且会告诉你集群的时间有差异,但是因为差异过小,无需调整。

虽然集群时间不一致,但是这种情况下校验结果是通过的,而且略微的差异范围内集群也会自动同步回来。

如果在我们生产系统中碰到集群时间不一致会导致什么结果,我们的排查思路是怎么样的,以下是模拟集群时间不一致的场景。

更改节点2的时间后在ASM和DB的alert日志中产生了以下的告警信息

Warning: VKTM detected a time drift.Time drifts can result in an unexpected behavior such as time-outs. Please check trace file for more details.oracle@com2:/opt/oracle/diag/rdbms/orcl/orcl2/trace>more orcl2_vktm_34715.trcTrace file /opt/oracle/diag/rdbms/orcl/orcl2/trace/orcl2_vktm_34715.trcOracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit ProductionWith the Partitioning, Real Application Clusters, OLAP, Data Miningand Real Application Testing optionsORACLE_HOME = /opt/oracle/products/11.2.0System name:    LinuxNode name:      com2Release:        3.10.0-693.11.1.el7.x86_64Version:        #1 SMP Fri Oct 27 05:39:05 EDT 2017Machine:        x86_64Instance name: orcl2Redo thread mounted by this instance: 0 <none>Oracle process number: 4Unix process pid: 34715, image: oracle@com2 (VKTM)

*** 2018-06-08 20:01:39.824*** SESSION ID:(921.1) 2018-06-08 20:01:39.824*** CLIENT ID:() 2018-06-08 20:01:39.824*** SERVICE NAME:() 2018-06-08 20:01:39.824*** MODULE NAME:() 2018-06-08 20:01:39.824*** ACTION NAME:() 2018-06-08 20:01:39.824

kstmmainvktm: succeeded in setting elevated priorityhighres_enabled

*** 2018-06-08 20:01:39.824VKTM running at (1)millisec precision with DBRM quantum (100)ms[Start] HighResTick = 1528459299824585kstmrmtickcnt = 0 : ksudbrmseccnt[0] = 1528459299

*** 2018-06-10 20:04:00.000kstmchkdrift (kstmhighrestimecntkeeper:highres): Time jumped forward by (172844812599)usec at (1528632240000738) whereas (1000000) is allowed

VKTM进程发现系统时间变了,alert日志会产生相应的告警信息,从产生的trace文件中可知,系统向前推进了172844812599微秒,也即为48小时(也就是我们模拟更改的时间),而允许的差异范围为1秒。

节点2的octssd.log中和ctss状态都记录了偏移的时间,而且校验也是失败的,校验结果是需要同步节点2的时间,此时因为集群时间差异较大,同步服务往往是无法做到的,只有手工同步才能修复。

在没有同步时间之前,重启节点2是无法正常启动的,从以下命令可知是在ctss这一步有问题,通过重新更改正确时间后,集群才能正常启动。

| 作者简介

管海涛·沃趣科技高级数据库技术专家

熟悉Oracle数据库内部机制,丰富的数据库及RAC集群层故障诊断、性能调优、OWI、数据库备份恢复及迁移经验。

Oracle集群时间同步相关推荐

  1. RAC集群时间同步服务

    集群时间同步服务 在集群中的两个 Oracle RAC 节点上执行以下集群时间同步服务配置. Oracle Clusterware 11g 第 2 版及更高版本要求在部署了 Oracle RAC 的集 ...

  2. Oracle集群(RAC)时间同步(ntp和CTSS)

    Oracle集群(RAC)时间同步(ntp和CTSS) http://blog.itpub.net/26736162/viewspace-2157130/ crsctl stat res -t -in ...

  3. linux+Oracle集群课程全面升级

    作为国内最早从事开源架构师级课程研发的公司,从2006年10月开始,荣新稳步提升,将互联网运维作为主导就业方向,并将Linux集群架构课程发展成为国内最顶级.覆盖技术最全面的Linux课程,作为荣新I ...

  4. was连接oracle rac集群,Oracle集群(RAC)及 jdbc 联接双机数据库

    oracle集群url配置 oracle集群中plsql和java程序连接方式非集群中plsql连接配置: www.2cto.com DB1_193 = (DESCRIPTION = (ADDRESS ...

  5. 【Oracle 集群】Linux下Oracle RAC集群搭建之基本测试与使用(九)

    Oracle 11G RAC数据库安装(九) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总 ...

  6. 2.oracle的安装常识,Oralce服务器,oracle集群,oracle服务介绍,用户解锁相关

     1 oracle的安装常识(oracle10g和oracle11g的版本差别): A 安装目录都不要有中文和空格 B oracle10g支持winxp 不支持win7,8和vista;Oracl ...

  7. linux下安装oracle集群,【Oracle 集群】Linux下Oracle RAC集群搭建之Oracle DataBase安装(八)...

    目录 数据库安装 继oracle集群安装之后,接下来也是最重要的数据库安装,整个数据库安装难度不大,用户以oracle用户身份登录RAC1主节点,对解压后的文件安装.主节点下安装后,其他所有结点自动安 ...

  8. mac node oracle,将Python3.5(Mac OS X El Capitan)连接到Oracle集群(远程)

    我正在尝试将Python3.5(Mac OS X El Capitan)连接到Oracle集群(远程). 对于安装cx_Oracle,我设置了: export ORACLE_HOME=/Applica ...

  9. 大数据之-Hadoop完全分布式_集群时间同步---大数据之hadoop工作笔记0043

    然后我们需要在集群中的所有机器,保持他们的时间是一样的,为什么,? 比如,我们有3台机器, a机器时间是1点 b机器时间是2点 c机器时间是3点 那么如果我们设置了一个任务是要求他1点执行,那么,会出 ...

  10. 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之集群概念介绍(一)

    集群概念介绍(一)) 白宁超 2015年7月16日 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习 ...

最新文章

  1. Python安装及netcdf数据读写
  2. idea的setting界面怎么进_WMA转MP3怎么转?学会这招,WMA视频随便看!
  3. redis list命令操作
  4. python的函数结构_Python学习(四)常见函数及控制结构
  5. 210228Linux 条件变量 线程池
  6. iOS11 UITableViewCell滑动事件改动
  7. PostgreSQL Oracle 兼容性之 - INDEX SKIP SCAN (递归查询变态优化) 非驱动列索引扫描优化...
  8. 使用xUnit为.net core程序进行单元测试(中)
  9. ubuntu mysql 数据_Ubuntu下MySQL数据库使用
  10. 著名的用户界面设计准则
  11. MongoDB:MapReduce基础及实例
  12. 3D数学基础学习笔记(Unity3d)
  13. linux 16.04系统下载,【ubuntu16.04】ubuntu(乌班图系统)镜像文件下载 v16.04 稳定版本-七喜软件园...
  14. 王者服务器维护杨戬,王者荣耀杨戬-王者荣耀官网网站-腾讯游戏
  15. python爬虫 - 代理ip正确使用方法
  16. HTML 写代码流星雨
  17. 乐游TGapi接口平台(接口商)
  18. 括号配对c语言,括号匹配(c语言实现)
  19. 川崎机器人f控制柜接线图_川崎机器人PROFINET总线通信图文教程
  20. html5slider轮播,jQuery轮播图插件slider-pro

热门文章

  1. 全国各省市区城市编码SQL
  2. React-Native使用Nanohttpd实现跨平台互传文件
  3. 深入浅出4G标准 LTE FDD和LTE TDD
  4. 时间序列研(part14)--习题
  5. clion生成qt的qrc文件
  6. 全球及中国电子材料市场需求分析与十四五投资潜力预测报告2021年版
  7. word文档中打钩的8种方法【实用】
  8. 信号与系统Matlab实验1
  9. 常用win10优化工具(后续继续更新)
  10. 计算机系统常见的10个硬件 1故障,计算机十项常见故障