프린트 하기

OS환경 : Oracle Linux 8.4 (64bit)

 

DB 환경 : Oracle Database 19.3.0.0

 

에러 : Warning: VKTM detected a backward time drift.

alert log 에 발생한 메세지

1
2
3
4
5
2023-12-16T09:32:00.401843+09:00
Warning: VKTM detected a backward time drift.
Time drifts can result in unexpected behavior such as time-outs.
Please see the VKTM trace file for more details:
/ORA19/app/oracle/diag/rdbms/oracle19/oracle19/trace/oracle19_vktm_50933.trc

 

 

해당 trace 확인

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
$ cat /ORA19/app/oracle/diag/rdbms/oracle19/oracle19/trace/oracle19_vktm_50933.trc
Trace file /ORA19/app/oracle/diag/rdbms/oracle19/oracle19/trace/oracle19_vktm_50933.trc
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
Build label:    RDBMS_19.3.0.0.0DBRU_LINUX.X64_190417
ORACLE_HOME:    /ORA19/app/oracle/product/19.0.0/db_1
System name:    Linux
Node name:      oel8
Release:        4.18.0-147.el8.x86_64
Version:        #1 SMP Tue Nov 12 11:05:49 PST 2019
Machine:        x86_64
Instance name: oracle19
Redo thread mounted by this instance: 0 <none>
Oracle process number: 5
Unix process pid: 50933, image: oracle@oel8 (VKTM)
 
 
*** 2023-12-11T09:31:29.120125+09:00
*** SESSION ID:(119.545052023-12-11T09:31:29.120140+09:00
*** CLIENT ID:() 2023-12-11T09:31:29.120144+09:00
*** SERVICE NAME:() 2023-12-11T09:31:29.120146+09:00
*** MODULE NAME:() 2023-12-11T09:31:29.120150+09:00
*** ACTION NAME:() 2023-12-11T09:31:29.120152+09:00
*** CLIENT DRIVER:() 2023-12-11T09:31:29.120155+09:00
 
kstmmainvktm: succeeded in setting elevated priority
highres_enabled
VKTM running at (1)millisec precision with DBRM quantum (100)ms
[Start] HighResTick = 73011116215
kstmrmtickcnt = 0 : ksudbrmseccnt[0= 1702254689
kstmchkdrift (kstmhighrestimecntkeeper:lowres): Time moved backward by (86406)microsecs at 1702600326
 
*** 2023-12-14T09:32:06.606175+09:00
kstmchkdrift (kstmhighrestimecntkeeper:lowres): Time moved backward by (86400)microsecs at 1702600326
kstmchkdrift (kstmhighrestimecntkeeper:lowres): Time moved backward by (86394)microsecs at 1702600326
kstmchkdrift (kstmhighrestimecntkeeper:lowres): Time moved backward by (86388)microsecs at 1702600326
 
*** 2023-12-17T09:32:00.407085+09:00
kstmchkdrift (kstmhighrestimecntkeeper:lowres): Stall, backward drift ended at 1702773120 drift: 172794
kstmchkdrift (kstmhighrestimecntkeeper:lowres): Time moved backward by (86403)microsecs at 1702773123
 
*** 2023-12-16T09:32:00.273743+09:00
kstmchkdrift (kstmhighrestimecntkeeper:lowres): Time moved backward by (86403)microsecs at 1702773123
kstmchkdrift (kstmhighrestimecntkeeper:lowres): Time moved backward by (86397)microsecs at 1702773123
kstmchkdrift (kstmhighrestimecntkeeper:lowres): Time moved backward by (86391)microsecs at 1702773123
kstmchkdrift (kstmhighrestimecntkeeper:lowres): Time moved backward by (86385)microsecs at 1702773123
kstmchkdrift (kstmhighrestimecntkeeper:lowres): Time moved backward by (86379)microsecs at 1702773123
kstmchkdrift (kstmhighrestimecntkeeper:lowres): Time moved backward by (86373)microsecs at 1702773123
kstmchkdrift (kstmhighrestimecntkeeper:lowres): Time moved backward by (86367)microsecs at 1702773123
kstmchkdrift (kstmhighrestimecntkeeper:lowres): Time moved backward by (86361)microsecs at 1702773123
kstmchkdrift (kstmhighrestimecntkeeper:lowres): Time moved backward by (86355)microsecs at 1702773123
kstmchkdrift (kstmhighrestimecntkeeper:lowres): Time moved backward by (86349)microsecs at 1702773123
kstmchkdrift (kstmhighrestimecntkeeper:lowres): Time moved backward by (86343)microsecs at 1702773123
kstmchkdrift (kstmhighrestimecntkeeper:lowres): Time moved backward by (86337)microsecs at 1702773123
kstmchkdrift (kstmhighrestimecntkeeper:lowres): Time moved backward by (86331)microsecs at 1702773123
kstmchkdrift (kstmhighrestimecntkeeper:lowres): Time moved backward by (86325)microsecs at 1702773123
kstmchkdrift (kstmhighrestimecntkeeper:lowres): Time moved backward by (86319)microsecs at 1702773123
kstmchkdrift (kstmhighrestimecntkeeper:lowres): Time moved backward by (86313)microsecs at 1702773123
kstmchkdrift (kstmhighrestimecntkeeper:lowres): Time moved backward by (86307)microsecs at 1702773123
kstmchkdrift (kstmhighrestimecntkeeper:lowres): Time moved backward by (86301)microsecs at 1702773123
 
*** 2023-12-17T09:33:00.683898+09:00
kstmchkdrift (kstmhighrestimecntkeeper:lowres): Stall, backward drift ended at 1702773180 drift: 57
 

 

 

해결 방법 : OS 시간 설정 확인 필요

인터벌 파티션의 자동생성 시점을 확인하기 위해 OS의 시간을 앞뒤로 변경했더니 발생한 메세지로

시간을 정상적으로 놔둔다면 이 메세지는 발생하지 않음

OS 시간과 DB 시간이 맞는지 제대로 확인 필요함

 

 

원인 : OS 시간과 DB의 시간에 차이가 있어 발생한 문제

인터벌 파티션의 자동생성 시점을 확인하기 위해 OS의 시간을 앞뒤로 변경했더니 발생한 메세지

OS 시간과 DB의 시간에 차이가 있어 발생한 문제로 테스트중이나 실운영환경에서는 시간이 맞지 않을때 이 메세지가 발생함

 

 

여기서 VKTM 프로세스는 Virtual Keeper of Time Process 으로 오라클에서 시간 게시자 역할을 함

VKTM은 초 간격을 사용한 벽시계 시간(현실세계 시간)과 간격 측정을 위한 고해상도 시간(초 단위보다 더 정밀한 시간) 이렇게 두 가지 유형의 시간을 게시함

VKTM 타이머 서비스는 시간 추적을 중앙 집중화하고 다른 클라이언트로부터 여러 타이머 호출을 오프로드함

원문
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.

 

 

참조 : https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/background-processes.html#GUID-86184690-5531-405F-AA05-BB935F57B76D

http://dbtech.co.kr/bbs/?bo_c=1040&bo_v=547