问题描述
2019-03-25T08:00:01.412940+08:00
Warning: VKTM detected a time stall.
Time drifts can result in unexpected behavior such as time-outs.
Please see the VKTM trace file for more details:
/u01/app/oracle/diag/rdbms/db/db/trace/db_vktm_63714.trc
两节点ntp服务已关闭
# service ntpd status
ntpd is stopped
Trace file /u01/app/oracle/diag/rdbms/db/db/trace/db_vktm_63714.trc
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
Build label: RDBMS_12.2.0.1.0_LINUX.X64_170125
ORACLE_HOME: /u01/app/oracle/product/12.2.0/db1
System name: Linux
Node name: db1
Release: 2.6.32-573.el6.x86_64
Version: #1 SMP Thu Jul 23 15:44:03 UTC 2015
Machine: x86_64
Instance name: db12
Redo thread mounted by this instance: 0
Oracle process number: 6
Unix process pid: 63714, image: oracle@db12 (VKTM)
*** 2019-02-10T15:09:46.168294+08:00 (CDB$ROOT(1))
*** CLIENT ID:() 2019-02-10T15:09:46.168349+08:00
*** SERVICE NAME:() 2019-02-10T15:09:46.168357+08:00
*** MODULE NAME:() 2019-02-10T15:09:46.168363+08:00
*** ACTION NAME:() 2019-02-10T15:09:46.168372+08:00
*** CLIENT DRIVER:() 2019-02-10T15:09:46.168379+08:00
[kji_attach][LMON !running, !call kjual]
*** SESSION ID:(727.45771) 2019-02-10T15:09:46.172975+08:00
*** SERVICE NAME:() 2019-02-10T15:09:46.172994+08:00
*** CONTAINER ID:(1) 2019-02-10T15:09:46.173001+08:00
kstmmainvktm: succeeded in setting elevated priority
highres_enabled
VKTM running at (1)millisec precision with DBRM quantum (100)ms
[Start] HighResTick = 75394510316
kstmrmtickcnt = 0 : ksudbrmseccnt[0] = 1549782586
kstmchkdrift (kstmhighrestimecntkeeper:lowres): Time moved backward by (68)microsecs at 1550713032
*** 2019-02-21T09:36:10.411244+08:00 (CDB$ROOT(1))
kstmchkdrift (kstmhighrestimecntkeeper:lowres): Time moved backward by (62)microsecs at 1550713032
kstmchkdrift (kstmhighrestimecntkeeper:lowres): Time moved backward by (56)microsecs at 1550713032
kstmchkdrif
怎么解决?
专家解答
可以尝试调整该功能:
In general VKTM process need to be scheduled in every 10ms, if due to above reasons this is not happening, occurs less than 1sec and 5 sec then it is permissible.
Eventually, this probably would cause the resource manager to take improper decisions and can lead to a hang in worst case.
If the time drifts occurs less than 1sec and 5 sec for forward and backward respectively, then it is permissible and OK.
alter system set event="10795 trace name context forever, level 2" scope=spfile;
alter system set "_disable_highres_ticks"=true scope=spfile;
_timer_precision = 500