Ejemplos de copia de datos en la base de datos preparada para la producción

Los ejemplos siguientes ilustran cómo puede copiar tablas de la base de datos de producción alos datos preparados para la producción. Es importante recordar que puede utilizar el programa de utilidad stagingcopy si las solicitudes de presupuestos (RFQ) están en el sistema de producción.

Ejemplo 1

Nota: Escriba el programa de utilidad en una sola línea. Los programas de utilidad se muestran en más de una línea sólo por motivos de presentación.

Después de limpiar los datos preparados, copie la base de datos de producción en los datos preparados para la producción con el ámbito establecido en all:

  1. Abra la Utility server Docker container.
  2. Escriba el mandato siguiente:
    • DB2./stagingcopy.sh -scope _all_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype db2
    • Oracle./stagingcopy.sh -scope _all_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype oracle
  3. Examine el archivo stagingcopy_yyyy.mm.dd_hh.mm.ss.zzz.log para verificar que el programa de utilidad se ha ejecutado satisfactoriamente.
Para especificar el nombre del archivo de anotaciones y la vía de acceso, utilice el parámetro de archivo de anotaciones:
  • DB2./stagingcopy.sh -scope _all_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype db2 -log log_file_name
  • Oracle./stagingcopy.sh -scope _all_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype oracle -log log_file_name

Si las opciones sourcedb_passwd y destdb_passwd no se proporcionan, se solicitarán al usuario en la línea de mandatos.

Ejemplo 2

Después de limpiar las tablas de comerciante de los datos preparados para la producción, copie las tablas relacionadas con el comerciante de la base de datos de producción a los datos preparados para la producción:

  1. Abra la Utility server Docker container.
  2. Escriba el mandato siguiente:
    • DB2./stagingcopy.sh -scope _merchant_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype db2
    • Oracle./stagingcopy.sh -scope _merchant_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype oracle
  3. Examine el archivo de stagingcopy_yyyy.mm.dd_hh.mm.ss.zzz.log para verificar que el programa de utilidad se ha ejecutado satisfactoriamente.
Para limpiar únicamente los datos preparados para la producción, especifique el parámetro -cleanup_stage_db:
  • DB2./stagingcopy.sh -scope _all_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype db2 -cleanup_stage_db only
  • Oracle./stagingcopy.sh -scope _all_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype oracle -cleanup_stage_db only
Para copiar datos únicamente, especifique el parámetro -cleanup_stage_db no:
  • DB2
    ./stagingcopy.sh -scope _merchant_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password 
         -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype db2 -cleanup_stage_db only
    ./stagingcopy.sh -scope _site_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password -destdb staging_database_name 
         -destdb_user user -destdb_passwd password -dbtype db2 -cleanup_stage_db only
    ./stagingcopy.sh -scope _site_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password -destdb staging_database_name 
         -destdb_user user -destdb_passwd password -dbtype db2 -cleanup_stage_db no
    ./stagingcopy.sh -scope _merchant_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password -destdb staging_database_name 
         -destdb_user user -destdb_passwd password -dbtype db2 -cleanup_stage_db no
  • Oracle
    ./stagingcopy.sh -scope _merchant_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password 
         -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype oracle -cleanup_stage_db only
    ./stagingcopy.sh -scope _site_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password 
         -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype oracle -cleanup_stage_db only
    ./stagingcopy.sh -scope _site_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password 
         -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype oracle -cleanup_stage_db no
    ./stagingcopy.sh -scope _merchant_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password 
         -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype oracle -cleanup_stage_db no
Nota: La supresión de las tablas de sitio puede afectar a las tablas de comerciante. Siempre borre los datos de comerciante en primer lugar, seguidos por los datos del sitio: En primer lugar, copie los datos del sitio y, a continuación, los datos del comerciante.

Ejemplo 3

Después de limpiar las tablas de sitio de los datos preparados, copie las tablas de sitio de la base de datos de producción en la etapa de la base de datos.
  1. Abra la Utility server Docker container.
  2. Escriba el mandato siguiente:
    • DB2./stagingcopy.sh -scope _site_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype db2
    • Oracle./stagingcopy.sh -scope _site_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype oracle
  3. Examine el archivo de stagingcopy_yyyy.mm.dd_hh.mm.ss.zzz.log para verificar que el programa de utilidad se ha ejecutado satisfactoriamente.
La supresión de las tablas del sitio puede afectar a las tablas del comerciante debido a la restricción de la supresión en cascada. En primer lugar, borre los datos de comerciante, seguidos por los datos del sitio y, a continuación, copie los datos:
  • DB2
    • LinuxAIXFor IBM i OS operating system
      • stagingcopy.sh -scope _site_ -sourcedb production_database_name -destdb staging_database_name -cleanup_stage_db only -sourcedb_user user -destdb_user user
      • stagingcopy.sh -scope _site_ -sourcedb production_database_name -destdb staging_database_name -cleanup_stage_db no -sourcedb_user user -destdb_user user
      • stagingcopy.sh -scope _merchant_ -sourcedb production_database_name -destdb staging_database_name -cleanup_stage_db no -sourcedb_user user -destdb_user user
      • stagingcopy.sh -scope _merchant_ -sourcedb production_database_name -destdb staging_database_name -cleanup_stage_db only -sourcedb_user user -destdb_user user
  • Oracle
    • AIX
      • stagingcopy.sh -scope _merchant_ -sourcedb production_database_name -destdb staging_database_name -cleanup_stage_db only dbtype oracle -sourcedb_user user -sourcedb_passwd password -destdb_user user -destdb_passwd password
      • stagingcopy.sh -scope _site_ -sourcedb production_database_name -destdb staging_database_name -cleanup_stage_db no dbtype oracle -sourcedb_user user -sourcedb_passwd password -destdb_user user -destdb_passwd password
      • stagingcopy.sh -scope _merchant_ -sourcedb production_database_name -destdb staging_database_name -cleanup_stage_db no dbtype oracle -sourcedb_user user -sourcedb_passwd password -destdb_user user -destdb_passwd password
LinuxAIX

Ejemplo 4

Genere el script siguiente para limpiar y copiar la base de datos de producción a la base de datos de transición con "scope" establecido en "all".

  1. Abra la Utility server Docker container.
  2. Escriba el mandato siguiente:
    • DB2./stagingcopy.sh -scope _all_ -sourcedb production_database_name -sourcedb_user user -sourcedb_passwd password -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype db2 -script_file stage_copy.sql
    • Oracle./stagingcopy.sh -scope _all_ -sourcedb production_database_name -sourcedb_user user -script_file stage_copy.sql -sourcedb_passwd password -destdb staging_database_name -destdb_user user -destdb_passwd password -dbtype oracle -script_file stage_copy.sql
  3. Examine el archivo de stagingcopy_yyyy.mm.dd_hh.mm.ss.zzz.log para verificar que el programa de utilidad se ha ejecutado satisfactoriamente.

El programa de utilidad stagingcopy genera el stage_copy.sql para limpiar y copiar la base de datos.

Copie los archivos siguientes en el servidor de bases de datos:
  • stage_copy.sql
  • utilities_root/schema/9.0.0.0/dbtype/wcs.stage.trigger.sql
  • utilities_root/schema/9.0.0.0/dbtype/wcs.droptrigger.sql
Donde dbtype es db2 u Oracle.
DB2 Ejecute los scripts siguientes:
  1. LinuxEspecifique su - WC_non_root_user, donde WC_non_root_user es el usuario no raíz en el que se ejecuta HCl Commerce. El valor de WC_non_root_user suele ser wasuser.
  2. Abra una ventana de mandatos DB2 y escriba lo siguiente:
    • db2 -vtd# -f wcs.droptrigger.sql
    • db2 -vtd# -f stage_copy.sql
    • db2 -vtd# -f wcs.stage.trigger.sql
Oracle Ejecute los scripts siguientes:
  1. Inicie la sesión.
  2. Abra una ventana de SQLPlus.
  3. Conéctese como DBA y escriba:
    • @wcs.droptrigger.sql
    • @stage_copy.sql
    • @wcs.stage.trigger.sql