リスト2 getsnap.bat(Windows)

@echo off
REM
REM  take a snapshot after specified sleep period for a number of iterations
REM  parameters: (1) database name
REM              (2) file name id
REM              (3) interval between iterations (seconds)
REM              (4) maximum number of iterations
REM          
REM   Note: You may receive an error about the monitor heap being too small. You may 
REM         want to set mon_heap_sz to 2048 while monitoring.

:CHECKINPUT
IF ""=="%4" GOTO INPUTERROR
GOTO STARTPRG

:INPUTERROR
echo %0 requires 4 parameters: dbname filename_id sleep_interval iterations
echo e.g. "getsnap.bat sample 0302 60 3"
GOTO END

:STARTPRG
SET dbname=%1
SET fileid=%2
SET sleep_interval=%3
SET iterations=%4

db2 update monitor switches using bufferpool on lock on sort on statement on table on uow on

REM repeat the snapshot loop for the specified iterations
SET i=1

:SNAPLOOP
    IF %i% LSS 10 SET i2=0%i%
    IF %i% GTR 9 SET i2=%i%
    echo Starting Iteration %i2% (of %iterations%) 
    db2 -v reset monitor all
    sleep %sleep_interval%
    db2 -v get snapshot for dbm > snap%i2%_%fileid%
    db2 -v get snapshot for all on %dbname% >> snap%i2%_%fileid%
    echo Completing Iteration %i2% (of %iterations%)
    SET /a i+=1
    IF %i% GTR %iterations% GOTO ENDLOOP
    GOTO SNAPLOOP
:ENDLOOP

db2 update monitor switches using bufferpool off lock off sort off statement off table off uow off 
db2 terminate

:END