Home
Blog
About
Database administration
Operating systems
Development
Links
Following require login:
ScratchPad
With particular reference to automatic jobs, e.g. collecting runstats.
References:
Sample session changing the maintenance window.
XML must be in sqllib/tmp
57> pwd /db2/db2ed1 61> ls -l sqllib/tmp total 12 -rwxr-xr-x 1 db2ed1 dbed1adm 218 Jan 15 09:38 auto-runstats.xml -rwxr-xr-x 1 db2ed1 dbed1adm 377 Jan 15 09:40 maintenance-window.xml
This defines a 12 hour window running every day from 5p.m. (most of the XML is comments):
62> cat sqllib/tmp/maintenance-window.xml <?xml version="1.0" encoding="UTF-8"?> <!-- IBM Corporation version 1.0 --> <!-- Configuration file for Maintenance Window Specification --> <DB2MaintenanceWindows xmlns="http://www.ibm.com/xmlns/prod/db2/autonomic/config"> <!-- Online Maintenance Window --> <OnlineWindow Occurrence="During" startTime="17:00:00" duration="12"> <DaysOfWeek>All</DaysOfWeek> <DaysOfMonth>All</DaysOfMonth> <MonthsOfYear>All</MonthsOfYear> </OnlineWindow> <!-- Offline Maintenance Window --> <!-- NOT CURRENTLY USED Optional: Specify when offline automatic maintenance can occur in the Occurrence attribute. Specify the OfflineWindow using the same method as described above for the OnlineWindow. --> <!-- <OfflineWindow Occurrence="During" startTime="00:00:00" duration="24" > <DaysOfWeek>All</DaysOfWeek> <DaysOfMonth>All</DaysOfMonth> <MonthsOfYear>All</MonthsOfYear> </OfflineWindow> --> </DB2MaintenanceWindows>
Apply the XML and check it's been applied
Note: Comments are stripped out when XML is applied:
64> db2 connect to ed1
Database Connection Information
Database server = DB2/LINUXX8664 9.7.2
SQL authorization ID = DB2ED1
Local database alias = ED1
65> db2 "call sysproc.automaint_set_policyfile('MAINTENANCE_WINDOW','maintenance-window.xml')"
Return Status = 0
dv0003:db2ed1 64> db2 "call sysproc.automaint_get_policyfile('MAINTENANCE_WINDOW','CurrentMaintenanceWindowPolicy-20130130.xml')"
Return Status = 0
66> cat sqllib/tmp/CurrentMaintenanceWindowPolicy-20130130.xml
<?xml version="1.0" encoding="UTF-8"?>
<DB2MaintenanceWindows
xmlns="http://www.ibm.com/xmlns/prod/db2/autonomic/config" >
<!-- Online Maintenance Window -->
<OnlineWindow Occurrence="During" startTime="17:00:00" duration="12" >
<DaysOfWeek>All</DaysOfWeek>
<DaysOfMonth>All</DaysOfMonth>
<MonthsOfYear>All</MonthsOfYear>
</OnlineWindow>
</DB2MaintenanceWindows>
Monitor automatic runstats by running this SQL (it can take a while and returns a lot of data):
SELECT
pid,
tid,
substr(eventtype, 1,10),
substr(objtype,1,30) as objtype,
substr(objname_qualifier,1,20) as objschema,
substr(objname,1,10) as objname,
substr(first_eventqualifier,1,26) as event1,
substr(second_eventqualifiertype,1,2) as event2_type,
substr(second_eventqualifier,1,20) event2,
substr(third_eventqualifiertype,1,6) event3_type,
substr(third_eventqualifier,1,15) event3,
substr(eventstate,1,20) as eventstate
FROM
TABLE( SYSPROC.PD_GET_DIAG_HIST
( 'optstats', 'EX', 'NONE', CURRENT_TIMESTAMP - 5 days, CAST( NULL AS TIMESTAMP ))) as sl
order by
timestamp(varchar(substr(first_eventqualifier,1,26),26))
OR - look at the log files in /db2/SID/db2dump/events
$ ls -l /db2/ED1/db2dump/events total 14308 -rw-rw-rw- 1 db2eq1 dbeq1adm 3146214 Jan 25 02:57 db2optstats.199.log -rw-rw-rw- 1 db2eq1 dbeq1adm 3146179 Jan 28 02:56 db2optstats.200.log -rw-rw-rw- 1 db2eq1 dbeq1adm 3146101 Jan 30 06:24 db2optstats.201.log -rw-rw-rw- 1 db2eq1 dbeq1adm 3146107 Feb 2 19:18 db2optstats.202.log -rw-rw-rw- 1 db2eq1 dbeq1adm 2028306 Feb 5 09:57 db2optstats.203.log
Note that these logs are automatically rotated when they get to around 3MB so they don't tend to exist for more than a few days.