La conservación de datos le permite controlar cómo aparecen los datos en la base de datos de destino cuando modifica las estructuras de datos o en los metadatos, o cuando migra datos de una tabla a otra.
Optim Database
Administrator soporta
alters ampliados. Los alters ampliados son necesarios cuando no se puede utilizar una sentencia ALTER
para implementar los cambios fácilmente. Un alter ampliado guarda y conserva los datos de la tabla,
descarta la tabla, vuelve a crearla y, posteriormente, vuelve a cargar lo datos. Además, también es necesario guardar y conservar los datos cuando migra datos de una tabla a otra.
Al pulsar el enlace Previsualizar mandatos en el
Editor de scripts de gestión de cambios, Optim Database
Administrator genera los mandatos para los cambios. Además, el producto genera automáticamente
mandatos de descarga y recarga cuando detecta mandatos de descarga y recarga al detectar que los datos
han de conservarse. Los mandatos de mantenimiento de DB2
se generan también automáticamente. Entonces puede pulsar Opciones de datos para iniciar el asistente para
Personalizar conservación de datos si desea modificar los mandatos. El asistente le guía a través del proceso de modificar los métodos de descarga y recarga que debe utilizar, de modificar los mandatos de descarga y los mandatos de recarga, y de cambiar los mandatos de mantenimiento de DB2 generados.
La conservación de datos resulta útil en las siguientes situaciones:
- Cuando elimina una tabla
- Cuando elimina una tabla, es posible que desee almacenar los datos de la tabla en un archivo para su futuro uso, sobre todo en caso que necesite deshacer los cambios.
- Cuando crea una tabla
- Al crear una tabla, es posible que desee llenar la tabla con datos procedentes
de otra tabla. Puede migrar datos a la tabla utilizando la
acción Migrar datos del elemento de menú Gestión
de cambios. Después, puede personalizar los datos que desea cargar
pulsando Opciones de datos en la
sección Mandatos del Editor de scripts de gestión
de cambios. Se inicia el asistente para Personalizar conservación de datos. El asistente le guiará en el proceso de correlacionar los datos que
desea descargar de una tabla y cargar en la nueva tabla.
Consejo: Para llenar una nueva tabla con datos
de un archivo, puede utilizar el programa de utilidad LOAD o IMPORT. En la Lista de objetos, pulse con el botón derecho en la nueva tabla y seleccione la acción adecuada en el menú.
- Cuando realiza un cambio destructivo
- Cuando realiza un cambio para el que es necesario descargar y volver a crear una tabla,
deberá descargar los datos de la tabla y volverlos a cargar.
- Migrar datos de una tabla a otra
- Cuando migra datos, necesita descargar los datos desde la tabla de origen y
recargarlos en la tabla de destino.
En la página Información de descarga y recarga del asistente para Personalizar
conservación de datos, puede realizar varias acciones.
Puede seleccionar una tabla y elegir el recuadro de selección Cambiar consulta para personalizar el mandato de descarga para la tabla. De forma similar, puede marcar el recuadro de selección Cambiar correlación para personalizar
el mandato de recarga. Se muestran otras páginas del asistente que le ayudarán a personalizar los mandatos de descarga y recarga.
Es necesario personalizar los mandatos de cambio de conservación de datos para desplegar correctamente ciertos cambios.
Restricción: Cuando genera mandatos de cambio, siempre se vuelve a generar entradas de conservación de datos predeterminadas. Los mandatos de conservación de datos anteriormente generados no se incorporan como parte de la reejecución del asistente para Personalizar conservación de datos.
Métodos de mandatos de descarga y recarga
Optim Database
Administrator da soporte a distintos métodos para descargar y recargar datos. Puede elegir y personalizar
el método utilizado para descargar y recargar operaciones en la página
Especificar información de descarga y recarga de datos del
asistente para Personalizar conservación de datos.
El tipo de método de mandato de descarga
que elija determina si la conservación de datos es externa o interna, tal como muestra la tabla siguiente:
Tabla 1. Métodos de descarga soportados y tipo de conservación de datosProveedor de descarga |
Tipo de conservación de datos |
Formato de datos EXPORT para DEL |
Externa |
Formato de datos EXPORT IXF |
Externa |
High Performance Unload (mandatos de descarga HPU de DB2) |
Externa |
Proveedor de conservación de datos interna |
Interna |
Proveedor de cursor de conservación de datos interna |
Interna |
Son la conservación de datos externa, los datos se guardan en archivos externos. Los datos se descargan en archivos externos con mandatos Export o HPU de DB2.
Los datos se recargan de los archivos externos con mandatos Import o Load, en función del método de mandato de recarga que elija. Al migrar datos de una tabla a otra, debe utilizar la conservación de datos externa, puesto que los datos deben guardarse en un archivo externo.
Con la conservación de datos interna, los datos se guardan internamente dentro de la base de datos. Cuando una tabla se modifica, se cambia el nombre de la tabla en la base de datos para crear una tabla duplicada. Una vez la tabla se ha vuelto a crear, los datos se mueven de la tabla duplicada a la tabla recreada y modificada. Los datos se trasladan mediante sentencias INSERT o utilizando
una carga desde cursor, dependiendo del método de mandato de
descarga que seleccionó.
De forma predeterminada, al nombre de las tablas duplicadas se antepone el prefijo 'SHAD_'. Si ya existe una tabla con ese nombre, ésta se elimina antes de crear la tabla duplicada. Puede personalizar las opciones de los métodos de descarga interna para especificar que se utilice otro prefijo o para crear la tabla duplicada con otro prefijo si ya existe una con dicho nombre.
La conservación de datos interna puede resultar más rápida que la conservación externa porque no es necesaria E/S en archivos. Sin embargo, asegúrese de disponer de suficiente espacio en la base de datos cuando utilice la conservación de datos interna.
Requisito: Para especificar High Performance Unload como método de descarga, debe estar instalado High Performance Unload (HPU) de
DB2 para Multiplataformas o High Performance Unload (HPU) de DB2 para Grupos de trabajo. De lo contrario, los mandatos de descarga generados fallarán. Estos productos se venden e instalan por separado.
Cuando se recargan datos en una tabla que tiene un
desencadenante, el desencadenante solamente se activa si los
datos se recargan mediante mandatos Import o desde un archivo de
datos mediante sentencias INSERT. El desencadenante no se activa
cuando los datos se recargan mediante mandatos Load o desde un
archivo de datos utilizando una carga desde cursor porque el
programa de utilidad Load no puede aplicar las reglas de negocio
que están asociadas a un desencadenante. Si no desea que se activen desencadenantes, utilice mandatos
Load (o carga desde cursor) o modifique los mandatos de cambio
generados para que los desencadenantes se creen una vez cargados
los datos.
Importante: Si elige un método de recarga que
activa desencadenantes, compruebe el archivo de
mandatos de cambio para verificar el orden en el que
se recargan los datos. Optim Database
Administrator no recarga
automáticamente los datos de un modo que activa los desencadenantes en la forma prevista
Técnicas avanzadas de conservación de datos
Las técnicas avanzadas de conservación de datos incluyen:
- Eliminación de columnas
- La eliminación de columnas se puede gestionar fácilmente, personalizando los mandatos de descarga y recarga generados. Puede cambiar los mandatos para asegurarse de que los datos de
las columnas eliminadas se conserven. Puede personalizar el
mandato de recarga para asegurarse de que las columnas
descargadas se correlacionen correctamente con las columnas
recargadas.
- Adición de columnas NOT NULL
- La adición de columnas NOT NULL resulta sencilla para las columnas que tienen un valor predeterminado. Si una columna no tiene ningún valor predeterminado, personalice la cláusula SELECT en el mandato
de descarga en la página Personalizar mandatos de descarga del asistente para
Personalizar conservación de datos.
- Utilización de la función Auto Cast
- Si existe discrepancia entre los tipos de datos de las
columnas de descarga y recarga, puede utilizar la función Auto
Cast para resolver la discrepancia. Cuando selecciona
Auto Cast en la página Información de descarga y recarga o en la
página Personalizar mandatos de descarga
del asistente para Personalizar conservación de datos,
Optim Database
Administrator añade
automáticamente una función de columna CAST en la cláusula SELECT
de la sentencia de exportación o descarga. Puede seleccionar Consulta predeterminada
para revertir a la cláusula SELECT predeterminada.
Restricción: Cualquier cambio adicional que realice
en la cláusula SELECT se perderá al seleccionar las
opciones Conversión automática o Consulta predeterminada.
Mandatos de mantenimiento de DB2
A lo largo del proceso de gestión de cambios, es posible que determinados paquetes de
base de datos pasen a ser no operativos y que las estadísticas devengan incorrectas. Por ejemplo, DB2 marca los paquetes como no
válidos o no operativos cuando el usuario elimina objetos. Puede necesitar emitir mandatos de revinculación para volver a
crear los paquetes de acuerdo con las estadísticas más actuales. Los mandatos de mantenimiento de DB2 incluyen:
- Mandatos Runstats
- Es importante regenerar estadísticas después de
modificar una base de datos o cargar datos en tablas.
- Mandatos Reorg
- Cuando se modifica una tabla es conveniente
reorganizar todos los índices. También debe reorganizar todas
las tablas e índices cuando se modifica un espacio de tabla. Optim Database
Administrator emitirá
mandatos REORG TABLE como valor predeterminado al aplicar ingeniería directa a un modelo, a menos que borre esta
opción en la página Mandatos de mantenimiento del asistente para Personalizar conservación de datos. Optim Database
Administrator también
generará automáticamente mandatos runstats para renovar las estadísticas después de que se reorganice
una tabla. También debe revincular todos los paquetes de
aplicación para sacar provecho de los datos reorganizados.
Para obtener más información sobre el impacto de los mandatos
reorg, consulte el manual Consulta de mandatos de DB2.
- Mandatos de revinculación
- Necesitará revincular paquetes si los mandatos de cambio
contienen las siguientes sentencias DROP:
- TABLE
- TRIGGER
- MQT
- UDF
- VIEW
- ALIAS
- INDEX
- STRUCTURE TYPE
Si está realizando varios cambios, deberá
revincular los paquetes para mejorar el rendimiento. Optim Database
Administrator genera
mandatos de revinculación para los paquetes afectados por los
cambios definidos en el script de gestión de cambios.
- Mandatos para vaciar la antememoria de paquetes
- Una vez que se hayan actualizado las estadísticas, vacíe
la antememoria de paquetes para que las sentencias de SQL dinámicas utilicen estadísticas actualizadas, lo
cual mejorará el rendimiento.