El programa de utilidad de Copia de transición copia datos de la base de datos de producción a la base de datos de transición. Puede copiar datos de tablas relacionados con el sitio, tablas relacionadas con el comerciante o tablas individuales. También puede limpiar la base de datos de transición antes de ejecutar el programa de utilidad de Copia de transición utilizando el parámetro cleanup_stage_db en la sintaxis del mandato. Si especifica yes, el programa de utilidad de Copia de transición limpiará todas las tablas de transición antes de copiar los datos. Esto puede afectar a otras tablas con la supresión en cascada. Si especifica no, el programa de utilidad de Copia de transición no suprimirá nada de las tablas de transición. Puede que la copia falle si los datos de copia generan un conflicto o duplican una clave en la clave primaria o los índices exclusivos. Si desea utilizar el programa de utilidad de Copia de transición sólo para limpiar la base de datos de transición, especifique only.
El programa de utilidad de Copia de transición y el programa de utilidad de Propagación de transición dividen los datos de la base de datos en dos niveles de ámbito: relacionado con el sitio y relacionado con el comerciante. El ámbito de sitio incluye datos comunes a todos los comerciantes del sistema. Por ejemplo, el código de idioma y país o región utilizado por el sistema. El ámbito de comerciante incluye datos relacionados con comerciantes individuales. Por ejemplo, la información sobre la tienda se personaliza para comerciantes individuales, y las filas de las tablas de tienda podrían ser específicas para cada comerciante. Algunas tablas de base de datos contienen información de sitio y de comerciante. Si establece el parámetro scope en _all_ durante la ejecución del programa de utilidad de Copia de transición, se copiarán los datos del sitio, seguidos de todos los datos del comerciante. Si establece el ámbito en _site_, sólo se copiarán los datos de sitio. Si establece el ámbito en _merchant_, sólo se copiarán los datos de comerciante. Tenga en cuenta que no puede copiar datos para un comerciante individual, sólo para todos los comerciantes. Si no establece el ámbito en _all_, copie los datos de sitio antes que los datos de comerciante puesto que los datos de sitio los utilizan todos los comerciantes. De lo contrario, la copia fallará debido a una discrepancia entre la clave externa y la clave primaria. Cuando utilice cleanup_stage_db para limpiar los datos del sitio, tenga en cuenta que los datos del comerciante pueden suprimirse debido a la supresión en cascada. Debería limpiar los datos de comerciante seguidos de los datos de sitio, y luego copiar los datos de sitio seguidos de los datos de comerciante si no establece el ámbito en _all_.
Otra opción del programa de utilidad de Copia de transición es el parámetro script_file. Si especifica un nombre de archivo script, el programa de utilidad de Copia de transición genera un archivo script SQL que utiliza la exportación y la importación para copiar la base de datos de producción en la base de datos de transición basándose en el ámbito especificado. También se generan sentencias de supresión para limpiar la base de datos de transición si utiliza el valor por omisión o establece cleanup_stage_db en yes. El archivo script está ubicado en el directorio donde se inicia el programa de utilidad de Copia de transición. El archivo script acelera el proceso de copia de base de datos utilizando la exportación y la importación. También puede modificar el comportamiento del programa de utilidad de Copia de transición cambiando el archivo script generado. Por ejemplo, puede cambiar el archivo script para utilizar el programa de utilidad de carga de DB2 en lugar del programa de utilidad de importación, que aún acelerará más el proceso de copia. Tenga en cuenta que el script generado exporta todas las tablas al directorio donde se ejecuta el programa de utilidad. Asegúrese de tener suficiente espacio en disco.
Es importante comprender el ámbito de la transacción. Cuando se limpia la base de datos de transición, el programa de utilidad de Copia de transición compromete la transacción después de limpiar cada tabla. Cuando se copian los datos, el programa de utilidad de Copia de transición compromete la transacción después de copiar cada tabla y de sincronizar la tabla KEYS. Para los scripts generados, el ámbito de la transacción es ligeramente diferente debido al programa de utilidad de importación de DB2. El programa de utilidad de importación de DB2 compromete automáticamente la transacción después de finalizar la importación. La transacción se compromete antes de sincronizar la tabla KEYS. En consecuencia, la sincronización de la tabla KEYS se realiza en una transacción independiente.
Puede especificar una tabla a limpiar o copiar utilizando el parámetro dbtable. Tenga en cuenta que cuando especifique la tabla que se se ha de limpiar o copiar, puede que la tabla no esté aislada. Ciertas tablas están relacionadas entre sí mediante restricciones de referencia. Si limpia una tabla especificada, también se limpiarán las tablas hijo debido a la supresión en cascada. Si copia una tabla especificada, debería copiar primero la tabla padre. De lo contrario, la limpieza o la copia fallará.
El programa de utilidad de Copia de transición es configurable y ampliable. Para manejar sus tablas personalizadas, existen algunas condiciones que las tablas deben cumplir y que debe establecer en las tablas de configuración de transición. Para obtener detalles, consulte Configurar el servidor de transición para tablas personalizadas. Para poder utilizar el programa de utilidad de Copia de transición, deberá seguir los pasos de Configurar la base de datos. El programa de utilidad de Copia de transición suprime todos los registros de la tabla STAGLOG si el mandato se ejecuta satisfactoriamente.
Nota: No puede utilizar el mandato de Copia de transición si existen RFQ en el sistema. Para obtener más información, consulte Limitaciones del servidor de transición.
![]() |