Programa de utilidad stagingprop

El programa de utilidad stagingprop propaga datos de transición y archivos gestionados de los datos preparados para producción al entorno de producción. Consolida los datos modificados de la base de datos preparada para producción y luego propaga los datos modificados necesarios a la base de datos de producción si la conexión está disponible.

El programa de utilidad stagingprop recupera todos los registros STAGLOG sin procesar y los procesa. Un registro STAGLOG sin procesar es un registro donde el valor de la columna STGPROCESSED se establece en 0. Cuando stagingprop se ejecuta satisfactoriamente, actualiza estos registros STAGLOG en la columna STGPROCESSED de sin procesar (0) a procesado (1). El programa de utilidad stagingprop tiene dos etapas: consolidación y propagación. Durante la consolidación, stagingprop examina STAGLOG y determina qué registros STAGLOG se pueden marcar como procesados sin propagación. Los registros STAGLOG procesados se propagan luego a la base de datos de producción.

Puede ejecutar la consolidación de stagingprop sin propagación con la omisión de los siguientes parámetros: destdb, destdb_user y dest_passwd. Si se proporcionan algunos de los parámetros o si el programa de utilidad stagingprop no puede establecer una conexión con la base de datos de producción con los parámetros, el programa de utilidad no se ejecuta satisfactoriamente.

También puede omitir la fase de consolidación cuando no hay ningún nuevo registro para consolidar desde la anterior ejecución de la consolidación. Cuando no hay ningún nuevo registro dentro de la tabla de base de datos STAGLOG que sea necesario consolidar, aparece un mensaje en el archivo de registro para indicar que se va a omitir dicha consolidación. Si no, la fase de consolidación se ejecuta normalmente. Un marcador de fin de consolidación marca el último registro examinado desde la fase de consolidación. Para revertir esta nueva funcionalidad para que la fase de consolidación siempre se lleve a cabo, el marcador de fin de consolidación debe eliminarse utilizando el siguiente mandato SQL:
delete from STAGLOG where stgrfnbr=-1; 
donde el valor -1 representa el marcador de fin de consolidación.

Para ejecutar el programa de utilidad stagingprop, escriba el mandato en una línea de mandatos de un sistema que pueda conectarse al entorno de transición y a la base de datos del entorno de producción.

Después de la propagación de transición, la memoria caché queda invalidada por los siguientes mecanismos:
  • La invalidación utilizando la tabla CACHEIVL, donde el mandato DynaCacheInvalidation invalida las entradas de la memoria caché dinámica basándose en el ID de dependencia, ID de memoria caché o plantilla para una página en memoria caché, registrados en la tabla CACHEIVL. El rango de invalidación de memoria caché predeterminado es de 10 minutos.
  • La invalidación mediante la ejecución directa de las clases Java configuradas en el archivo StagingPostRowPropagateConfig.properties, donde el programa de utilidad stagingprop invoca las tareas posteriores a la propagación para las tablas que está listadas en el archivo de propiedades.
Nota: HCL Commerce Version 9.1.4.0
  • HCL Commerce Version 9.1.4.0 or laterAntes de ejecutar la utilidad stagingprop por primera vez (después de crear entornos de autor y en directo), conéctese a la base de datos de autor y ejecute la siguiente sentencia. Esto ayudará a evitar que surjan excepciones de claves duplicadas debidas a los datos de las tablas de etapas de Flexnet (por ejemplo, los registros GP Value, *GPEnd *Value en la tabla STORECONF).
    update staglog set stgprocessed=1 where stgprocessed=0 and stgtable='storeconf' and stgokey3 in ('GP', 'GPEnd') and stgop='I'
  • Si el entorno de transición contiene actividades web o zonas de contenido, debe renovar el registro antes de se visualicen las actualizaciones en el sitio.
  • Los entornos de transición y producción deben estar en el mismo nivel de mantenimiento para ejecutar satisfactoriamente el programa de utilidad stagingprop. Los entornos de transición y producción también deben tener habilitadas las mismas características.
  • Puede determinar qué tablas se propagan mediante el programa de utilidad stagingprop visualizando la lista de tablas gestionadas. Para obtener más información, consulte ../tasks/tsstables.html#tsstables.
  • Optimice el rendimiento del programa de utilidad stagingprop asegurándose de que el nivel de aislamiento predeterminado para WebSphere Application Server se ha establecido en Cursor Stability. Para más información sobre cómo establecer el nivel de aislamiento predeterminado para WebSphere Application Server, consulte Changing the default isolation level for non-CMP applications and describing how to do so using a new custom property webSphereDefaultIsolationLevel.
Diagrama de sintaxis del programa de utilidad stagingprop

Valores de parámetros

dbtype
  • DB2Opcional: Especifique DB2. DB2 es el tipo de base de datos predeterminado y puede omitir el parámetro dbtype del mandato.
  • OracleSe necesita: Especifique Oracle.
scope
Opcional: El nivel de ámbito de tabla para la publicación en el entorno de producción. Utilice este parámetro para filtrar la publicación por tabla.
Especifique uno de los parámetros siguientes:
_all_
Especifique _all_ para publicar todos los registros.
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_
Especifique _site_ para publicar solo los registros relacionados con el sitio. Los registros relacionados con el sitio son datos que son 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_
Especifique _ merchant_ para publicar solo los registros relacionados con el comerciante. Por ejemplo, la información sobre la tienda está personalizada para comerciantes individuales y las filas de las tablas de la tienda son específicas de cada comerciante.
Nota: Debe copiar todos los datos para todos los comerciantes, no solo los datos para un comerciante individual. Estos datos provienen de la tabla STGMERTAB.
s
Especifique una lista de ámbito personalizado como se define en el archivo especificado por el parámetro configfile s. Si especifica un ámbito personalizado, debe especificar el parámetro configfile s. Puede especificar varias listas de ámbito separando los nombres de lista de ámbito con una carácter de barra inclinada ("/").

El programa de utilidad stagingprop sigue el orden de las tablas de base de datos en la lista o las listas proporcionadas. Al crear las listas de tablas de base de datos, asegúrese de que las tablas referenciadas aparecen en la lista antes que las tablas que hacen la referencia.

configfile s
La vía de acceso completa al archivo que contiene la información del ámbito personalizado. Para obtener instrucciones sobre cómo crear este archivo, consulte
Crear una lista de filtros de tabla de base de datos.
Nota: Si no establece su ámbito en _all_:
  • Propague 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 propagación falla debido a una discrepancia entre las claves foráneas y primarias.
sourcedb
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:
  • db_server:db_port/db_name.
sourcedb_user
Se necesita: El ID de conexión del propietario del esquema de la base de datos que creó el esquema de la base de datos de origen o de producción.
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, el valor es, 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 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:
  • db_server:db_port/db_name.
Nota: Si no desea propagar los datos consolidados al entorno de producción, no utilice este parámetro.
destdb_user
Se necesita: El ID de conexión del propietario del esquema de la base de datos que creó el esquema de la base de datos de origen o de producción. Este parámetro es mandatory cuando se utiliza una base de datos remota.
Nota: Si no desea propagar los datos consolidados al entorno de producción, no utilice este parámetro.
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.
Nota: Si no desea propagar los datos consolidados al entorno de producción, no utilice este parámetro.
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, el valor es, de forma predeterminada, el esquema activo en la base de datos de destino cuando se establece una conexión.
destdb_locktimeout
  • Opcional: Especifica el número de segundos que la conexión de programa de utilidad stagingprop con la base de datos de producción debe esperar para obtener un bloqueo en la base de datos que está actualizando. Si el programa de utilidad stagingprop no puede obtener un bloqueo dentro del número de segundos especificados, la transacción de base de datos se retrotrae.

    Especifique un valor de cero (0) para que el programa de utilidad stagingprop espere hasta que pueda obtener un bloqueo en el registro de la base de datos que desea actualizar.

    Si no especifica este parámetros, el programa de utilidad stagingprop espera el tiempo predeterminado establecido en la configuración de base de datos. Póngase en contacto con el administrador de base de datos para averiguar el valor de tiempo de espera de bloqueo predeterminado.
transacción
Opcional: Especifica el número de cambios que se producen antes de que se comprometan los cambios en la base de datos de producción. Si no especifica este parámetro, se comprometen las anotaciones cronológicas de cambios de acuerdo con la acción one.
one
El programa de utilidad stagingprop se ejecuta como una sola transacción y solo se compromete después de que la publicación sea satisfactoria. Si la publicación falla, la transacción se retrotrae y devuelve la base de datos de producción al estado en que estaba antes de que empezara el programa de utilidad stagingprop.
list
Los cambios en la base de datos de producción se comprometen después de que se hayan procesado todos los registros de cambios para la lista de tablas de base de datos especificadas por el parámetro scope. Debe establecer los parámetros scope y configfile s para especificar este nivel de transacción.
mesa
Los cambios en la base de datos de producción se comprometen después de que se procesen todas las operaciones para una tabla de base de datos de producción.
n
Los cambios en la base de datos de producción se confirman después de procesar cada n transacciones. Si especifica el parámetro -batchsize junto con este valor de parámetro -transaction, los cambios en la base de datos de producción se comprometen de acuerdo con un múltiplo del valor de -batchsize que satisfaga o exceda el valor del parámetro -transaction.

Por ejemplo, si se especifica transaction 35 y batchsize 20, los cambios en la base de datos de producción se comprometen cada 40 cambios. 40 es el número de cambios más cercano que es un múltiplo del parámetro batchsize que cumple o supera el valor del parámetro transaction. Si especifica transaction 20 y batchsize 35, los cambios en la base de datos de producción se comprometen cada 35 operaciones.

filter
Opcional: Especifique el valor de marca de filtro para seleccionar los registros que se deben publicar. Utilice este parámetro para filtrar la publicación por registro.

De forma predeterminada, la opción filter comprueba el valor de marca de filtro en la columna STGFILTER de la tabla STAGLOG. Si tiene valores de marca de filtro en una columna diferente de la tabla STAGLOG, utilice la opción filtercolumn para especificar la columna en la que ha definido el valor de marca de filtro.

Los valores de marca de filtro deben ser enteros positivos. Los valores de marcas de filtro de cero o enteros negativos están reservados para uso interno de HCL.

HCL Commerce no proporciona herramientas para establecer o validar valores de marca de filtro. Debe asegurarse de que un conjunto de cambios que utilizan un valor de marca de filtro no tenga el mismo valor de marca de filtro que otro conjunto de cambios.

filtercolumn
Opcional: Especifica qué columna de la tabla STAGLOG contiene los valores de marca de filtro. La columna especificada debe tener un tipo de INTEGER.
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. Cambie los registros de anotación cronológica se agrupan según el valor del parámetro consolidationSize.

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. Esto 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. 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 con 100 operaciones de inserción y el otro con 2 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 stagingprop actualiza la base de datos de producción.

Nota:
  • El proceso por lotes JDBC puede causar un manejo de errores incoherente. Establecer batchsize 0 desactiva el proceso por lotes JDBC y puede ayudarle a identificar los registros exactos que están provocando errores.
  • Para generar un archivo de registro global, establezca trace en un nivel de rastreo superior. Para más información, consulte el parámetro trace.
reintentar
Opcional: Especifique el número de veces que el programa de utilidad stagingprop reintenta una transacción cuando se encuentra una reducción de transacción.
waittime
Opcional: Especifique el número de segundos que el programa de utilidad stagingprop espera entre los reintentos.

Si no especifica el valor del parámetro retry, el programa de utilidad stagingprop no reintenta una transacción cuando encuentra una retrotracción de transacción. El programa de utilidad stagingprop sale con un error.

consolidationSize
Opcional: Realice la fase de consolidación de stagingprop una tabla a la vez, en lugar de todas a la vez. Cuando se utiliza, este parámetro limita el número de registros obtenidos de la base de datos en cualquier momento determinado durante la fase de consolidación al tamaño especificado.

Cuando no se especifica, el comportamiento predeterminado de stagingprop es ejecutar la fase de consolidación para todos los registros no procesados de la tabla STAGLOG a la vez. Si el tamaño especificado es mayor que el número total de registros no procesados de la tabla STAGLOG, stagingprop revertirá al comportamiento predeterminado.

La ventaja clave de utilizar consolidationSize es evitar que stagingprop termine anormalmente debido a las instancias de java.lang.OutOfMemoryError o a problemas que surgen del agotamiento de espacio de registro transaccional de base de datos. Realizar la fase de consolidación en una tabla a la vez reduce considerablemente el espacio de almacenamiento dinámico JVM durante la consolidación.

Plantéese el caso en el que el valor especificado para consolidationSize es x y el número total de registros sin procesar en la tabla STAGLOG es y:
  1. Si x >= y, el comportamiento de la fase de consolidación de stagingprop sigue siendo el mismo que el comportamiento predeterminado.
  2. De lo contrario, considere una tabla por etapas, A, cuyo número total de registros sin procesar en la tabla STAGLOG es z:
    1. Si z <= x, el conjunto completo de registros sin procesar de A en la tabla STAGLOG se recupera una vez.
    2. Si z > x, los registros sin procesar de A en la tabla STAGLOG se recupera en (1 + floor(z/x)) número de captaciones.
Una buena regla general a utilizar al determinar cómo especificar consolidationSize es limitar a una el número de captaciones a realizar para cada tabla que se debe consolidar. La sentencia de SQL siguiente puede utilizarse para recuperar el número de registros sin procesar que existen en la tabla STAGLOG para cada tabla de transición:
select q.* from (select count(*) numrecs, stgtable from staglog where stgprocessed = 0 group by stgtable) q order by q.numrecs desc, q.stgtable
La salida es en orden descendente del número de registros sin procesar para cada tabla de transició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 puede añadir al nombre de 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 stagingprop_yyyy.mm.dd_hh.mm.ss.zzz.log en el directorio utilities_root/logs:

actionOnError
Opcional: Define el nivel de la tolerancia a errores.

Utilice actionOnError para definir cómo stagingprop actúa cuando se encuentra con errores. En determinadas situaciones, stagingprop debe tolerar errores para propagar rápidamente datos. Mientras en otras ocasiones stagingprop debe salir al encontrar cualquier error.

actionOnError acepta tres valores:
0
En caso de error, generar una excepción y salir.
1
En caso de error, ir al siguiente.
2
Tolerar errores de consolidación y, en caso de error, ir al siguiente
Cuando se produce una colisión de clave primaria o una violación de índice exclusiva y actionOnError se establece en 1 o 2, stagingprop registra el error y, a continuación, continúa. Además, si se encuentra un error, la propagación stagingprop, marca la columna STGPROCESSED del registro STAGLOG correspondiente con uno de los valores siguientes:
-1
Operación de supresión sin resultado o error
-2
Operación de actualización sin resultado o error
-3
Operación de inserción sin resultado o error
-4
Error que se encuentra durante la consolidación. -4 solo se registra cuando se toleran errores de consolidación (el valor de actionOnError es 2).
-5
La clave primaria para la tabla que se especifica en la columna STGTABLE no se ha encontrado en la tabla física de la base de datos de transición. -5 se registra independientemente de si se especifica actionOnError o no.

DB2Si se produce una excepción dentro de un lote, solo se marca el registro anómalo con un error, stagingprop continúa con el resto del lote.

OracleSi se produce una excepción dentro de un lote, todos los registros hasta el primer registro anómalo están confirmados en la base de datos de producción. No obstante, todos los registros se marcan como -3 en la tabla STAGLOG en la base de datos de transición.

rastreo
Opcional: Define el nivel de rastreo en el registro. trace tiene cuatro valores posibles:
0
Solo alto nivel de resumen.
1
Información de nivel de tabla e informe de resumen global.
2
Informe de resumen de tabla e información de nivel de fila.
3
Sentencias SQL y diagnóstico.
Nota: Los valores trace son incrementales; cada valor incluye el nivel de detalle del valor anterior.
lockStaglog
Opcional: Especifica si stagingprop adquiere un bloqueo EXCLUSIVE en la tabla STAGLOG. lockStaglog tiene dos posibles valores:
0
No se adquiere ningún bloqueo.
1
Se adquiere un bloqueo EXCLUSIVE.
cutoffTime
Opcional: Especifica el tiempo límite para stagingprop. stagingprop no examina ningún registro de tabla STAGLOG que corresponda a datos que se insertan después del valor de indicación de fecha y hora especificado.

Especifique el valor de indicación de fecha y hora mediante el patrón yyyy-MM-dd.HH:mm:ss. Escriba el valor cutoffTime entre comillas para evitar errores. Para obtener más información, consulte Class SimpleDateFormat.

Por ejemplo:

<stagingprop-executable> [<other-arguments>] -cutoffTime "2011-10-05.12:25:00" [<other-arguments>]

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.
customfilter%
Opcional. Especifica una condición de filtro personalizado que el programa de utilidad stagingprop va a utilizar para filtrar los datos que publica el programa de utilidad stagingprop. Cuando se ejecuta el programa de utilidad, únicamente se procesan y se propagan a producción los registros para los objetos que coinciden con la condición de filtro especificada. El valor que se establece para el parámetro customfilter% se pasa en el SQL que se define en un archivo de configuración de filtro de transición. Este archivo XML de configuración debe definir el SQL que indica cómo procesa el programa de utilidad stagingprop los objetos que coinciden con la condición de filtro personalizado. Puede incluir varios filtros personalizados en una sola operación de transición.

Para utilizar el parámetro customfilter% en la línea de mandatos, SQL debe incluir un parámetro {customfilterparametername}. El valor de parametername en el SQL debe coincidir con el valor '%' en la línea de mandatos.

Por ejemplo, puede definir el SQL para una condición de filtro personalizado que propaga únicamente los datos que pertenecen a una tienda específica. Dentro de este SQL, puede incluir el parámetro {customfilterstoreid} para representar el valor del ID de la tienda. A continuación, cuando ejecute el programa de utilidad stagingprop, especifique el ID de la tienda como el valor para el parámetro customfilterstoreid personalizado. Este valor sustituirá el parámetro {customfilterstoreid} en el SQL para procesar los registros de esa tienda.

filterconfigfile
Opcional. Especifica el archivo XML de configuración de filtro de transición que define el SQL para indicar la forma en que el programa de utilidad stagingprop va a filtrar registros y procesos para publicar objetos específicos. Si se establece un valor y un parámetro customfilter% en la línea de mandatos, el programa de utilidad sustituye el valor en la condición de filtro SQL. El programa de utilidad propagará solo los datos que coinciden con la condición de filtro. Al especificar el valor para el archivo de configuración del filtro de transición, incluya la vía de acceso relativa al archivo de configuración desde el directorio bin.