重庆思庄Oracle、Redhat认证学习论坛
标题: Alter Log中VKTM时间drift漂移现象 [打印本页]
作者: jiawang 时间: 2020-11-2 09:46
标题: Alter Log中VKTM时间drift漂移现象
时间是包括数据库系统在内的诸多信息系统基础件的重要因素。对于运行在操作系统OS之上的中间件组件而言,获取到一个准确、连续和一致的时间非常重要,特别是多节点的环境下。如果没有一个统一的时间管理机制,其上的cluster组件工作是及其困难的。
本篇主要介绍Oracle vktm时间后台进程报警的Bug问题。
1、从11g VKTM进程谈起
对Oracle数据库,避免对于操作系统层面时间的调用,维持一个统一稳定的时间体系一直是发展方向。在11g中,一个独立的后台进程vktm被引入到实例体系下。
VKTM进程全称为“Virtual Keeper of Time Process”,用于给数据库运行和间隔运算计量提供出一个统一的时间服务。
官方解释是:
VKTM acts as a time publisher for an Oracle instance. VKTM publishes two sets of time: a wall clock time using a seconds interval and a higher resolution time (which is not wall clock time) for interval measurements. The VKTM timer service centralizes time tracking and offloads multiple timer calls from other clients.
在11g之前的版本中,如果数据库实例(包括ASM和RAC Instance)需要当前时间的时候,都调用操作系统层面的时间获取函数(例如:gettimeofday())。进入11g之后,这个动作就由统一的VKTM负责完成,并且在进程内部保留时间过程。其他进程如果需要时间,都通过这个进程间接获得。专门的时间后台进程的出现,最直接的效果就是减少了同操作系统内核的交互,提高了性能。
2、alter日志报错现象: