MainframeSupports
tip uge 45/2003:

Jeg tror nok, at det var i version 4 det blev muligt at ændre på PRIQTY og SECQTY på tablespaces og indexes uden at skulle lave en STOP først. Det har gjort livet endnu lettere for mange af os DB2 freaks. En af de rigtig gode detaljer ved at kunne ændre på SECQTY "on the fly" er, at DB2 straks vil tage hensyn til den nye SECQTY næste gang det bagvedliggende DB2-dataset skal extente. Hvis et DB2-dataset har extent'et nogle gange, så kan man altså redde situationen før det løber fuldt ved at sætte SECQTY i vejret. Hvor meget man således vil sætte SECQTY i vejret er helt op til ens temperament og situationens alvor.

Ved at benytte en ALTER SECQTY kan man altså undgå eller i værste fald udsætte det tidspunkt, hvor DB2-datasettet løber fuldt. Det kan ske helt uden at foretage noget som helst andet snedigt, såsom at køre en REORG eller at foretage flytninger med ADRDSSU. Før du kaster dig over denne nye mulighed, så er der et par detaljer, der er gode at kende. For det første, så vil en LISTCAT af DB2-datasettet vise den sekundære allokering af DB2-datasettet på selve oprettelsestidspunktet, uanset hvad du har ændret SECQTY til og hvor mange extents, der er taget med den nye SECQTY. Du kan tilgengæld se effekten på størrelsen af de extents, der er taget. For det andet er det hamrende irriterende og godt at vide, at ALTER INDEX skal foretages på selve indexnavnet og ikke på DBNAME.SPACENAM, som det er tilfældet for tablespaces.

Klik her for at se syntaksen for ALTER TABLESPACE og her for at se syntaksen for ALTER INDEX. Syntaksen er fra DB2 version 7. Og så lige et par eksempler til sidst:

ALTER TABLESPACE MYDB.MYTS SECQTY 720;

vil sætte SECQTY til 1 cylinder på tablespace MYDB.MYTS. En

ALTER INDEX MYUSER.MYSUPERINDEX SECQTY 480;

vil sætte SECQTY på index MYUSER.MYSUPERINDEX til 10 tracks.

Forrige danske tip        Last tip in english        Tip oversigten