Commandes DB2 TSM

Voici une compilation de commandes DB2 TSM pouvant être utile :

Commandes de Réorganisation DB2

Les commandes suivantes permettent de déterminer la table qui est entrain d’être réorganisé:

1) db2 connect to tsmdb1
2) db2 set schema tsmdb1
3) db2pd -d tsmdb1 -reorg

Les commandes suivantes permettent d’arrêter la réorganisation d’une table

1) db2 connect to tsmdb1
2) db2 set schema tsmdb1
3) db2 "reorg table <tablename> inplace stop"

Vous pouvez voir la table « BF_BITFILE_EXTENTS » arrêter
db2 statue de la réorganisation

Commandes de Réorganisation Offline Table DB2

Les tables suivantes sont souvent exclues de la réorganisation TSM :

Table name
ARCHIVE_OBJECTS
BACKUP_OBJECTS
BF_AGGREGATED_BITFILES
BF_BITFILE_EXTENTS

L’exclusion est faite au niveau du dsmserv.opt :

DISABLEREORGTable BF_AGGREGATED_BITFILES,BF_BITFILE_EXTENTS,BACKUP_OBJECTS,ARCHIVE_OBJECTS

Connectez-vous avec le compte DB2
1. Lancer les commandes suivantes, permettant d’estimer la taille des tables à réorganiser. Le résultat est en bytes, il permet de créer un espace tampon pour la réorganisation.

db2 connect to tsmdb1
db2 set schema tsmdb1
db2 "call sysproc.reorgchk_tb_stats('T','tsmdb1.tablename') "
db2 "select tsize from session.tb_stats"

Par exemple

 db2 "call sysproc.reorgchk_tb_stats('T','tsmdb1.BACKUP_OBJECTS') "

2. Créer les différents espaces tampons sur l’OS.

mkdir :\temp1-8K
mkdir :\temp1-16K
mkdir :\temp1-32K

3. Lancez les commandes suivantes (en indiquant le chemin du répertoire ‘temp’) :

 db2 "CREATE SYSTEM TEMPORARY TABLESPACE REORG8K PAGESIZE 8K
MANAGED BY SYSTEM USING (':\temp1-8K') BUFFERPOOL REPLBUFPOOL1 DROPPED TABLE RECOVERY OFF"

db2 "CREATE SYSTEM TEMPORARY TABLESPACE REORG16K PAGESIZE 16K
MANAGED BY SYSTEM USING (':\temp1-16K') BUFFERPOOL IBMDEFAULTBP DROPPED TABLE RECOVERY OFF"

db2 "CREATE SYSTEM TEMPORARY TABLESPACE REORG32K PAGESIZE 32K
MANAGED BY SYSTEM USING (':\temp1-32K') BUFFERPOOL LARGEBUFPOOL1 DROPPED TABLE RECOVERY OFF"

4. Sauvegarde de la DB TSM par TSM, puis à la fin de la sauvegarde, enregistrer l’historique des volumes, et la définition des Devices

BACKUP DB TYPE=FULL devc=
BACKUP VOLH
BACKUP DEVCONF
PREPARE

5. Arrêt du serveur TSM

HALT

Vérifier si TSM est bien arrêté en regardant le service TSM Server 1

6. Lancez les commandes suivantes :

a.db2 force application all
b. db2stop
c. db2start
d. db2 connect to tsmdb1
e. db2 "DROP TABLESPACE TEMPSPACE1"
f. db2 "DROP TABLESPACE LGTMPTSP"
g. db2 update db cfg for tsmdb1 using auto_tbl_maint off
h. Déterminer la taille de la table
db2 "select t1.PAGESIZE from syscat.tablespaces t1 left join syscat.tables t2 on (t1.TBSPACEID=t2.TBSPACEID) where t2.tabname='table name'"

Par exemple (lancez la commande pour les 4 tables) :

db2 "select t1.PAGESIZE from syscat.tablespaces t1 left join syscat.tables t2 on (t1.TBSPACEID=t2.TBSPACEID) where t2.tabname='BF_BITFILE_EXTENTS'"

db2 "select t1.PAGESIZE from syscat.tablespaces t1 left join syscat.tables t2 on (t1.TBSPACEID=t2.TBSPACEID) where t2.tabname='BF_AGGREGATED_BITFILES'"

db2 "select t1.PAGESIZE from syscat.tablespaces t1 left join syscat.tables t2 on (t1.TBSPACEID=t2.TBSPACEID) where t2.tabname='BACKUP_OBJECTS'"

db2 "select t1.PAGESIZE from syscat.tablespaces t1 left join syscat.tables t2 on (t1.TBSPACEID=t2.TBSPACEID) where t2.tabname='ARCHIVE_OBJECTS'"

i. Si le PAGESIZE est 8192, rentrez la commande suivante (pour la table en question) :

db2 "reorg table tsmdb1.tablename allow no access use REORG8K"

Si le PAGESIZE est 16384, rentrez la commande suivante (pour la table en question) :

db2 "reorg table tsmdb1.tablename allow no access use REORG16K"

Si le PAGESIZE est 32768, rentrez la commande suivante (pour la table en question) :

db2 "reorg table tsmdb1.tablename allow no access use REORG32K"

Il faut attendre, que DB2 rende la main avec le message suivant (pour la table en question) :

DB20000I La commande REORG a abouti

7. Afin de suivre la réorganisation, ouvrez une seconde fenêtre DB2, puis lancez la commande suivante :

db2pd -d tsmdb1 -reorg

Résultat de la commande :
DB2 suivi de la réorganisation table

8. Passer les commandes suivantes (retour à l’état initial de DB2) :

a. db2 "create system temporary tablespace TEMPSPACE1 pagesize 16k bufferpool ibmdefaultbp"
b. db2 "create system temporary tablespace LGTMPTSP pagesize 32k bufferpool largebufpool1"
c. db2 "drop tablespace REORG8K"
d. db2 "drop tablespace REORG16K"
e. db2 "drop tablespace REORG32K"
f. db2 update db cfg for tsmdb1 using auto_tbl_maint on

9. Démarrer TSM par le service Windows (attendre d’avoir la main sur le serveur avant de continuer)

10. Lancez en DB2, la dernière commande de la table réorganisée :

a. db2 connect to tsmdb1
b. db2 "RUNSTATS ON TABLE tsmdb1.tablename WITH DISTRIBUTION AND SAMPLED DETAILED INDEXES ALL"

11. Afin de suivre l’avancement de la commande DB2, ouvrez une seconde fenêtre DB2 :

db2pd -d tsmdb1 -runstat

Réduction de la Base de données TSM

Suite à la Réorganisation Offline, passer les commandes suivantes afin de réduire au maximum les tables en question.

Pour les serveurs TSM migrant de la version 6.x, identifiez d’abord si la base de données DB2 est en version 9.7, par les commandes suivantes :

db2 connect to tsmdb1
db2 set schema tsmdb1
db2 "select cast(TBSP_NAME as char(30)), reclaimable_space_enabled from
table(mon_get_tablespace('',-1)) where TBSP_NAME in
('USERSPACE1','IDXSPACE1','LARGESPACE1','LARGEIDXSPACE1')"

RECLAIMABLE_SPACE_ENABLED

Si le résultat est 1, cela signifie que vous avez une base de données DB2 en version 9.7.
Si la réponse est 0, vous avez une base de données DB2 en version 9.5.
Si c’est le cas, ne procédez pas à la réduction de la base de données.

Pour réduire la taille de la base 9.7, passer les commandes suivantes:

db2 connect to tsmdb1
db2 set schema tsmdb1
db2 ALTER TABLESPACE USERSPACE1 REDUCE MAX
db2 ALTER TABLESPACE IDXSPACE1 REDUCE MAX
db2 ALTER TABLESPACE LARGESPACE1 REDUCE MAX
db2 ALTER TABLESPACE LARGEIDXSPACE1 REDUCE MAX

Pour minimiser l’impact sur TSM, passer les commandes une par une.

A partir de TSM 7.1, de nouvelles tables sont apparues.

Table Name DB2 Tablespace for Data DB2 Tablespace for Indices
ARCHIVE_OBJECTS ARCHOBJDATASPACE ARCHOBJIDXSPACE
BACKUP_OBJECTS BACKOBJDATASPACE BACKOBJIDXSPACE
BF_AGGREGATED_BITFILES BFABFDATASPACE BFABFIDXSPACE
BF_BITFILE_EXTENTS BFBFEXTDATASPACE BFBFEXTIDXSPACE

Suite à la Réorganisation Offline, passer les commandes suivantes afin de réduire au maximum les tables en question (A partir de TSM 7.1).

Par exemple pour la table ‘BF_AGGREGATED_BITFILES’:

db2 connect to tsmdb1
db2 set schema tsmdb1
db2 ALTER TABLESPACE BFABFDATASPACE REDUCE MAX
db2 ALTER TABLESPACE BFABFIDXSPACE REDUCE MAX

Pour minimiser l’impact sur TSM, passer les commandes une par une.

Accélérer le démarrage de DB2

Afin de connaitre le temps de démarrage de votre base DB2. Ouvrez le fichier DB2diag.log. Rechercher ce paragraphe:

04:04:19.154 [0][trace.c][1699][TrBegin]:
04:50:22.145 [0][rdbinst.c][1323][RdbStartInstance]:DbStartInstance: Exit (rc=0).
04:51:13.186 [0][rdbdb.c][2228][RdbActivateDatabase]:Database TSMDB1 activated

1. Arrêtez le serveur TSM (HALT)
2. Assurez-vous que la base de données soit bien arrêtée (db2stop)
3. Rentrez les variables suivantes en ligne de commande DB2 :

a. db2 connect to tsmdb1
b. db2set DB2_ALLOCATION_SIZE=16MB

4. Démarrez le serveur TSM

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *