Configuración del programa de utilidad de limpieza de base de datos para eliminar más tablas y columnas

El programa de utilidad de Limpieza de base de datos también puede configurarse. Puede definir tablas y filas para borrarlas además de las configuraciones de limpieza que se han definido de forma predeterminada. Puede definir tablas y filas para eliminarlas actualizando los datos de configuración del programa de utilidad en la tabla CLEANCONF. Para ampliar el programa de utilidad de limpieza de base de datos, especifique los valores para los parámetros jdbcDriver y jdbcUrlPrefix cuando ejecute este programa de utilidad.

Por qué y cuándo se efectúa esta tarea

Si amplía el esquema de base de datos creando tablas, puede utilizar el programa de utilidad de limpieza de base de datos para borrar las tablas nuevas. Si cambia el esquema de base de datos, debe revisar y posiblemente modificar o añadir sentencias SQL en la tabla CLEANCONF para que el programa de utilidad se comporte correctamente en el nuevo esquema. Por ejemplo, si añade columnas a una tabla, cambie una relación de clave primaria de clave foránea, o añada una tabla hijo a la vía de acceso de integridad referencial.
Nota: Cree configuraciones de limpieza en lugar de modificar las configuraciones existentes. Al crear configuraciones, los cambios no se pierden cuando se aplican arreglos de mantenimiento.

Para añadir una configuración de limpieza para el programa de utilidad de limpieza de base de datos, utilice la siguiente sintaxis como referencia. Las siguientes sentencias configuran el programa de utilidad de limpieza de base de datos para eliminar todos los objetos con column_1 > 10 y donde lastupdate es n días antes. En las siguientes sentencias de ejemplo, el objeto object_1 consta de la tabla Table_1, que contiene las siguientes columnas: column_1, column_2, lastupdate y column_3.

Procedimiento

Ejecute la sentencia SQL siguiente:
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')
Donde:
?
se sustituye por el valor para el parámetro -days que se incluye en la línea de mandatos cuando se ejecuta el programa de utilidad.
No
Indica que el parámetro name no se utiliza en la sentencia.
Indica que el parámetro -days se utiliza en la sentencia.
obsolete
Describe el tipo de limpieza para el objeto object_1.

Puede utilizar otros valores, pero debe utilizar el mismo valor en el argumento -type al ejecutar el programa de utilidad de limpieza de base de datos.

Ejemplo: para ejecutar el programa de utilidad de limpieza de base de datos para borrar los registros de la tabla nueva que tienen dos días de antigüedad, ejecute el siguiente script:

DB2
./dbclean.sh -object o1 -db dbname -dbuser user -type obsolete -days 2 -loglevel LOGLEVEL
Donde LOGLEVEL  es uno de:
  • NONE
  • ERROR
  • WARNING
  • NORMAL
  • INFO
  • VERBOSE
  • DEBUG (el valor predeterminado)
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
Para el parámetro dbname, utilice
host:port:sid
por ejemplo, myhost:1521:mydb.