프린트 하기

OS 환경 : Oracle Linux 7.6 (64bit)

 

DB 환경 : Oracle Database 19.3.0.0

 

방법 : 오라클 19c 체크포인트 발생 상황 테스트(스레드 체크포인트)

오라클에서 체크포인트가 발생하는 경우들을 확인해봄
확인하는 방법으로는 ckpt 프로세스와 dbwr 프로세스에 대해 트레이스를 걸어 확인해봄
본문에서는 스레드 체크포인트만 확인해봄

참고 : 오라클 19c 체크포인트 발생 상황 테스트(스레드 체크포인트) ( https://positivemh.tistory.com/1073 )

참고 : 오라클 19c 체크포인트 발생 상황 테스트(테이블스페이스 체크포인트) ( https://positivemh.tistory.com/1074 )

참고 : 오라클 19c 체크포인트 발생 상황 테스트(기타 체크포인트) ( https://positivemh.tistory.com/1075 )

 

 

체크포인트(Checkpoint)란?
참조 : 오라클 19c 체크포인트 정리 ( https://positivemh.tistory.com/1071 )

 

 

사전 설정
트레이스 설정
백그라운드 프로세스 정보 경로 확인

1
2
3
4
5
6
7
8
9
10
11
12
13
SQL> 
set lines 200 pages 1000
col spid for a10
col tracefile for a100
select p.pname, p.spid, s.sid, s.serial#, s.sql_trace, p.tracefile
from v$session s, v$process p
where s.paddr=p.addr
and (p.pname like 'DBW%' or p.pname = 'CKPT');
 
PNAME SPID              SID    SERIAL# SQL_TRAC TRACEFILE
----- ---------- ---------- ---------- -------- ----------------------------------------------------------------------------------------------------
CKPT  2406              768      11017 DISABLED /ORA19/app/oracle/diag/rdbms/oracle19/oracle19/trace/oracle19_ckpt_2406.trc
DBW0  2394             1149      31657 DISABLED /ORA19/app/oracle/diag/rdbms/oracle19/oracle19/trace/oracle19_dbw0_2394.trc

*spid : os 에서 보이는 pid

 

 

백그라운드 프로세스 트레이스 설정(sid와 serial# 사용)
ckpt 트레이스 설정

1
2
3
SQL> exec dbms_monitor.session_trace_enable(768, 11017, true, true);
 
PL/SQL procedure successfully completed.

 

 

dbwr 트레이스 설정

1
2
3
SQL> exec dbms_monitor.session_trace_enable(1149, 31657, true, true);
 
PL/SQL procedure successfully completed.

 

 

백그라운드 프로세스 정보 경로 확인

1
2
3
4
5
6
7
8
9
10
11
12
13
SQL> 
set lines 200 pages 1000
col spid for a10
col tracefile for a100
select p.pname, p.spid, s.sid, s.serial#, s.sql_trace, p.tracefile
from v$session s, v$process p
where s.paddr=p.addr
and (p.pname like 'DBW%' or p.pname = 'CKPT');
 
PNAME SPID              SID    SERIAL# SQL_TRAC TRACEFILE
----- ---------- ---------- ---------- -------- ----------------------------------------------------------------------------------------------------
CKPT  2406              768      11017 ENABLED /ORA19/app/oracle/diag/rdbms/oracle19/oracle19/trace/oracle19_ckpt_2406.trc
DBW0  2394             1149      31657 ENABLED /ORA19/app/oracle/diag/rdbms/oracle19/oracle19/trace/oracle19_dbw0_2394.trc

sql_trace 컬럼값이 enable로 변경됨 됨

 

 

트레이스 확인

1
2
3
4
5
6
7
8
9
10
11
12
ckpt 트레이스 확인
*** 2024-04-06T22:29:19.303033+09:00
WAIT #0: nam='rdbms ipc message' ela= 3007344 timeout=300 p2=0 p3=0 obj#=-1 tim=173569441174
WAIT #0: nam='control file parallel write' ela= 552 files=2 block#=3 requests=2 obj#=-1 tim=173569441969
WAIT #0: nam='control file sequential read' ela= 6 file#=0 block#=1 blocks=1 obj#=-1 tim=173569442091
WAIT #0: nam='control file sequential read' ela= 3 file#=0 block#=15 blocks=1 obj#=-1 tim=173569442120
WAIT #0: nam='control file sequential read' ela= 2 file#=0 block#=17 blocks=1 obj#=-1 tim=173569442128
WAIT #0: nam='control file sequential read' ela= 3 file#=0 block#=286 blocks=1 obj#=-1 tim=173569442137
 
dbwr 트레이스 확인
*** 2024-04-06T22:29:19.943679+09:00
WAIT #0: nam='rdbms ipc message' ela= 3008003 timeout=300 p2=0 p3=0 obj#=-1 tim=173570081821

매3초 증분 체크포인트가 실행되면서
ckpt 트레이스에 'rdbms ipc message', 'control file parallel write', 'control file sequential read' 이벤트가 발생하고
dbwr 트레이스에 'rdbms ipc message' 이벤트가 발생함

 

 

이렇게 체크포인트 발생시 ckpt 트레이스에 'rdbms ipc message', 'control file parallel write', 'control file sequential read' 이벤트가 발생하는것을 확인할 수 있음
매 3초 증분 체크포인트가 계속 발생하기 때문에 이 체크포인트 발생 직후(1초 이후) 위 테스트 명령을 수행해
트레이스에 다른 이벤트가 발생하는지를 확인해 체크포인트 발생여부를 모니터링함
예를들어 22:32:37에 증분 체크포인트가 발생했다면 다음 증분 체크포인트는 22:32:40에 발생함
이 사이에 테스트 명령을 수행하고 트레이스에 이벤트가 남으면 체크포인트가 발생했다고 판단하겠음
(참고로 이 이벤트들이 체크포인트가 발생을 증명한다는 공식 문서는 찾지못함)

 

 

테스트
체크포인트가 발생하는 경우를 체크포인트 종류별로 구분하여 테스트해봄
테스트를 하다보니 결과가 너무 길어져서 글을 3개로 나눔
1. 스레드 체크포인트 확인
1_1. 일관된 DB 종료 시(shutdown immediate)
1_2. 일관된 DB 종료 시(shutdown normal)
1_3. 일관된 DB 종료 시(shutdown transactional)
1_4. 비일관된 DB 종료 시(shutdown abort)
1_5. DB 기동 시
1_6. alter system checkpoint 구문 실행 시
1_7. alter database begin backup 구문 실행 시
1_8. alter database end backup 구문 실행 시
1_9. log switch 시
결과 참고 : 본문

 

 

2. 테이블스페이스 및 데이터 파일 체크포인트 확인
2_1. 테이블스페이스를 읽기 전용으로 변경 시
2_2. 테이블스페이스를 읽기 쓰기로 변경 시
2_3. 테이블스페이스를 오프라인으로 변경 시
2_4. 테이블스페이스를 온라인으로 변경 시
2_5. 테이블스페이스 생성 시
2_6. 테이블스페이스 삭제 시
2_7. 데이터 파일 축소 시
2_8. 데이터 파일 증가 시
2_9. 데이터 파일 추가 시
2_10. 데이터 파일 삭제 시
2_11. alter tablespace begin backup 명령 실행 시
2_12. alter tablespace end backup 명령 실행 시
결과 참고 : 오라클 19c 체크포인트 발생 상황 테스트(테이블스페이스 체크포인트) ( https://positivemh.tistory.com/1074 )

 

 

3. 증분 체크포인트 확인
3_1. 매 3초
결과 참고 : 본문

 

 

4. 기타 체크포인트 확인
4_1. 리두로그 추가 시
4_2. 리두로그 삭제 시
4_3. rman 백업 시
4_4. 컨트롤파일 백업본 생성 시
4_5. 테이블 생성 시
4_6. 테이블 Truncate 시
4_7. 테이블 삭제 시
결과 참고 :
오라클 19c 체크포인트 발생 상황 테스트(기타 체크포인트) ( https://positivemh.tistory.com/1075 )

 

 

1. 스레드 체크포인트 확인
1_1. 일관된 DB 종료(shutdown immediate)
DB 종료

1
2
3
4
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

 

 

트레이스 확인(10:56:19에 마지막 증분 체크포인트 실행됨)

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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
ckpt 트레이스
*** 2024-04-06T10:56:22.917776+09:00
WAIT #0: nam='rdbms ipc message' ela= 3007776 timeout=300 p2=0 p3=0 obj#=-1 tim=218393055921
WAIT #0: nam='control file sequential read' ela= 9 file#=0 block#=1 blocks=1 obj#=-1 tim=218393056211
WAIT #0: nam='control file sequential read' ela= 2 file#=0 block#=15 blocks=1 obj#=-1 tim=218393056226
WAIT #0: nam='control file sequential read' ela= 2 file#=0 block#=17 blocks=1 obj#=-1 tim=218393056234
WAIT #0: nam='control file sequential read' ela= 2 file#=0 block#=19 blocks=1 obj#=-1 tim=218393056242
WAIT #0: nam='control file parallel write' ela= 409 files=2 block#=3 requests=2 obj#=-1 tim=218393056674
WAIT #0: nam='control file sequential read' ela= 21 file#=0 block#=1 blocks=1 obj#=-1 tim=218393056820
WAIT #0: nam='control file sequential read' ela= 3 file#=0 block#=15 blocks=1 obj#=-1 tim=218393056872
WAIT #0: nam='control file sequential read' ela= 2 file#=0 block#=17 blocks=1 obj#=-1 tim=218393056905
WAIT #0: nam='control file sequential read' ela= 3 file#=0 block#=286 blocks=1 obj#=-1 tim=218393056929
 
*** 2024-04-06T10:56:25.675640+09:00
WAIT #0: nam='rdbms ipc message' ela= 2756798 timeout=300 p2=0 p3=0 obj#=-1 tim=218395813793
WAIT #0: nam='rdbms ipc message' ela= 241453 timeout=24 p2=0 p3=0 obj#=-1 tim=218396055353
WAIT #0: nam='control file parallel write' ela= 353 files=2 block#=3 requests=2 obj#=-1 tim=218396055881
WAIT #0: nam='control file sequential read' ela= 6 file#=0 block#=1 blocks=1 obj#=-1 tim=218396055956
WAIT #0: nam='control file sequential read' ela= 3 file#=0 block#=15 blocks=1 obj#=-1 tim=218396055983
WAIT #0: nam='control file sequential read' ela= 3 file#=0 block#=17 blocks=1 obj#=-1 tim=218396055991
WAIT #0: nam='control file sequential read' ela= 3 file#=0 block#=286 blocks=1 obj#=-1 tim=218396056000
WAIT #0: nam='control file sequential read' ela= 3 file#=0 block#=1 blocks=1 obj#=-1 tim=218396056026
WAIT #0: nam='control file sequential read' ela= 2 file#=0 block#=15 blocks=1 obj#=-1 tim=218396056035
WAIT #0: nam='control file sequential read' ela= 1 file#=0 block#=17 blocks=1 obj#=-1 tim=218396056040
WAIT #0: nam='control file sequential read' ela= 2 file#=0 block#=286 blocks=1 obj#=-1 tim=218396056046
 
*** 2024-04-06T10:56:28.806288+09:00
WAIT #0: nam='rdbms ipc message' ela= 2888383 timeout=300 p2=0 p3=0 obj#=-1 tim=218398944441
WAIT #0: nam='rdbms ipc message' ela= 111221 timeout=11 p2=0 p3=0 obj#=-1 tim=218399055733
WAIT #0: nam='control file parallel write' ela= 390 files=2 block#=3 requests=2 obj#=-1 tim=218399056368
WAIT #0: nam='control file sequential read' ela= 7 file#=0 block#=1 blocks=1 obj#=-1 tim=218399056458
WAIT #0: nam='control file sequential read' ela= 2 file#=0 block#=15 blocks=1 obj#=-1 tim=218399056473
WAIT #0: nam='control file sequential read' ela= 2 file#=0 block#=17 blocks=1 obj#=-1 tim=218399056482
WAIT #0: nam='control file sequential read' ela= 3 file#=0 block#=286 blocks=1 obj#=-1 tim=218399056491
 
*** 2024-04-06T10:56:29.864412+09:00 <<< 증분 체크포인트가 아닌 이벤트 발생
WAIT #0: nam='rdbms ipc message' ela= 946049 timeout=300 p2=0 p3=0 obj#=-1 tim=218400002560
WAIT #0: nam='rdbms ipc message' ela= 13335 timeout=205 p2=0 p3=0 obj#=-1 tim=218400016026
 
*** 2024-04-06T10:56:31.903134+09:00
WAIT #0: nam='rdbms ipc message' ela= 2025168 timeout=204 p2=0 p3=0 obj#=-1 tim=218402041282
WAIT #0: nam='rdbms ipc message' ela= 2896 timeout=1 p2=0 p3=0 obj#=-1 tim=218402044298
WAIT #0: nam='Disk file operations I/O' ela= 15 FileOperation=5 fileno=0 filetype=1 obj#=-1 tim=218402044381
WAIT #0: nam='Disk file operations I/O' ela= 7 FileOperation=5 fileno=1 filetype=1 obj#=-1 tim=218402044397
WAIT #0: nam='rdbms ipc message' ela= 182 timeout=1 p2=0 p3=0 obj#=-1 tim=218402044621
WAIT #0: nam='rdbms ipc message' ela= 11777 timeout=1 p2=0 p3=0 obj#=-1 tim=218402056416
 
*** 2024-04-06T10:56:33.978758+09:00 <<< 증분 체크포인트가 아닌 이벤트 발생
WAIT #0: nam='rdbms ipc message' ela= 2060244 timeout=300 p2=0 p3=0 obj#=-1 tim=218404116909
 
dbwr 트레이스
*** 2024-04-06T10:56:22.981024+09:00
WAIT #0: nam='rdbms ipc message' ela= 3007755 timeout=300 p2=0 p3=0 obj#=-1 tim=218393119177
 
*** 2024-04-06T10:56:25.674068+09:00
WAIT #0: nam='rdbms ipc message' ela= 2692950 timeout=300 p2=0 p3=0 obj#=-1 tim=218395812214
WAIT #0: nam='PGA memory operation' ela= 7 p1=196608 p2=1 p3=0 obj#=-1 tim=218395812313
WAIT #0: nam='db file parallel write' ela= 1164 requests=8 interrupt=0 timeout=0 obj#=-1 tim=218395813613
WAIT #0: nam='rdbms ipc message' ela= 305781 timeout=30 p2=0 p3=0 obj#=-1 tim=218396119554
 
*** 2024-04-06T10:56:28.805446+09:00
WAIT #0: nam='rdbms ipc message' ela= 2823970 timeout=300 p2=0 p3=0 obj#=-1 tim=218398943594
WAIT #0: nam='rdbms ipc message' ela= 176233 timeout=17 p2=0 p3=0 obj#=-1 tim=218399119900
 
*** 2024-04-06T10:56:29.873011+09:00 <<< 증분 체크포인트가 아닌 이벤트 발생
WAIT #0: nam='rdbms ipc message' ela= 891189 timeout=300 p2=0 p3=0 obj#=-1 tim=218400011161
WAIT #0: nam='db file parallel write' ela= 4015 requests=36 interrupt=0 timeout=0 obj#=-1 tim=218400015783
WAIT #0: nam='rdbms ipc message' ela= 5192 timeout=210 p2=0 p3=0 obj#=-1 tim=218400021218
 
*** 2024-04-06T10:56:31.885149+09:00
WAIT #0: nam='rdbms ipc message' ela= 2002008 timeout=209 p2=0 p3=0 obj#=-1 tim=218402023297
WAIT #0: nam='Disk file operations I/O' ela= 19 FileOperation=5 fileno=1 filetype=2 obj#=-1 tim=218402023402
WAIT #0: nam='Disk file operations I/O' ela= 5 FileOperation=5 fileno=2 filetype=2 obj#=-1 tim=218402023419
WAIT #0: nam='Disk file operations I/O' ela= 6 FileOperation=5 fileno=3 filetype=2 obj#=-1 tim=218402023443
WAIT #0: nam='Disk file operations I/O' ela= 4 FileOperation=5 fileno=4 filetype=2 obj#=-1 tim=218402023454
WAIT #0: nam='Disk file operations I/O' ela= 4 FileOperation=5 fileno=5 filetype=2 obj#=-1 tim=218402023463
WAIT #0: nam='Disk file operations I/O' ela= 4 FileOperation=5 fileno=6 filetype=2 obj#=-1 tim=218402023471
WAIT #0: nam='Disk file operations I/O' ela= 4 FileOperation=5 fileno=7 filetype=2 obj#=-1 tim=218402023480
WAIT #0: nam='Disk file operations I/O' ela= 4 FileOperation=5 fileno=8 filetype=2 obj#=-1 tim=218402023488
WAIT #0: nam='Disk file operations I/O' ela= 4 FileOperation=5 fileno=9 filetype=2 obj#=-1 tim=218402023497
WAIT #0: nam='Disk file operations I/O' ela= 4 FileOperation=5 fileno=201 filetype=6 obj#=-1 tim=218402023509
WAIT #0: nam='Disk file operations I/O' ela= 4 FileOperation=5 fileno=202 filetype=6 obj#=-1 tim=218402023518
WAIT #0: nam='rdbms ipc message' ela= 20384 timeout=9 p2=0 p3=0 obj#=-1 tim=218402043954
WAIT #0: nam='Disk file operations I/O' ela= 7 FileOperation=5 fileno=0 filetype=1 obj#=-1 tim=218402044015
WAIT #0: nam='Disk file operations I/O' ela= 3 FileOperation=5 fileno=1 filetype=1 obj#=-1 tim=218402044064
WAIT #0: nam='rdbms ipc message' ela= 428 timeout=7 p2=0 p3=0 obj#=-1 tim=218402044653
WAIT #0: nam='rdbms ipc message' ela= 74801 timeout=7 p2=0 p3=0 obj#=-1 tim=218402119471
 
*** 2024-04-06T10:56:33.967499+09:00 <<< 증분 체크포인트가 아닌 이벤트 발생
WAIT #0: nam='rdbms ipc message' ela= 1986081 timeout=300 p2=0 p3=0 obj#=-1 tim=218404105649

결과 : 체크포인트 발생함

 

 

1_2. 일관된 DB 종료 시(shutdown normal)
DB 종료

1
2
3
4
SQL> shutdown normal
Database closed.
Database dismounted.
ORACLE instance shut down.

 

 

트레이스 확인(11:02:03에 마지막 증분 체크포인트 실행됨)

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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
ckpt 트레이스
*** 2024-04-06T11:02:05.771667+09:00
WAIT #0: nam='rdbms ipc message' ela= 2564986 timeout=300 p2=0 p3=0 obj#=-1 tim=218735909815
WAIT #0: nam='rdbms ipc message' ela= 441433 timeout=44 p2=0 p3=0 obj#=-1 tim=218736351392
WAIT #0: nam='control file parallel write' ela= 381 files=2 block#=3 requests=2 obj#=-1 tim=218736352052
WAIT #0: nam='control file sequential read' ela= 8 file#=0 block#=1 blocks=1 obj#=-1 tim=218736352162
WAIT #0: nam='control file sequential read' ela= 2 file#=0 block#=16 blocks=1 obj#=-1 tim=218736352176
WAIT #0: nam='control file sequential read' ela= 2 file#=0 block#=18 blocks=1 obj#=-1 tim=218736352184
WAIT #0: nam='control file sequential read' ela= 3 file#=0 block#=285 blocks=1 obj#=-1 tim=218736352193
 
*** 2024-04-06T11:02:08.837812+09:00
WAIT #0: nam='rdbms ipc message' ela= 2623727 timeout=300 p2=0 p3=0 obj#=-1 tim=218738975947
WAIT #0: nam='rdbms ipc message' ela= 383585 timeout=38 p2=0 p3=0 obj#=-1 tim=218739359641
WAIT #0: nam='control file parallel write' ela= 369 files=2 block#=3 requests=2 obj#=-1 tim=218739360239
WAIT #0: nam='control file sequential read' ela= 6 file#=0 block#=1 blocks=1 obj#=-1 tim=218739360318
WAIT #0: nam='control file sequential read' ela= 2 file#=0 block#=16 blocks=1 obj#=-1 tim=218739360332
WAIT #0: nam='control file sequential read' ela= 2 file#=0 block#=18 blocks=1 obj#=-1 tim=218739360339
WAIT #0: nam='control file sequential read' ela= 2 file#=0 block#=285 blocks=1 obj#=-1 tim=218739360347
WAIT #0: nam='control file sequential read' ela= 3 file#=0 block#=1 blocks=1 obj#=-1 tim=218739360384
WAIT #0: nam='control file sequential read' ela= 2 file#=0 block#=16 blocks=1 obj#=-1 tim=218739360416
WAIT #0: nam='control file sequential read' ela= 2 file#=0 block#=18 blocks=1 obj#=-1 tim=218739360423
WAIT #0: nam='control file sequential read' ela= 1 file#=0 block#=285 blocks=1 obj#=-1 tim=218739360428
 
*** 2024-04-06T11:02:11.438452+09:00
WAIT #0: nam='rdbms ipc message' ela= 2216155 timeout=300 p2=0 p3=0 obj#=-1 tim=218741576597
WAIT #0: nam='rdbms ipc message' ela= 13298 timeout=79 p2=0 p3=0 obj#=-1 tim=218741590038
 
*** 2024-04-06T11:02:12.229525+09:00 <<< 증분 체크포인트가 아닌 이벤트 발생
WAIT #0: nam='rdbms ipc message' ela= 777550 timeout=77 p2=0 p3=0 obj#=-1 tim=218742367676
WAIT #0: nam='control file parallel write' ela= 441 files=2 block#=3 requests=2 obj#=-1 tim=218742368347
WAIT #0: nam='control file sequential read' ela= 7 file#=0 block#=1 blocks=1 obj#=-1 tim=218742368474
WAIT #0: nam='control file sequential read' ela= 2 file#=0 block#=15 blocks=1 obj#=-1 tim=218742368501
WAIT #0: nam='control file sequential read' ela= 2 file#=0 block#=17 blocks=1 obj#=-1 tim=218742368510
WAIT #0: nam='control file sequential read' ela= 3 file#=0 block#=286 blocks=1 obj#=-1 tim=218742368521
 
*** 2024-04-06T11:02:13.477649+09:00 <<< 증분 체크포인트가 아닌 이벤트 발생
WAIT #0: nam='rdbms ipc message' ela= 1247255 timeout=300 p2=0 p3=0 obj#=-1 tim=218743615802
WAIT #0: nam='rdbms ipc message' ela= 3053 timeout=175 p2=0 p3=0 obj#=-1 tim=218743618978
WAIT #0: nam='Disk file operations I/O' ela= 21 FileOperation=5 fileno=0 filetype=1 obj#=-1 tim=218743619078
WAIT #0: nam='Disk file operations I/O' ela= 5 FileOperation=5 fileno=1 filetype=1 obj#=-1 tim=218743619094
WAIT #0: nam='rdbms ipc message' ela= 88 timeout=175 p2=0 p3=0 obj#=-1 tim=218743619222
 
*** 2024-04-06T11:02:15.237544+09:00 <<< 증분 체크포인트가 아닌 이벤트 발생
WAIT #0: nam='rdbms ipc message' ela= 1756431 timeout=175 p2=0 p3=0 obj#=-1 tim=218745375690
WAIT #0: nam='rdbms ipc message' ela= 317318 timeout=300 p2=0 p3=0 obj#=-1 tim=218745693182
 
dbwr 트레이스
*** 2024-04-06T11:02:05.770018+09:00
WAIT #0: nam='rdbms ipc message' ela= 2628810 timeout=300 p2=0 p3=0 obj#=-1 tim=218735908166
WAIT #0: nam='db file parallel write' ela= 1294 requests=9 interrupt=0 timeout=0 obj#=-1 tim=218735909692
WAIT #0: nam='rdbms ipc message' ela= 377691 timeout=37 p2=0 p3=0 obj#=-1 tim=218736287491
 
*** 2024-04-06T11:02:08.837335+09:00
WAIT #0: nam='rdbms ipc message' ela= 2687881 timeout=300 p2=0 p3=0 obj#=-1 tim=218738975480
WAIT #0: nam='rdbms ipc message' ela= 311603 timeout=31 p2=0 p3=0 obj#=-1 tim=218739287170
 
*** 2024-04-06T11:02:11.447026+09:00
WAIT #0: nam='rdbms ipc message' ela= 2297922 timeout=300 p2=0 p3=0 obj#=-1 tim=218741585176
WAIT #0: nam='db file parallel write' ela= 4016 requests=36 interrupt=0 timeout=0 obj#=-1 tim=218741589817
WAIT #0: nam='rdbms ipc message' ela= 5467 timeout=69 p2=0 p3=0 obj#=-1 tim=218741595470
 
*** 2024-04-06T11:02:12.165281+09:00 <<< 증분 체크포인트가 아닌 이벤트 발생
WAIT #0: nam='rdbms ipc message' ela= 707891 timeout=69 p2=0 p3=0 obj#=-1 tim=218742303423
 
*** 2024-04-06T11:02:13.459443+09:00 <<< 증분 체크포인트가 아닌 이벤트 발생
WAIT #0: nam='rdbms ipc message' ela= 1294046 timeout=300 p2=0 p3=0 obj#=-1 tim=218743597591
WAIT #0: nam='Disk file operations I/O' ela= 22 FileOperation=5 fileno=1 filetype=2 obj#=-1 tim=218743597700
WAIT #0: nam='Disk file operations I/O' ela= 5 FileOperation=5 fileno=2 filetype=2 obj#=-1 tim=218743597716
WAIT #0: nam='Disk file operations I/O' ela= 6 FileOperation=5 fileno=3 filetype=2 obj#=-1 tim=218743597729
WAIT #0: nam='Disk file operations I/O' ela= 5 FileOperation=5 fileno=4 filetype=2 obj#=-1 tim=218743597739
WAIT #0: nam='Disk file operations I/O' ela= 6 FileOperation=5 fileno=5 filetype=2 obj#=-1 tim=218743597750
WAIT #0: nam='Disk file operations I/O' ela= 4 FileOperation=5 fileno=6 filetype=2 obj#=-1 tim=218743597758
WAIT #0: nam='Disk file operations I/O' ela= 5 FileOperation=5 fileno=7 filetype=2 obj#=-1 tim=218743597768
WAIT #0: nam='Disk file operations I/O' ela= 4 FileOperation=5 fileno=8 filetype=2 obj#=-1 tim=218743597777
WAIT #0: nam='Disk file operations I/O' ela= 5 FileOperation=5 fileno=9 filetype=2 obj#=-1 tim=218743597786
WAIT #0: nam='Disk file operations I/O' ela= 5 FileOperation=5 fileno=201 filetype=6 obj#=-1 tim=218743597798
WAIT #0: nam='Disk file operations I/O' ela= 4 FileOperation=5 fileno=202 filetype=6 obj#=-1 tim=218743597807
WAIT #0: nam='rdbms ipc message' ela= 20983 timeout=171 p2=0 p3=0 obj#=-1 tim=218743618821
WAIT #0: nam='Disk file operations I/O' ela= 4 FileOperation=5 fileno=0 filetype=1 obj#=-1 tim=218743618863
WAIT #0: nam='Disk file operations I/O' ela= 1 FileOperation=5 fileno=1 filetype=1 obj#=-1 tim=218743618874
WAIT #0: nam='rdbms ipc message' ela= 371 timeout=169 p2=0 p3=0 obj#=-1 tim=218743619279
 
*** 2024-04-06T11:02:15.173515+09:00 <<< 증분 체크포인트가 아닌 이벤트 발생
WAIT #0: nam='rdbms ipc message' ela= 1692323 timeout=169 p2=0 p3=0 obj#=-1 tim=218745311661
WAIT #0: nam='rdbms ipc message' ela= 362125 timeout=300 p2=0 p3=0 obj#=-1 tim=218745673897

결과 : 체크포인트 발생함

 

 

1_3. 일관된 DB 종료 시(shutdown transactional)
DB 종료

1
2
3
4
SQL> shutdown transactional
Database closed.
Database dismounted.
ORACLE instance shut down.

 

 

트레이스 확인(11:05:31에 마지막 증분 체크포인트 실행됨)

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
ckpt 트레이스
(길어서 생략)
*** 2024-04-06T11:05:44.006826+09:00 <<< 증분 체크포인트가 아닌 이벤트 발생
WAIT #0: nam='rdbms ipc message' ela= 3008105 timeout=300 p2=0 p3=0 obj#=-1 tim=218954144969
WAIT #0: nam='control file sequential read' ela= 11 file#=0 block#=1 blocks=1 obj#=-1 tim=218954145287
WAIT #0: nam='control file sequential read' ela= 3 file#=0 block#=15 blocks=1 obj#=-1 tim=218954145326
WAIT #0: nam='control file sequential read' ela= 3 file#=0 block#=17 blocks=1 obj#=-1 tim=218954145350
WAIT #0: nam='control file sequential read' ela= 3 file#=0 block#=19 blocks=1 obj#=-1 tim=218954145361
WAIT #0: nam='control file parallel write' ela= 524 files=2 block#=3 requests=2 obj#=-1 tim=218954145905
WAIT #0: nam='control file sequential read' ela= 4 file#=0 block#=1 blocks=1 obj#=-1 tim=218954145964
WAIT #0: nam='control file sequential read' ela= 2 file#=0 block#=15 blocks=1 obj#=-1 tim=218954145974
WAIT #0: nam='control file sequential read' ela= 2 file#=0 block#=17 blocks=1 obj#=-1 tim=218954145982
WAIT #0: nam='control file sequential read' ela= 3 file#=0 block#=286 blocks=1 obj#=-1 tim=218954145990
(길어서 생략)
*** 2024-04-06T11:06:09.677219+09:00 <<< 증분 체크포인트가 아닌 이벤트 발생
WAIT #0: nam='rdbms ipc message' ela= 1606963 timeout=300 p2=0 p3=0 obj#=-1 tim=218979815365
WAIT #0: nam='rdbms ipc message' ela= 13359 timeout=139 p2=0 p3=0 obj#=-1 tim=218979828873
 
dbwr 트레이스
(길어서 생략)
*** 2024-04-06T11:05:44.006858+09:00 <<< 증분 체크포인트가 아닌 이벤트 발생
WAIT #0: nam='rdbms ipc message' ela= 3009097 timeout=300 p2=0 p3=0 obj#=-1 tim=218954145007
(길어서 생략)
*** 2024-04-06T11:06:09.686465+09:00 <<< 증분 체크포인트가 아닌 이벤트 발생
WAIT #0: nam='rdbms ipc message' ela= 1616548 timeout=300 p2=0 p3=0 obj#=-1 tim=218979824614
WAIT #0: nam='db file parallel write' ela= 2312 requests=20 interrupt=0 timeout=0 obj#=-1 tim=218979827555
WAIT #0: nam='db file parallel write' ela= 1025 requests=10 interrupt=0 timeout=0 obj#=-1 tim=218979828751
WAIT #0: nam='rdbms ipc message' ela= 1 timeout=138 p2=0 p3=0 obj#=-1 tim=218979828873
WAIT #0: nam='rdbms ipc message' ela= 3528 timeout=138 p2=0 p3=0 obj#=-1 tim=218979832425

결과 : 체크포인트 발생함

 

 

1_4. 비일관된 DB 종료 시(shutdown abort)
DB 종료

1
2
SQL> shutdown abort
ORACLE instance shut down.

 

 

트레이스 확인(13:53:40에 마지막 증분 체크포인트 실행됨)

1
2
3
4
ckpt 트레이스
(없음)
dbwr 트레이스
(없음)

결과 : 체크포인트 발생하지 않음

 

 

1_5. DB 기동 시
DB 기동시에는 백그라운드 프로세스에 트레이스를 미리 걸수 없기 때문에 파라미터 설정

1
2
3
SQL> alter system set log_checkpoints_to_alert = true;
 
System altered.

 

 

DB 정상 종료

1
SQL> shutdown immediate

 

 

DB 기동

1
2
3
SQL> startup nomount
SQL> alter database mount;
SQL> alter database open;

 

 

alert log 확인

1
2
2024-04-06T14:02:29.317428+09:00
Incremental checkpoint up to RBA [0x1ce.1df2.0], current log tail at RBA [0x1ce.1e4e.0]

startup nomount, alter database mount; alter database open; 명령으로 순차적으로 기동함
alter database open 시 증분 체크포인트 발생함
결과 : 체크포인트 발생함

 

 

1_6. alter system checkpoint 구문 실행 시
checkpoint 명령 실행

1
2
3
SQL> alter system checkpoint;
 
System altered.

 

 

트레이스 확인(14:10:21에 마지막 증분 체크포인트 실행됨)

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
ckpt 트레이스
*** 2024-04-06T14:10:22.669973+09:00 <<< 증분 체크포인트가 아닌 이벤트 발생
WAIT #0: nam='rdbms ipc message' ela= 1095834 timeout=300 p2=0 p3=0 obj#=-1 tim=230032808123
WAIT #0: nam='control file sequential read' ela= 6 file#=0 block#=1 blocks=1 obj#=-1 tim=230032808303
WAIT #0: nam='control file sequential read' ela= 5 file#=1 block#=1 blocks=1 obj#=-1 tim=230032808333
WAIT #0: nam='control file sequential read' ela= 1 file#=0 block#=15 blocks=1 obj#=-1 tim=230032808342
WAIT #0: nam='control file sequential read' ela= 2 file#=0 block#=17 blocks=1 obj#=-1 tim=230032808349
WAIT #0: nam='rdbms ipc message' ela= 170 timeout=191 p2=0 p3=0 obj#=-1 tim=230032808842
WAIT #0: nam='control file sequential read' ela= 3 file#=0 block#=1 blocks=1 obj#=-1 tim=230032808883
WAIT #0: nam='control file sequential read' ela= 1 file#=1 block#=1 blocks=1 obj#=-1 tim=230032808890
WAIT #0: nam='control file sequential read' ela= 2 file#=0 block#=15 blocks=1 obj#=-1 tim=230032808896
WAIT #0: nam='control file sequential read' ela= 1 file#=0 block#=17 blocks=1 obj#=-1 tim=230032808901
WAIT #0: nam='control file sequential read' ela= 2 file#=0 block#=19 blocks=1 obj#=-1 tim=230032808910
WAIT #0: nam='control file sequential read' ela= 3 file#=0 block#=24 blocks=1 obj#=-1 tim=230032808945
WAIT #0: nam='PGA memory operation' ela= 9 p1=65536 p2=1 p3=0 obj#=-1 tim=230032808965
WAIT #0: nam='Disk file operations I/O' ela= 19 FileOperation=2 fileno=1 filetype=2 obj#=-1 tim=230032809047
WAIT #0: nam='db file sequential read' ela= 8 file#=1 block#=1 blocks=1 obj#=-1 tim=230032809105
WAIT #0: nam='db file single write' ela= 270 file#=1 block#=1 blocks=1 obj#=-1 tim=230032809437
WAIT #0: nam='Disk file operations I/O' ela= 21 FileOperation=2 fileno=2 filetype=2 obj#=-1 tim=230032809517
WAIT #0: nam='db file sequential read' ela= 5 file#=2 block#=1 blocks=1 obj#=-1 tim=230032809545
WAIT #0: nam='db file single write' ela= 183 file#=2 block#=1 blocks=1 obj#=-1 tim=230032809743
WAIT #0: nam='Disk file operations I/O' ela= 9 FileOperation=2 fileno=3 filetype=2 obj#=-1 tim=230032809788
WAIT #0: nam='db file sequential read' ela= 4 file#=3 block#=1 blocks=1 obj#=-1 tim=230032809800
WAIT #0: nam='db file single write' ela= 182 file#=3 block#=1 blocks=1 obj#=-1 tim=230032809988
WAIT #0: nam='Disk file operations I/O' ela= 10 FileOperation=2 fileno=4 filetype=2 obj#=-1 tim=230032810047
WAIT #0: nam='db file sequential read' ela= 3 file#=4 block#=1 blocks=1 obj#=-1 tim=230032810073
WAIT #0: nam='db file single write' ela= 161 file#=4 block#=1 blocks=1 obj#=-1 tim=230032810245
WAIT #0: nam='Disk file operations I/O' ela= 12 FileOperation=2 fileno=5 filetype=2 obj#=-1 tim=230032810300
WAIT #0: nam='db file sequential read' ela= 3 file#=5 block#=1 blocks=1 obj#=-1 tim=230032810325
WAIT #0: nam='db file single write' ela= 126 file#=5 block#=1 blocks=1 obj#=-1 tim=230032810460
WAIT #0: nam='Disk file operations I/O' ela= 8 FileOperation=2 fileno=6 filetype=2 obj#=-1 tim=230032810515
WAIT #0: nam='db file sequential read' ela= 4 file#=6 block#=1 blocks=1 obj#=-1 tim=230032810557
WAIT #0: nam='db file single write' ela= 103 file#=6 block#=1 blocks=1 obj#=-1 tim=230032810684
WAIT #0: nam='Disk file operations I/O' ela= 13 FileOperation=2 fileno=7 filetype=2 obj#=-1 tim=230032810731
WAIT #0: nam='db file sequential read' ela= 4 file#=7 block#=1 blocks=1 obj#=-1 tim=230032810744
WAIT #0: nam='db file single write' ela= 137 file#=7 block#=1 blocks=1 obj#=-1 tim=230032810889
WAIT #0: nam='Disk file operations I/O' ela= 9 FileOperation=2 fileno=8 filetype=2 obj#=-1 tim=230032810931
WAIT #0: nam='db file sequential read' ela= 3 file#=8 block#=1 blocks=1 obj#=-1 tim=230032810943
WAIT #0: nam='db file single write' ela= 98 file#=8 block#=1 blocks=1 obj#=-1 tim=230032811051
WAIT #0: nam='Disk file operations I/O' ela= 44 FileOperation=2 fileno=9 filetype=2 obj#=-1 tim=230032811127
WAIT #0: nam='db file sequential read' ela= 3 file#=9 block#=1 blocks=1 obj#=-1 tim=230032811152
WAIT #0: nam='db file single write' ela= 107 file#=9 block#=1 blocks=1 obj#=-1 tim=230032811267
WAIT #0: nam='control file sequential read' ela= 5 file#=0 block#=285 blocks=1 obj#=-1 tim=230032811303
WAIT #0: nam='control file parallel write' ela= 304 files=2 block#=20 requests=2 obj#=-1 tim=230032811621
WAIT #0: nam='control file parallel write' ela= 242 files=2 block#=23 requests=2 obj#=-1 tim=230032811895
WAIT #0: nam='control file parallel write' ela= 258 files=2 block#=286 requests=2 obj#=-1 tim=230032812186
WAIT #0: nam='control file parallel write' ela= 247 files=2 block#=18 requests=2 obj#=-1 tim=230032812465
WAIT #0: nam='control file parallel write' ela= 231 files=2 block#=16 requests=2 obj#=-1 tim=230032812727
WAIT #0: nam='control file parallel write' ela= 176 files=2 block#=1 requests=2 obj#=-1 tim=230032812936
 
dbwr 트레이스
*** 2024-04-06T14:10:22.670524+09:00 <<< 증분 체크포인트가 아닌 이벤트 발생
WAIT #0: nam='rdbms ipc message' ela= 1097117 timeout=300 p2=0 p3=0 obj#=-1 tim=230032808675
WAIT #0: nam='PGA memory operation' ela= 14 p1=196608 p2=1 p3=0 obj#=-1 tim=230032808778
 
alert log
2024-04-06T14:10:22.670406+09:00
Beginning global checkpoint up to RBA [0x1ce.2c34.10], SCN: 29742320
Completed checkpoint up to RBA [0x1ce.2c34.10], SCN: 29742320

결과 : 체크포인트 발생함

 

 

1_7. alter database begin backup 구문 실행 시
begin backup 명령 실행

1
2
3
SQL> alter database begin backup;
 
System altered.

 

 

트레이스 확인(14:15:01에 마지막 증분 체크포인트 실행됨)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
ckpt 트레이스
*** 2024-04-06T14:15:02.482847+09:00 <<< 증분 체크포인트가 아닌 이벤트 발생
WAIT #0: nam='rdbms ipc message' ela= 1161345 timeout=300 p2=0 p3=0 obj#=-1 tim=230312620995
WAIT #0: nam='rdbms ipc message' ela= 66 timeout=183 p2=0 p3=0 obj#=-1 tim=230312621210
WAIT #0: nam='rdbms ipc message' ela= 50965 timeout=183 p2=0 p3=0 obj#=-1 tim=230312672621
WAIT #0: nam='rdbms ipc message' ela= 2218 timeout=178 p2=0 p3=0 obj#=-1 tim=230312674935
WAIT #0: nam='rdbms ipc message' ela= 51 timeout=178 p2=0 p3=0 obj#=-1 tim=230312675074
WAIT #0: nam='rdbms ipc message' ela= 67 timeout=178 p2=0 p3=0 obj#=-1 tim=230312675177
WAIT #0: nam='rdbms ipc message' ela= 51 timeout=178 p2=0 p3=0 obj#=-1 tim=230312675280
WAIT #0: nam='rdbms ipc message' ela= 46 timeout=178 p2=0 p3=0 obj#=-1 tim=230312675358
WAIT #0: nam='rdbms ipc message' ela= 54 timeout=178 p2=0 p3=0 obj#=-1 tim=230312675451
WAIT #0: nam='rdbms ipc message' ela= 85 timeout=178 p2=0 p3=0 obj#=-1 tim=230312675572
WAIT #0: nam='rdbms ipc message' ela= 119 timeout=178 p2=0 p3=0 obj#=-1 tim=230312675729
WAIT #0: nam='rdbms ipc message' ela= 58 timeout=178 p2=0 p3=0 obj#=-1 tim=230312675833
 
dbwr 트레이스
*** 2024-04-06T14:15:02.483523+09:00 <<< 증분 체크포인트가 아닌 이벤트 발생
WAIT #0: nam='rdbms ipc message' ela= 1162825 timeout=300 p2=0 p3=0 obj#=-1 tim=230312621670
WAIT #0: nam='db file parallel write' ela= 45445 requests=591 interrupt=0 timeout=0 obj#=-1 tim=230312671035

결과 : 체크포인트 발생함

 

 

1_8. alter database end backup 구문 실행 시
end backup 명령 실행

1
2
3
SQL> alter database end backup;
 
System altered.

 

 

트레이스 확인(14:16:01에 마지막 증분 체크포인트 실행됨)

1
2
3
4
5
6
ckpt 트레이스
*** 2024-04-06T14:16:02.567762+09:00 <<< 증분 체크포인트가 아닌 이벤트 발생
WAIT #0: nam='rdbms ipc message' ela= 1089227 timeout=300 p2=0 p3=0 obj#=-1 tim=230372705909
 
dbwr 트레이스
추가 이벤트 미발생

결과 : 체크포인트 발생함

 

 

1_9. log switch 시
log switch 명령 실행

1
2
3
SQL> alter system switch logfile;
 
System altered.

 

 

트레이스 확인(14:21:32에 마지막 증분 체크포인트 실행됨)

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
ckpt 트레이스
*** 2024-04-06T14:21:33.844027+09:00 <<< 증분 체크포인트가 아닌 이벤트 발생
WAIT #0: nam='rdbms ipc message' ela= 1422105 timeout=300 p2=0 p3=0 obj#=-1 tim=230703982181
 
*** 2024-04-06T14:21:35.429007+09:00 <<< 증분 체크포인트 이벤트보다 더 많은 이벤트 발생
WAIT #0: nam='rdbms ipc message' ela= 1584876 timeout=158 p2=0 p3=0 obj#=-1 tim=230705567150
WAIT #0: nam='control file parallel write' ela= 692 files=2 block#=3 requests=2 obj#=-1 tim=230705568097
WAIT #0: nam='control file sequential read' ela= 6 file#=0 block#=1 blocks=1 obj#=-1 tim=230705568211
WAIT #0: nam='control file sequential read' ela= 3 file#=0 block#=16 blocks=1 obj#=-1 tim=230705568242
WAIT #0: nam='control file sequential read' ela= 2 file#=0 block#=18 blocks=1 obj#=-1 tim=230705568252
WAIT #0: nam='control file sequential read' ela= 3 file#=0 block#=285 blocks=1 obj#=-1 tim=230705568263
WAIT #0: nam='control file sequential read' ela= 2 file#=0 block#=1 blocks=1 obj#=-1 tim=230705568319
WAIT #0: nam='control file sequential read' ela= 5 file#=1 block#=1 blocks=1 obj#=-1 tim=230705568358
WAIT #0: nam='control file sequential read' ela= 2 file#=0 block#=16 blocks=1 obj#=-1 tim=230705568369
WAIT #0: nam='control file sequential read' ela= 2 file#=0 block#=18 blocks=1 obj#=-1 tim=230705568375
WAIT #0: nam='control file sequential read' ela= 2 file#=0 block#=20 blocks=1 obj#=-1 tim=230705568386
WAIT #0: nam='control file sequential read' ela= 4 file#=0 block#=193 blocks=1 obj#=-1 tim=230705568399
WAIT #0: nam='control file sequential read' ela= 2 file#=0 block#=24 blocks=1 obj#=-1 tim=230705568409
WAIT #0: nam='db file sequential read' ela= 5 file#=1 block#=1 blocks=1 obj#=-1 tim=230705568429
WAIT #0: nam='db file single write' ela= 134 file#=1 block#=1 blocks=1 obj#=-1 tim=230705568596
WAIT #0: nam='db file sequential read' ela= 6 file#=2 block#=1 blocks=1 obj#=-1 tim=230705568634
WAIT #0: nam='db file single write' ela= 127 file#=2 block#=1 blocks=1 obj#=-1 tim=230705568771
WAIT #0: nam='db file sequential read' ela= 6 file#=3 block#=1 blocks=1 obj#=-1 tim=230705568807
WAIT #0: nam='db file single write' ela= 148 file#=3 block#=1 blocks=1 obj#=-1 tim=230705568965
WAIT #0: nam='db file sequential read' ela= 6 file#=4 block#=1 blocks=1 obj#=-1 tim=230705569000
WAIT #0: nam='db file single write' ela= 109 file#=4 block#=1 blocks=1 obj#=-1 tim=230705569119
WAIT #0: nam='db file sequential read' ela= 4 file#=5 block#=1 blocks=1 obj#=-1 tim=230705569152
WAIT #0: nam='db file single write' ela= 129 file#=5 block#=1 blocks=1 obj#=-1 tim=230705569288
WAIT #0: nam='db file sequential read' ela= 8 file#=6 block#=1 blocks=1 obj#=-1 tim=230705569334
WAIT #0: nam='db file single write' ela= 135 file#=6 block#=1 blocks=1 obj#=-1 tim=230705569485
WAIT #0: nam='db file sequential read' ela= 6 file#=7 block#=1 blocks=1 obj#=-1 tim=230705569518
WAIT #0: nam='db file single write' ela= 118 file#=7 block#=1 blocks=1 obj#=-1 tim=230705569644
WAIT #0: nam='db file sequential read' ela= 5 file#=8 block#=1 blocks=1 obj#=-1 tim=230705569676
WAIT #0: nam='db file single write' ela= 135 file#=8 block#=1 blocks=1 obj#=-1 tim=230705569822
WAIT #0: nam='db file sequential read' ela= 6 file#=9 block#=1 blocks=1 obj#=-1 tim=230705569849
WAIT #0: nam='db file single write' ela= 115 file#=9 block#=1 blocks=1 obj#=-1 tim=230705569980
WAIT #0: nam='control file sequential read' ela= 5 file#=0 block#=285 blocks=1 obj#=-1 tim=230705570026
WAIT #0: nam='control file parallel write' ela= 337 files=2 block#=19 requests=2 obj#=-1 tim=230705570377
WAIT #0: nam='control file parallel write' ela= 272 files=2 block#=23 requests=2 obj#=-1 tim=230705570683
WAIT #0: nam='control file parallel write' ela= 284 files=2 block#=286 requests=2 obj#=-1 tim=230705571001
WAIT #0: nam='control file parallel write' ela= 283 files=2 block#=17 requests=2 obj#=-1 tim=230705571327
WAIT #0: nam='control file parallel write' ela= 229 files=2 block#=15 requests=2 obj#=-1 tim=230705571591
WAIT #0: nam='control file parallel write' ela= 257 files=2 block#=1 requests=2 obj#=-1 tim=230705571876
 
dbwr 트레이스
*** 2024-04-06T14:21:33.840847+09:00 <<< 증분 체크포인트가 아닌 이벤트 발생
WAIT #0: nam='rdbms ipc message' ela= 1419762 timeout=300 p2=0 p3=0 obj#=-1 tim=230703978995
WAIT #0: nam='rdbms ipc message' ela= 3003 timeout=158 p2=0 p3=0 obj#=-1 tim=230703982100

결과 : 체크포인트 발생함
14:21:32에 증분 체크포인트 발생 후 14:21:35에 증분 체크포인트 발생할 때 기존 이벤트보다 더 많은 이벤트가 발생함

 

 

결론 :
1. 스레드 체크포인트 확인
1_1. 일관된 DB 종료 시(shutdown immediate) : 체크포인트 발생함
1_2. 일관된 DB 종료 시(shutdown normal) : 체크포인트 발생함
1_3. 일관된 DB 종료 시(shutdown transactional) : 체크포인트 발생함
1_4. 비일관된 DB 종료 시(shutdown abort) : 체크포인트 발생함
1_5. DB 기동 시 : 증분 체크포인트 발생함
1_6. alter system checkpoint 구문 실행 시 : 체크포인트 발생함
1_7. alter database begin backup 구문 실행 시 : 체크포인트 발생함
1_8. alter database end backup 구문 실행 시 : 체크포인트 발생함
1_9. log switch 시 : 체크포인트 발생함

 

 

참고용 스크립트
트레이스를 매번 손으로 입력해서 걸기 귀찮아서 아래 스크립트를 이용함

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$ cat bgp_trc.sql
set lines 200 pages 1000
col spid for a10
col tracefile for a100
select p.pname, p.spid, s.sid, s.serial#, s.sql_trace, 'tail -300f '||p.tracefile, 'exec dbms_monitor.session_trace_enable('||s.sid||','||s.serial#||', true, true);'
from v$session s, v$process p
where s.paddr=p.addr
and (p.pname like 'DBW%' or p.pname = 'CKPT');
 
PNAME SPID              SID    SERIAL# SQL_TRAC
----- ---------- ---------- ---------- --------
'TAIL-300F'||P.TRACEFILE
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'EXECDBMS_MONITOR.SESSION_TRACE_ENABLE('||S.SID||','||S.SERIAL#||',TRUE,TRUE);'
--------------------------------------------------------------------------------------------------------------------------------------
DBW0  37236            1149      29246 DISABLED
tail -300f /ORA19/app/oracle/diag/rdbms/oracle19/oracle19/trace/oracle19_dbw0_37236.trc
exec dbms_monitor.session_trace_enable(1149,29246, true, true);
 
CKPT  37240             386      52080 DISABLED
tail -300f /ORA19/app/oracle/diag/rdbms/oracle19/oracle19/trace/oracle19_ckpt_37240.trc
exec dbms_monitor.session_trace_enable(386,52080, true, true);

 

 

참조 : 

1490838.1, 1431133.1, 1526181.1, 270571.1, 568049.1
https://hemantoracledba.blogspot.com/2008/11/tracing-process-tracing-dbwr.html
https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/background-processes.html
https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/DBMS_MONITOR.html#GUID-C9054D20-3A70-484F-B11B-CC591A10D609
https://docs.oracle.com/en/database/oracle/oracle-database/19/cncpt/process-architecture.html#GUID-D3174B3E-BCCA-473F-961E-84A36FD5C372
https://docs.oracle.com/en/database/oracle/oracle-database/19/cncpt/oracle-database-instance.html#GUID-4EC2658A-9519-4188-90C6-AA79F14D
https://docs.oracle.com/en/database/oracle/oracle-database/19/cncpt/oracle-database-instance.html#GUID-A3FAC5B6-928C-474C-9D4C-E5C5B27544E985D2
https://docs.oracle.com/en//database/oracle/oracle-database/23/dbiad/db_CKPT.html
https://avdeo.com/2015/09/07/how-many-checkpoints-in-oracle-database/
https://docs.oracle.com/en/database/oracle/oracle-database/19/rcmrf/SHUTDOWN.html
http://www.gurubee.net/wiki/pages/26742841
https://positivemh.tistory.com/284