Configuration de l'utilitaire de base de données de nettoyage pour effacer plus de tables et de colonnes

L'utilitaire de nettoyage de la base de données est configurable. Vous pouvez définir des tables et des lignes à nettoyer, en plus des configurations de nettoyage qui sont définies par défaut. Vous pouvez définir des tables et des lignes à supprimer en mettant à jour les données de configuration de l'utilitaire dans la table CONFCLEAN. Pour étendre l'utilitaire de nettoyage de la base de données, spécifiez des valeurs pour les paramètres jdbcDriver et jdbcUrlPrefix lors de son exécution.

Pourquoi et quand exécuter cette tâche

Si vous étendez votre schéma de base de données en créant des tables, vous pouvez vous servir de l'utilitaire de nettoyage de la base de données pour nettoyer vos nouvelles tables. Si vous modifiez votre schéma de base de données, vous devez examiner et, éventuellement, modifier ou ajouter des instructions SQL dans la table CLEANCONF afin que l'utilitaire se comporte correctement dans le nouveau schéma. Par exemple, si vous ajoutez des colonnes à une table, modifiez une relation de clé primaire clé externe, ou ajoutez une table enfant au chemin de l'intégrité référentielle.
Remarque : Créez des configurations de nettoyage au lieu de modifier les configurations existantes. En créant des configurations, les modifications ne sont pas perdues lorsque vous appliquez les correctifs de maintenance.

Pour ajouter une configuration de nettoyage à l'utilitaire de nettoyage de base de données, utilisez la syntaxe suivante comme référence. Les instructions suivantes configurent l'utilitaire de nettoyage de base de données pour supprimer tous les objets avec column_1 > 10, et où lastupdate est n jours auparavant. Dans les instructions exemples suivantes, l'objet object_1 se compose de la table Table_1, qui contient les colonnes suivantes : column_1, column_2, lastupdate et column_3.

Procédure

Exécutez l'instruction SQL suivante :
For IBM i OS operating system
insert into cleanconf (objectname, type, statement, namearg, sequence, daysarg) values 
('object_1', 'obsolete', 'delete from Table_1 where column_1 > 10 and (days(CURRENT TIMESTAMP) - days(lastupdate)) > ?', 'no', 1, 'yes')
DB2
db2 insert into cleanconf (objectname, type, statement, namearg, sequence, daysarg) 
values ('object_1', 'obsolete', 'delete from Table_1 where column_1 > 10 and (days(CURRENT TIMESTAMP)
- days(lastupdate)) > ?', 'no', 1, 'yes')
Oracle
insert into cleanconf (objectname, type, statement, namearg, sequence, daysarg) values 
('object_1', 'obsolete', 'delete from Table_1 where column_1 > 10 and (sysdate - lastupdate) > ?', 'no', 1, 'yes')
où :
?
Est remplacé par la valeur du paramètre -days inclus dans la ligne de commande lorsque vous exécutez l'utilitaire.
non
Indique que le paramètre name n'est pas utilisé dans l'instruction.
oui
Indique que le paramètre -days est utilisé dans l'instruction.
obsolete
Décrit le type de nettoyage de l'objet object_1.

Vous pouvez utiliser d'autres valeurs, mais vous devez utiliser la même valeur dans l'argument -type lorsque vous exécutez l'utilitaire de nettoyage de base de données.

Exemple : pour exécuter l'utilitaire de nettoyage de base de données pour nettoyer les enregistrements existants depuis deux jours de la nouvelle table, exécutez le script suivant :

DB2
./dbclean.sh -object o1 -db dbname -dbuser user -type obsolete -days 2 -loglevel LOGLEVEL
LOGLEVEL  est l'une des valeurs suivantes :
  • NONE
  • ERROR
  • WARNING
  • NORMAL
  • INFO
  • VERBOSE
  • DEBUG (la valeur par défaut)
AIXOracle
./dbclean.sh -object o1 -db dbname -type obsolete -days 2 -loglevel 1 -dbtype oracle -dbuser user -dbpasswd password
WindowsOracle
dbclean -object o1 -db dbname -type obsolete -days 2 -loglevel 1 -dbtype oracle -dbuser user -dbpasswd password
Pour le paramètre dbname, utilisez :
host:port:sid
par exemple, myhost:1521:mydb.