Maintenance de la base de données DB2
Pour que la base de données DB® fonctionne correctement, vous devez sauvegarder régulièrement les données et exécuter des actions de maintenance.
Pourquoi et quand exécuter cette tâche
Effectuez des sauvegardes régulières
Effectuez des sauvegardes régulières des données stockées dans la base de données.
Nous vous conseillons de sauvegarder la base de données avant de mettre à niveau le serveur afin de faciliter la récupération en cas de défaillance.
Procédure
-
Effectuez des sauvegardes régulières des données stockées dans la base de données. Nous vous conseillons de sauvegarder la base de données avant de mettre à niveau le serveur afin de faciliter la récupération en cas de défaillance.
Maintenance DB2 : Réorganiser les statistiques de table et d'actualisation des index
-
Réorganisez la table pour la mettre en conformité avec l'index et récupérer de l'espace :
- Vérifiez que les statistiques sont à jour. Par défaut, les statistiques DB2® sont exécutées automatiquement. Si cette option est désactivée, vous devez exécuter manuellement les commandes suivantes :
Récupérer le stockage/réduire la taille de la base de données
Pour réduire la taille de l'espace de table et éviter les fichiers .LGR volumineux, suivez les instructions ci-dessous.
- Comment identifier les pages utilisées dans un espace de table
db2 inspect check tablespace name USERSPACE1 results keep inspect.log- Cela générera un fichier inspect.log sur le répertoire de diagnostic de l'instance (généralement <instance directory>/sqllib/db2dump). En cas de multinœud, la commande générera un fichier pour chaque nœud, en ajoutant le numéro de nœud à la fin du nom de fichier. Par exemple : inspect.log.000, inspect.log.001, etc. ou elle générera des dossiers distincts pour les nœuds, c'est-à-dire : DIAG000, DIAG0001, etc.
- Pour formater la sortie, vous devez accéder à l'emplacement où se trouve le fichier de sortie et exécuter :
db2inspf inspect.log inspect.out- Cela générera inspect.out dans le répertoire actuel
Veuillez noter qu'il se peut que vous deviez attendre un certain temps pour que les commandes ci-dessous s'exécutent. Veuillez donc exécuter ces commandes à quelques minutes d'intervalle.
- Pour récupérer l'espace, veuillez exécuter :
db2 "ALTER TABLESPACE USERSPACE1 LOWER HIGH WATER MARK "
- Pour réduire la taille de USERSPACé1, veuillez exécuter :
db2 "ALTER TABLESPACE USERSPACE1 REDUCE MAX
- Pour vérifier toute modification dans "Cote d'alerte haute (pages)"
db2 "LIST TABLESPACES SHOW DETAIL"
- Pour obtenir la taille des tableaux dans temadb, veuillez exécuter :
-
db2 “select char(date(TAB.STATS_TIME))||'-'||char(time(TAB.STATS_TIME)) as STATSTIME, substr(TAB.TABSCHEMA,1,3) as TABSCHEMA, substr(TAB.TABNAME,1,35) as TABNAME, CARD as ROWS, (COL_OBJECT_P_SIZE + DATA_OBJECT_P_SIZE + INDEX_OBJECT_P_SIZE + LONG_OBJECT_P_SIZE + LOB_OBJECT_P_SIZE + XML_OBJECT_P_SIZE) as TAB_ALLOC_KB, (COL_OBJECT_L_SIZE + DATA_OBJECT_L_SIZE + INDEX_OBJECT_L_SIZE + LONG_OBJECT_L_SIZE + LOB_OBJECT_L_SIZE + XML_OBJECT_L_SIZE) as TAB_USED_KB, DICTIONARY_SIZE AS DICT_P_SIZE, DATA_OBJECT_P_SIZE AS DATA_P_SIZE, INDEX_OBJECT_P_SIZE AS INDEX_P_SIZE, LOB_OBJECT_P_SIZE AS LOB_P_SIZE, LONG_OBJECT_P_SIZE AS LONG_P_SIZE, XML_OBJECT_P_SIZE AS XML_P_SIZE, DATA_OBJECT_L_SIZE AS DATA_L_SIZE, INDEX_OBJECT_L_SIZE AS INDEX_L_SIZE, LOB_OBJECT_L_SIZE AS LOB_L_SIZE, LONG_OBJECT_L_SIZE AS LONG_L_SIZE, XML_OBJECT_L_SIZE AS XML_L_SIZE from syscat.tables TAB join sysibmadm.admintabinfo ADMTI on TAB.tabname=ADMTI.tabname and TAB.tabschema=ADMTI.tabschema where TAB.TABSCHEMA IN ('DBO','SAM','ADM') order by TABSCHEMA, TABNAME with ur"
-
- Comment identifier les pages utilisées dans un espace de table
Que faire ensuite
db2advis). Elle vous aide à trouver de nouveaux index susceptibles d'améliorer les performances de la base de données. L'assistant de conception utilise la sortie des moniteurs DB2 pour suggérer la création de nouveaux index. Les suggestions sont basées sur les requêtes trouvées dans les superviseurs. Pour plus d'informations sur Design Advisor, consultez la documentation DB2 :