Ugens tip holder pause. Det næste tip udkommer den 1. marts.
The weekly tip takes a break. The next tip will be published on the 1st of March.
I DB2 version 8 fik IBM endelig løst vores evige problemer med at lave den rigtige allokering af DB2 tablespaces og indexspaces. Det er jo lang tid siden, at DB2 version 8 blev lanceret, og jeg håber, at de fleste installationer er kommet over på mindst DB2 version 8. Og jeg håber da også, at de fleste installationer har lavet om på deres allokeringsprocedurer af DB2-spaces, så de benytter sig af den nye allokeringsalgoritme. Hvis ikke, så betragt dette tip som en reminder.
Nogen af os allokerer ind i mellem selv tablespaces og indexspaces. For os er det godt at vide, at i version 8 og fremover er det allerbedst ikke at angive hverken PRIQTY eller SECQTY. Dette giver os automatisk den optimale allokering. Hvis du endelig vil angive PRIQTY og SECQTY, så angiv dem som -1, som svarer til ikke at angive dem. Hvis du vil ændre SECQTY på et eksisterende tablespace eller indexspace, så angiv den til -1. Så vil den nye allokeringsalgoritme tage over for fremtidige extents.
Og hvad er det, der er så smart ved den nye allokeringsalgoritme. Jo, den starter med en lille primær allokering, for derefter at gøre hver ny sekundær allokering større og større på en sådan måde, at spacet aldrig løber tør for extents. Når VSAM-datasettet bag spacet når sin øverste grænse, allokerer DB2 et nyt VSAM-dataset til spacet, og hele historien begynder forfra. Først når spacet bliver så stort som DB2's øvre grænse, er det slut. Bemærk i øvrigt at en partition i et partitioneret space altid holder sig inden for et VSAM-dataset. Det er kun non-partitionerede spaces, der kan brede sig ud over flere VSAM-datasets.
Hermed er kampen mod DB2-spaces, der hele tiden løber fulde endegyldigt slut. Jeg har godt nok brugt rigtig mange timer i denne kamp, som hermed endelig er overstået. For en gangs skyld har IBM gjort livet lettere for os. Hvis du vil læse de slibrige detaljer og ikke nøjes med min overfladiske gennemgang her, så slå op i SQL reference.