Programa de utilidad stagingcopy

El programa de utilidad stagingcopy copia datos de la base de datos de producción a los datos preparados para la producción en un entorno de transición o de autoría.

Importante:
  • Los entornos de transición y producción deben estar en el mismo nivel de mantenimiento para ejecutar satisfactoriamente el programa de utilidad stagingprop.
  • Si el sitio utiliza el programa de utilidad de canal de información web, exporte el contenido de la tabla CMFEEDLOG, a continuación impórtelo después de que se complete el programa de utilidad stagingcopy.
    • DB2
      export to /backupdata/cmfbackup.del of del select * from cmfeedlog
      import from /backupdata/cmfbackup.del of del insert into cmfeedlog
      
      Para obtener más información, consulte EXPORT command y IMPORT command.
    • Oracle
      exp userid/password FILE=cmfeedlog.dmp TABLES=cmfeedlog
      imp userid/password FILE=cmfeedlog.dmp FROMUSER=userid TABLES=cmfeedlog  IGNORE=Y
      Para obtener más información, consulte la documentación del producto Oracle.
  • OracleSi el registro de archivado está habilitado, si se ejecuta el programa de utilidad stagingcopy puede dar como resultado un aumento no lineal en la cantidad de espacio de disco que utiliza la base de datos de destino. La cantidad de espacio de disco que utilizan los registros de archivado puede tener un tamaño final de hasta 4 a 8 veces el tamaño final de la base de datos. Asegúrese de que supervisa el tamaño del sistema de archivos para evitar quedarse sin espacio de disco para la base de datos de destino.
stagingcopy Diagrama de sintaxis del programa de utilidad.

Valores de parámetros

dbtype
Opcional.
  • DB2Especifique DB2. DB2 es el tipo de base de datos predeterminado y puede omitir el parámetro dbtype del mandato.
  • OracleEspecifique Oracle.
scope
Se necesita: El nivel de ámbito para la copia en el entorno de transición o de autoría. Especifique uno de los niveles siguientes:
_all_
Copia ambos registros que están relacionados con el sitio y con todos los comerciantes. Los registros se copian en el orden siguiente:
  1. Los registros de sitio se copian de STGSITETAB
  2. Los registros de sitio se copian de STGMRSTTAB
  3. Los registros de comerciante se copian de STGMERTAB
  4. Los registros de comerciante se copian de STGMRSTTAB
_site_
Solo copia registros relacionados con el sitio. Estos registros son datos comunes para todos los comerciantes. Por ejemplo, el idioma y país o código de país que utiliza el sistema. Estos datos proceden de la tabla STGSITETAB.
_merchant_
Solo copia los registros que están relacionados con comerciantes individuales. Por ejemplo, la información sobre la tienda está personalizada para comerciantes individuales y las filas de las tablas de tienda podrían ser específicas para cada comerciante. Debe copiar todos los datos para todos los comerciantes, no solo los datos para un comerciante individual. Estos datos provienen de la tabla STGMERTAB.

Si no establece su ámbito en _all_:

  • Copie los datos del sitio antes que los datos de comerciantes, puesto que los datos del sitio los utilizan todos los comerciantes. De lo contrario, la copia fallará debido a una discrepancia entre las claves externa y primaria.
  • Cuando utilice el parámetro cleanup_stage_db para borrar los datos del sitio, los datos de comerciante se pueden eliminar también debido a la característica de supresión en cascada. Borre los datos de comerciante, seguidos por los datos del sitio y, a continuación, copie los datos del sitio y después los datos de comerciante.
Nota:
  • Solo se hace referencia a estas tablas desde el entorno de transición o de autoría, no de producción.
  • Los datos de la tabla MEMBER no se limpian para los miembros de usuario: Registros de tabla de MEMBER con el valor de columna TYPE de 'U'. Sin embargo, si hay restricciones de clave foránea CASCADE DELETE, la limpieza de miembros no de usuarios puede producir la pérdida de datos en tablas que conservan relaciones con miembros de usuario. Por ejemplo, MBRREL, MBRGRPMBR y MBRROLE. Si la información en estas tablas de relación debe mantenerse, asegúrese de que existe una copia de seguridad de la base de datos de destino (transición o autoría).
dbtable
El nombre de la tabla específica que se debe copiar. Todos los registros en esta tabla se copian, siempre que los registros estén dentro del ámbito que ha especificado el parámetro scope; de lo contrario, no se copia ningún registro.
sourcedb
Se necesita: El nombre de la base de datos del entorno de producción.
s debe ser un URL de JDBC completo y válido, o seguir con el convenio de nombres de base de datos de Tipo 4:
  • DB2db_server:db_port/db_name.

Si utiliza script_file, considere establecer también script_sourcedb.

sourcedb_user
Se necesita: El ID de inicio de sesión del administrador de la base de datos que creó el esquema de la base de datos de origen.
sourcedb_passwd
Se necesita: La contraseña del ID de conexión especificada por el parámetro sourcedb_user.
sourcedb_schema
Opcional: Especifica el esquema en la base de datos de origen donde se llevaron a cabo todas las operaciones. Concretamente, este esquema debe tener todos los objetos de base de datos que son necesarios para una instancia de HCL Commerce activa. Si no se especifica, este valor tiene, de forma predeterminada, el esquema activo en la base de datos de origen cuando se establece una conexión.
destdb
Se necesita: El nombre de la base de datos en el entorno de transición.
s debe ser un URL de JDBC completo y válido, o seguir con el convenio de nombres de base de datos de Tipo 4:
  • DB2db_server:db_port/db_name.

Si utiliza script_file, considere utilizar también script_destdb.

destdb_user
Se necesita: El ID de inicio de sesión del administrador de la base de datos que creó el esquema de la base de datos de puesta en escena o de autoría. Este parámetro es obligatorio cuando utilice una base de datos remota.
destdb_passwd
Se necesita: La contraseña del ID de conexión especificada por el parámetro destdb_user. Si no se ha especificado, el sistema le solicita que escriba la contraseña. Este parámetro es obligatorio cuando utilice una base de datos remota.
destdb_schema
Opcional: Especifica el esquema en la base de datos de destino donde se llevaron a cabo todas las operaciones. Concretamente, este esquema debe tener todos los objetos de base de datos que son necesarios para una instancia de HCL Commerce activa. Si no se especifica, este valor es, de forma predeterminada, el esquema activo en la base de datos de destino cuando se establece una conexión.
script_file
Opcional. Nombre del archivo de script SQL que genera el programa de utilidad stagingcopy cuando utiliza exportar e importar para copiar la base de datos de producción a los datos preparados para la producción en el ámbito especificado. El archivo script también genera las sentencias de supresión para limpiar los datos preparados para la producción si utiliza el valor predeterminado o especifica cleanup_stage_db _yes.
Existen varios requisitos previos adicionales para utilizar el parámetro script_file:
  • Antes de ejecutar el script, compruebe si tiene suficiente espacio de disco para contener las tablas exportadas. El archivo de script se encuentra en el directorio del programa de utilidad stagingcopy donde se invoca el programa de utilidad stagingcopy.
  • Antes de ejecutar el script, copie los archivos siguientes en el servidor de la 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.
  • Considere la posibilidad de establecer las opciones script_sourcedb y script_destdb con script_file.
DB2Además, antes de ejecutar el script, debe establecer la página de códigos correcta para la sesión de línea de mandatos de DB2. De lo contrario, es posible que pierda datos durante la conversión de caracteres. Puesto que la base de datos de HCL Commerce utiliza el carácter Unicode, también debe establecer la sesión de cliente de DB2 con una página de código Unicode. Este valor se puede realizar mediante el establecimiento de la variable de entorno del sistema operativo DB2CODEPAGE.
Nota: Debe terminar la sesión actual e iniciar una nueva sesión de línea de mandatos para que entre en vigor la nueva variable de entorno.
Por ejemplo,

export DB2CODEPAGE=1208
db2 terminate 
Emita los mandatos siguientes para ejecutar el archivo de script: db2 -vtd# -f wcs.droptrigger.sqldb2 -vtd# -f script_file_namedb2 -vtd# -f wcs.stage.trigger.sql

OracleEmita el siguiente mandato para ejecutar el archivo de script: sqlplus /nolog @wcs.droptrigger.sql sqlplus /nolog @script_file_namesqlplus /nolog @wcs.stage.trigger.sql

script_sourcedb
Opcional. La especificación de datos que se va a utilizar para la base de datos de origen cuando la salida de los mandatos y sentencias de base de datos se genera en el archivo que especifica script_file.

El valor predeterminado es el mismo valor que el especificado para sourcedb. Si no se especifica script_file, script_sourcedb y su valor se ignoran.

Puede establecer esta opción si el valor de sourcedb no es de un tipo que la línea de mandatos o el intérprete de archivos de la base de datos subyacente puedan entender. Por ejemplo, utilice el parámetro sourcedb para especificar la URL de JDBC. Utilice el parámetro script_sourcedb para utilizar un alias o un identificador de base de datos de origen catalogado en el archivo generado por script_file.

script_destdb
Opcional. La especificación de datos que se va a utilizar para la base de datos de destino cuando la salida de los mandatos y sentencias de base de datos se genera en el archivo que especifica script_file.

El valor predeterminado es el mismo valor que el especificado para destdb. Si no se especifica script_file, script_destdb y su valor se ignoran.

Puede establecer esta opción si el valor de destdb no es de un tipo que la línea de mandatos o el intérprete de archivos de la base de datos subyacente puedan entender. Por ejemplo, utilice el parámetro destdb para especificar la URL de JDBC. Utilice el parámetro script_destdbpara utilizar un alias o un identificador de base de datos de destino catalogado en el archivo generado por script_file.

script_prtsourcepswd
Opcional. Especifica si la contraseña para el usuario de la base de datos de origen se imprimirá con sentencias de conexión de base de datos para el archivo que script_file genera.
El valor predeterminado es false. Si no se especifica script_file, script_prtsourcepswd y su valor se ignoran.
script_prtdestpswd
Opcional. Especifica si la contraseña para el usuario de base de datos de destino se imprimirá con sentencias de conexión de base de datos para el archivo que script_file genera.
El valor predeterminado es false. Si no se especifica script_file, script_prtdestpswd y su valor se ignoran.
instance
Opcional: El nombre de instancia que es local respecto a la máquina en la que piensa ejecutar el programa de utilidad stagingcopy.
cleanup_stage_db
Opcional. Especifica si se deben limpiar las tablas de transición antes de que se copien los datos. Si no especifica este parámetro, las tablas transitorias se limpian automáticamente antes de copiar datos. Especifique uno de los valores siguientes:
Limpia las tablas de transición antes de copiar datos. Se pueden eliminar datos de comerciante debido a la supresión en cascada.
No
No limpia las tablas de transición antes de copiar datos. No se suprime nada de las tablas transitorias. Es posible que su copia no se ejecute correctamente si los datos de la copia generan una clave duplicada o conflictiva en la clave primaria o en los índices exclusivos.
solo
Limpia las tablas de transición pero no se copian datos de la base de datos de producción.

Si especifica el parámetro scope, limpie y copie los datos de comerciantes después de hacer el mismo procedimiento con los datos del sitio.

batchsize
Opcional. Activa o desactiva actualizaciones por lotes de SQL y especifica el número de registros de anotación cronológica de cambios consolidados a incluir en un lote SQL.

Si no especifica este parámetro, el parámetro batchsize se establece en un valor de 100.

Si se establece el parámetro batchsize en un valor de 0 (cero) se desactiva la actualización por lotes de SQL.

Desactive el lote SQL si publica cualquiera de los cambios siguientes de los datos preparados para la producción en el entorno de producción:
  • Utilización de un espacio de trabajo para eliminar un objeto de HCL Commerce que implica la tabla MEMBER. Esta tabla incluye objetos como usuarios, organizaciones, segmentos de cliente, grupos de miembros, grupos de territorios de cliente o grupos de precios de cliente.

Cuando la actualización de proceso por lotes de SQL está activada, los registros de anotación cronológica de cambios se clasifican por tipo de cambio (inserción, actualización o supresión). Cada lote contiene cambios de un tipo único. Por ejemplo, si tiene 102 cambios de inserción y el parámetro batchsize está establecido en 100, se crean 2 lotes SQL: un lote tiene 100 operaciones de inserción y el otro tiene dos operaciones de inserción.

Si se utilizan las actualizaciones de proceso por lotes de SQL mejorará la velocidad con la que el programa de utilidad stagingcopy actualiza la base de datos de producción.

registro
Opcional. La vía de acceso y el nombre del archivo en el que el programa de utilidad stagingcopy registra las actividades y los errores. La indicación de fecha y hora se añade al nombre del archivo, por ejemplo, myLog_yyyy.mm.dd_hh.mm.ss.zzz.log. Si este parámetro no se especifica, se crea un archivo de registro denominado stagingcopy_yyyy.mm.dd_hh.mm.ss.zzz.log en el directorio utilities_root/logs:
transacción
Opcional. Especifica el número de registros después del cual se emite una confirmación. Este número se aplica a los registros que se han modificado durante la limpieza y pasos de copia de StagingCopy.
Nota: Cuando se utiliza con script_file, transaction requiere la invocación de una sentencia SQL para estimar el número de sentencias DELETE del cual se genera una salida al archivo. Por ejemplo:
select count(*) num_recs from <tablename> [<scope-filtering-predicate>]
El número de sentencias de DELETE que se genera es 1+(num_recs/n). Se añade una confirmación después de cada sentencia DELETE.

De forma predeterminada, para cada tabla, se emite una confirmación después del paso de limpieza y una vez después del paso de copia. Los valores de n menor que o igual a 0 revierten la funcionalidad al comportamiento predeterminado.

paramfile
Opcional. Especifica la vía de acceso al archivo de parámetros que incluye argumentos de línea de mandatos y valores. Cada argumento y valor necesita estar en el formato argument=value con un solo argumento y valor en cada línea del archivo. Las contraseñas de este archivo de parámetros deben estar cifradas.