1. db2mon ๊ฐœ์š”
db2mon์€ Db2 ๋ฉ”๋ชจ๋ฆฌ ๋ฉ”ํŠธ๋ฆญ์Šค ๋ชจ๋‹ˆํ„ฐ๋ง ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ๊ธฐ๊ฐ„ ๋™์•ˆ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๋Š” Db2 ๋ช…๋ น ํ–‰ ์ฒ˜๋ฆฌ๊ธฐ (CLP) ์Šคํฌ๋ฆฝํŠธ ์„ธํŠธ์ž…๋‹ˆ๋‹ค.

– db2mon.sh ์‰˜ ์Šคํฌ๋ฆฝํŠธ๋Š” ๋ฐ์ดํ„ฐ ์ฝœ๋ ‰์…˜ ๋ฐ ๋ถ„์„ ์ƒ˜ํ”Œ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์Šคํฌ๋ฆฝํŠธ๋Š” db2mon์˜ ์ „์ œ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋˜๋Š”์ง€ ์ ๊ฒ€ํ•ฉ๋‹ˆ๋‹ค.

– ๋ฉ”๋ชจ๋ฆฌ ๋ฉ”ํŠธ๋ฆญ์Šค ๋ชจ๋‹ˆํ„ฐ๋ง ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๏ผ‚MON_GET_DATABASE๏ผ‚์™€ ๊ฐ™์ด ๏ผ‚MON_GET๏ผ‚์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋‚ด์žฅ ๋ฃจํ‹ด์„ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค.

– MON_GET ํ•จ์ˆ˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ํ™œ์„ฑํ™” ๋œ ์‹œ์ ๋ถ€ํ„ฐ ์ฆ๊ฐ€ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ™œ๋™์€ ๋ณ„๋„์˜ ์‹œ๊ฐ„์— ์ธก์ • ๊ฐ’์„ ์ˆ˜์ง‘ ํ•œ ๋‹ค์Œ ์ฐจ์ด๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค. db2mon ์Šคํฌ๋ฆฝํŠธ๋Š” stored procedure๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ๊ณ„์‚ฐ์„ ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

2. db2mon fileset
๋‹ค์Œ ํŒŒ์ผ์€ db2mon์˜ ์ผ๋ถ€๋กœ ์ œ๊ณต๋˜๋ฉฐ ์ธ์Šคํ„ด์Šค ๋””๋ ‰ํ† ๋ฆฌ์˜ ~ / sqllib / samples / perf ์•„๋ž˜์— ์žˆ์Šต๋‹ˆ๋‹ค.

db2mon.sh
db2mon.sql (db2monBefore.sql, db2monInterval.sql ๋ฐ db2monAfter.sql์˜ ์—ฐ๊ฒฐ๋œ ์–‘์‹)
db2mon_import.sql
db2mon_export.sql
db2mon_report.sql

db2mon์€ ์‚ฌ์šฉ์ž ์ž„์‹œ ํ…Œ์ด๋ธ” ์ŠคํŽ˜์ด์Šค์™€ MON_ACT_METRICS ๋ฐ MON_REQ_METRICS์— ๋Œ€ํ•œ ์ตœ์†Œ ํ•„์ˆ˜ ๊ฐ’์„ ์ ๊ฒ€ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒ€์‚ฌ์˜ ๊ฒฐ๊ณผ๋Š” ๋ณด๊ณ ์„œ์˜ ์ „์ œ ์กฐ๊ฑด ์„น์…˜์—๋ณด๊ณ ๋ฉ๋‹ˆ๋‹ค.

3. db2mon.pl (Db2 v11.1.3.3 ์ด์ „)
db2mon.pl์˜ perl ์ฝ”๋“œ๋Š” mon_get ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํŠน์ • ๊ธฐ๊ฐ„ ๋™์•ˆ์˜ ํ™œ๋™์„ ์ž๋™์œผ๋กœ ์ˆ˜์ง‘ํ•˜๋Š” SQL ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์ธ ์ƒ์„ฑ ๋ช…๋ น์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. perl db2mon.pl [์ˆ˜์ง‘ ์ง€์—ฐ]

1

collection delay optional ์ธ์ˆ˜์˜ ๊ธฐ๋ณธ๊ฐ’์€ 30 ์ดˆ ์ž…๋‹ˆ๋‹ค.
db2mon.pl์„ ์‹คํ–‰ํ•˜๋ฉด ๋‹ค์Œ ํŒŒ์ผ์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

2

4. ์‚ฌ์ „์ž‘์—…
– db2mon CLP ์Šคํฌ๋ฆฝํŠธ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ฐ๊ฒฐ์ด ํ•„์š”ํ•˜๋ฉฐ, ๋˜ํ•œ db2mon.sql์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์‚ฌ์šฉ์ž ์ž„์‹œ ํ…Œ์ด๋ธ” ์ŠคํŽ˜์ด์Šค๊ฐ€ ์ƒ์„ฑ๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
– ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์‚ฌ์šฉ์ž ์ž„์‹œ ํ…Œ์ด๋ธ” ์ŠคํŽ˜์ด์Šค๊ฐ€์—†๋Š” ๊ฒฝ์šฐ, CREATE TABLESPACE ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

DB2 CREATE USER TEMPORARY TABLESPACE myTempTbsp

db2mon.sql ๋ฐ db2mon_export.sql์ด ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ์ดํ„ฐ๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜์ง‘ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์„ฑ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ ˆ๋ฒจ์—์„œ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.ย ย ย ย 

MON_ACT_METRICS, MON_REQ_METRICS ๋Š” ์ตœ์†Œํ•œ BASE๋กœ ์„ค์ •๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋””ํด๋“œ ๊ฐ’์€ BASE ์ž…๋‹ˆ๋‹ค.
MON_OBJ_METRICS ์˜ ๋””ํดํŠธ ๊ฐ’์€ EXTENDED์ด๋ฉฐ, ์ด๋Š” ํ…Œ์ด๋ธ” ๋ฐ ์ธ๋ฑ์Šค์— ๋Œ€ํ•œ ์ „์ฒด ๋ชจ๋‹ˆํ„ฐ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

db2mon์„ ์˜คํ”„๋ผ์ธ ๋ชจ๋“œ์—์„œ ์‹คํ–‰์ค‘์ธ ๊ฒฝ์šฐ, ํ…Œ์ด๋ธ” ๋ฐ ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜์žˆ๋Š” ๊ถŒํ•œ์ด ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

5. ์‹คํ–‰๋ชจ๋“œ
– ์˜จ๋ผ์ธย ย ย ย 
db2mon ์˜ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์œผ๋กœ ์‹คํ–‰ํ•˜๋Š” ๋ชจ๋“œ์ด๋ฉฐ, ์™„๋ฃŒ ๋  ๋•Œ๊นŒ์ง€ ๋ชจ๋‹ˆํ„ฐ๋ง๋˜๊ณ ์žˆ๋Š” ์‹œ์Šคํ…œ์—์„œ ํ‘œ์ค€ ์ถœ๋ ฅ์— ๋Œ€ํ•œ ๋ณด๊ณ ์„œ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋ณด๊ณ ์„œ์—๋Š” ๋ฉ”ํŠธ๋ฆญ์—์„œ ๋ธํƒ€ ๊ฐ’์„ ์ฐพ๊ณ  ์ถœ๋ ฅ์„ ๋‚˜์—ดํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋ชจ๋“  SQL์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. db2mon.sh๋Š” ์ž๋™์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ฐ๊ฒฐํ•˜๊ณ , ์‚ฌ์šฉ์ž ์ž„์‹œ ํ…Œ์ด๋ธ” ์ŠคํŽ˜์ด์Šค ๋ฐ ์ž‘์€ ๊ฐœ์ธ์šฉ ๋ฒ„ํผ ํ’€ (์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์˜ํ–ฅ์„ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด)์„ ์ž‘์„ฑํ•˜๊ณ  db2mon.sql์„ ์‹คํ–‰ ํ•œ ๋‹ค์Œ ์—ฐ๊ฒฐ์„ ๋Š์Šต๋‹ˆ๋‹ค.

ย  db2mon.sh ์‚ฌ์šฉ
db2mon.sh mydb > db2mon.out
ย  ๊ธฐ์กด ์—ฐ๊ฒฐ ์‚ฌ์šฉ
db2 โ€“tvf db2mon.sql > db2mon.out

– ์˜คํ”„๋ผ์ธย ย ย ย 
๋ชจ๋‹ˆํ„ฐ๋˜๋Š” ์‹œ์Šคํ…œ์ด ์„ฑ๋Šฅ์— ๋ฏผ๊ฐํ•œ ๊ฒฝ์šฐ, ๋‚ด๋ณด๋‚ด๊ธฐ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ฑ๋Šฅ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ๊ฐ€์ ธ ์˜ค๊ธฐ ๋ฐ๋ณด๊ณ ๋ฅผ ์œ„ํ•ด ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์œผ๋กœ ์ „์†กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด๋ณด๋‚ด๊ธฐ, ๊ฐ€์ ธ ์˜ค๊ธฐ ๋ฐ ๋ณด๊ณ ์„œ ์ƒ์„ฑ์„ ์œ„ํ•ด ๋ณ„๋„์˜ SQL ํŒŒ์ผ์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
์˜คํ”„๋ผ์ธ ๋ชจ๋“œ์—์„œ ์ƒ์„ฑ ๋œ ๋ณด๊ณ ์„œ (db2mon_report.sql ์‹คํ–‰)๋Š” ์˜จ๋ผ์ธ ๋ชจ๋“œ์—์„œ ์ƒ์„ฑ ๋œ ๋ณด๊ณ ์„œ (db2mon.sql ์‹คํ–‰)๋ณด๋‹ค ์งง์Šต๋‹ˆ๋‹ค. ์˜คํ”„๋ผ์ธ ๋ชจ๋“œ ๋ณด๊ณ ์„œ๋Š” ์ž„์‹œ ํ…Œ์ด๋ธ” (DGTT) ์„ ์–ธ ๋ฐ ๋ธํƒ€ ๊ณ„์‚ฐ์„ ์„ ์–ธํ•˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ ๋” ์งง์Šต๋‹ˆ๋‹ค.

6. ์˜จ๋ผ์ธ ๋ชจ๋“œ ์ˆ˜ํ–‰
db2mon.sh๋ฅผ ์‚ฌ์šฉ :

– db2mon.sh MyDatabaseName> db2mon.out
MyDatabaseName์€ ๋ชจ๋‹ˆํ„ฐ๋ง์ค‘์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ db2mon.sql์€ 30 ์ดˆ ๋™์•ˆ MON_GET ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•ฉ๋‹ˆ๋‹ค. db2mon.sh๋Š” ์ดˆ ๋‹จ์œ„๋กœ ์ง€์ •๋œ ๋‹ค๋ฅธ ๊ธฐ๊ฐ„์— ๊ฑธ์ณ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ธฐ ์œ„ํ•ด ๋‘ ๋ฒˆ์งธ ์˜ต์…˜ ์ธ์ˆ˜๊ฐ’์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
– db2mon.sh MyDatabaseName 120> db2mon-120s.out

๊ธฐ์กด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉ :

– db2 -tvf db2mon.sql> db2mon.out
์ค‘์š” ํ˜„์žฌ ์—ฐ๊ฒฐ์—์„œ db2mon์„ ์‹คํ–‰ํ•˜๊ณ  ์‹คํ–‰ ์ค‘ Ctrl-C๋ฅผ ๋ˆ„๋ฅด๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ด db2mon.sql์„ ์ธํ„ฐ๋ŸฝํŠธํ•˜๋Š” ๊ฒฝ์šฐ, CURRENT SCHEMA ํŠน์ˆ˜ ๋ ˆ์ง€์Šคํ„ฐ๋Š” ์—ฌ์ „ํžˆ SESSION_USER๋กœ ์„ค์ • ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์ธํ„ฐ๋ŸฝํŠธ ์ดํ›„์— ์‹คํ–‰๋˜๋Š” ๋ชจ๋“  SQL ๋ฌธ์ด ์˜ํ–ฅ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ์ด ์ธํ„ฐ๋ŸฝํŠธ๋˜๋ฉด CURRENT SCHEMA๋ฅผ ์ˆ˜๋™์œผ๋กœ ์›๋ž˜ ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. db2mon์€ CURRENT SCHEMA๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ db2mon.sql์˜ ์˜จ๋ผ์ธ ์ฝœ๋ ‰์…˜ ์ค‘์— ์‚ฌ์šฉ ๋œ DGTT์— ๋Œ€ํ•œ ํ…Œ์ด๋ธ” ์ฐธ์กฐ๋ฅผ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค.
db2mon.sh๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด CURRENT SCHEMA์˜ ๋ชจ๋“  ๋ฌธ์ œ์ ์„ ํ”ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฐธ๊ณ  : ๋ณด๊ณ ์„œ ์„น์…˜์€ “STARTS”ํ…์ŠคํŠธ ๋‹ค์Œ์— ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค

7. ์˜คํ”„๋ผ์ธ ๋ชจ๋“œ ์ˆ˜ํ–‰
STEP1 : ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ์ดํ„ฐ export db2mon_export.sql์€ db2mon์ด ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  MON_GET ํ•จ์ˆ˜์˜ ๋‚ด์šฉ์„ ํ˜„์žฌ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ์— ์ž‘์„ฑ๋œ IXF ํŒŒ์ผ๋กœ ๋ฐ˜์ถœํ•ฉ๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‹œ์ž‘๋  ๋•Œ์™€ ๋๋‚ ๋•Œ ์ฝ˜ํ…์ธ ๊ฐ€ ๋‘ ๋ฒˆ ๋‚ด๋ณด๋‚ด์ง‘๋‹ˆ๋‹ค.
ย ย ย ย ย ย ย ย ย – db2 -tvf db2mon_export.sql> db2mon_export.out

STEP2 : ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ์ดํ„ฐ import
IXF ํŒŒ์ผ์„ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์œผ๋กœ ์ „์†กํ•œ ํ›„ ๋‹ค๋ฅธ Db2 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— import ํ•˜์—ฌ ๋ณด๊ณ ์„œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณด๊ณ ์„œ๋Š” ๋ชจ๋“  ์šด์˜ ์ฒด์ œ ๋˜๋Š” Db2 ๋ฒ„์ „์—์„œ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฒ„์ „ 11.1.3.3 ์ด์ „์˜ Db2 ๋ฒ„์ „์˜ ๊ฒฝ์šฐ, db2mon SQL ์Šคํฌ๋ฆฝํŠธ๋„ ๋ณต์‚ฌํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.
– db2 -tvf db2mon_import.sql> db2mon_import.out

Db2 IMPORT ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ถ„์„์„ ์œ„ํ•ด mon_get ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ DB2 ํ…Œ์ด๋ธ”๋กœ ์žฌ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. Import ์œ ํ‹ธ๋ฆฌํ‹ฐ์—์„œ ํ…Œ์ด๋ธ”์ด ์ž๋™ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. (์˜ˆ๋ฅผ ๋“ค์–ด, ์†Œ์Šค ์‹œ์Šคํ…œ์˜ mon_get_workload ๋ฒ„์ „๊ณผ ์ผ์น˜ํ•˜๋„๋ก CREATE TABLE์„ ์žฌ ์ž‘์„ฑํ•  ํ•„์š”๊ฐ€ ์—†์Œ). import ํ›„ ์˜จ๋ผ์ธ ๋ชจ๋‹ˆํ„ฐ๋ง๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ธํƒ€ ๊ฐ’์„ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.
์ด ํ…Œ์ด๋ธ”์€ DGTT๊ฐ€ ์•„๋‹Œ ์˜๊ตฌ ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ ๊ธฐ๋ณธ ์Šคํ‚ค๋งˆ, ํ…Œ์ด๋ธ” ๊ณต๊ฐ„ ๋“ฑ์—์„œ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๋ถ„์„์„ ์œ„ํ•ด ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์œผ๋กœ ์ด๋™ ํ•œ ๊ฒฝ์šฐ ์˜๊ตฌ ํ…Œ์ด๋ธ”, ์ƒ‰์ธ ๋“ฑ์„ ๋งŒ๋“ค ์ˆ˜์žˆ๋Š” ์ถฉ๋ถ„ํ•œ ๊ถŒํ•œ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

CURRENT SCHEMA๋ฅผ์ด ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ’์œผ๋กœ ์„ค์ •ํ•˜์—ฌ ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์„œ๋กœ ๊ฐ„์„ญํ•˜์ง€ ์•Š๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

STEP3 : report ์ƒ์„ฑ
– db2 -tvf db2mon_report.sql> db2mon_report.out
db2mon_report.sql์— ์˜ํ•ด ์ƒ์„ฑ ๋œ ๋ณด๊ณ ์„œ๋Š” ๋ชจ๋“  DGTT ์„ ์–ธ ๋ฐ ๋ธํƒ€ ๊ณ„์‚ฐ์„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— db2mon.sql์˜ ์ถœ๋ ฅ๋ณด๋‹ค ์งง์Šต๋‹ˆ๋‹ค.
์ฐธ๊ณ  : ์˜คํ”„๋ผ์ธ ๋ถ„์„์„ ์œ„ํ•ด ๋‚ด๋ณด๋‚ผ ๋•Œ db2mon.pl์—์„œ ์ฟผ๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋‚˜์—ดํ•œ ํ…Œ์ด๋ธ”๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ฑฐ์˜ ๋ชจ๋“  ํ…Œ์ด๋ธ”์— ๋ชจ๋“  ์—ด์„ ๋‚ด ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์ด๋Š” ๋ถ„์„ ์ค‘์— XYZ ๋ฉ”ํŠธ๋ฆญ์ด ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๋ฉด ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ช…๋ น ํ–‰์—์„œ ์ถ”๊ฐ€์  ์ •๋ณด ์กฐํšŒ๋ฅผ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ db2mon_report.sql์„ ์ˆ˜์ •ํ•˜์—ฌ ์˜คํ”„๋ผ์ธ์—์„œ ์‚ฌ์šฉํ•  ๋•Œ ๋‹ค๋ฅธ ๋ฉ”ํŠธ๋ฆญ์„ ํ™œ์šฉํ•˜์—ฌ ๋ณด๊ณ ์„œ ์กฐํšŒ๋ฅผ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

8. ๋ณด๊ณ ์„œ ๊ฒฐ๊ณผ
– interval์˜ ์‹œ์ž‘๊ณผ ๋์— ์ˆ˜์ง‘๋˜๋Š” ํŠน์ • ์‹œ์  ๋ฐ์ดํ„ฐ (ํ˜„์žฌ ์‹คํ–‰์ค‘์ธ SQL, ์œ ํ‹ธ๋ฆฌํ‹ฐ ๋ฐ ์ž ๊ธˆ ๋Œ€๊ธฐ์™€ ๊ฐ™์€).
– ์ „์ฒด ๊ธฐ๊ฐ„์— ๊ฑธ์ณ ์ธก์ • ๋œ ๋ˆ„์  ๋ฐ์ดํ„ฐ : ๋‹ค์–‘ํ•œ ๊ณ„์ธต ๋ ˆ๋ฒจ (์˜ˆ : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ ˆ๋ฒจ, ํ…Œ์ด๋ธ” ์ŠคํŽ˜์ด์Šค ๋ ˆ๋ฒจ, ๋ฒ„ํผ ํ’€ ๋ ˆ๋ฒจ, ํ…Œ์ด๋ธ” ๋ ˆ๋ฒจ, ์ฟผ๋ฆฌ ๋ ˆ๋ฒจ ๋ฐ ์—ฐ๊ฒฐ ๋ ˆ๋ฒจ)์—์„œ ์ˆ˜์ง‘๋˜๋Š” ๋ฐ์ดํ„ฐ.
– ๋‹ค๋ฅธ ๋ฐฐํฌ ์œ ํ˜• (์˜ˆ : ํ‘œ์ค€ Db2 ESE, Db2 pureScale ๋ฐ BLU๊ฐ€์žˆ๋Š” Db2)์— ๋Œ€ํ•ด ์ˆ˜์ง‘๋˜๋Š” ๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค.
– ํ™˜๊ฒฝ ์ •๋ณด (๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐ ์ธ์Šคํ„ด์Šค ๊ตฌ์„ฑ, ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ๋ณ€์ˆ˜, CPU ์ˆ˜ ๋ฐ ์‚ฌ์šฉ๋Ÿ‰, ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ๋“ฑ).

echo REPORT STARTS HERE;
echo ################################################################################################################### ;
echo Point-in-time data: Current executing SQL, lock waits and utilities at start of capture ;
echo ################################################################################################################### ;
echo ================================================================================= ;
echo START#EXSQL: Currently executing SQL at start of capture (non-zero metrics only ;
echo ================================================================================= ;
echo ===================================================== ;
echo START#LOCKW: Current lock waits at start of capture ;
echo ===================================================== ;
echo ================================================================ ;
echo START#EXUTL: Currently executing utilities at start of capture ;
echo ================================================================ ;
echo ################################################################################################################### ;
echo Data collected from start to end of monitor interval;
echo ################################################################################################################### ;
echo ================================================ ;
echo DB#THRUP: Throughput metrics at database level ;
echo ================================================ ;
echo ======================================================================= ;
echo DB#CLACT: Client activity (active connections have at least 1 stmt/s) ;
echo ======================================================================= ;
echo ================================================================ ;
echo DB#TIMEB: Time breakdown at database level (wait + processing) ;
echo ================================================================ ;
echo ======================================== ;
echo DB#WAITT: Wait times at database level ;
echo ======================================== ;
echo ============================================== ;
echo DB#PROCT: Processing times at database level ;
echo ============================================== ;
echo ========================================= ;
echo DB#SORT: Sort metrics at database level ;
echo ========================================= ;
echo ==================================================== ;
echo SQL#TOPEXECT: Top SQL statements by execution time ;
echo ==================================================== ;
echo ========================================================================== ;
echo SQL#TOPEXECP: Top SQL statements by execution time, aggregated by PLANID ;
echo ========================================================================== ;
echo ============================================ ;
echo PKG#EXECT: Time spent executing by package ;
echo ============================================ ;
echo ============================================================================ ;
echo SQL#TOPWAITT: Wait time breakdown for top SQL statements by execution time ;
echo ============================================================================ ;
echo ======================================================== ;
echo SQL#TOPWAITW: Top SQL statements by time spent waiting ;
echo ======================================================== ;
echo ========================================================================= ;
echo SQL#TOPIOSTA: IO statistics per stmt – top statements by execution time ;
echo ========================================================================= ;
echo =============================================================================== ;
echo SQL#TOPROWS: Row level statistics per stmt – top statements by execution time ;
echo =============================================================================== ;
echo ========================================================================== ;
echo SQL#TOPSORT: Sort statistics per stmt – top statements by execution time ;
echo ========================================================================== ;
echo ============================================================================================ ;