Cómo configurar el trabajo del conjunto de transacciones para un publicador de Oracle (programación de la replicación con Transact-SQL)
El trabajo Xactset es un trabajo de base de datos de Oracle creado por replicación que se ejecuta en un publicador de Oracle para crear conjuntos de transacciones cuando el agente de registro del LOG no está conectado al publicador. Puede habilitar y configurar este trabajo desde el distribuidor mediante programación con procedimientos almacenados de replicación. Para obtener más información, vea Optimizar el rendimiento de publicadores de Oracle.
Para habilitar el trabajo del conjunto de transacciones
En el publicador de Oracle, establezca el parámetro de inicialización job_queue_processes en un valor suficiente para permitir la ejecución del trabajo Xactset. Para obtener más información acerca de este parámetro, vea la documentación de la base de datos del publicador de Oracle.
En el distribuidor, ejecute sp_publisherproperty (Transact-SQL). Especifique el nombre del publicador de Oracle en @publisher, un valor xactsetbatching en @propertynamey un valor enabled en @propertyvalue.
En el distribuidor, ejecute sp_publisherproperty (Transact-SQL). Especifique el nombre del publicador de Oracle en @publisher, un valor xactsetjobinterval en @propertynamey el intervalo del trabajo, en minutos, en @propertyvalue.
En el distribuidor, ejecute sp_publisherproperty (Transact-SQL). Especifique el nombre del publicador de Oracle en @publisher, un valor xactsetjob en @propertynamey un valor enabled en @propertyvalue.
Para configurar el trabajo del conjunto de transacciones
(Opcional) En el distribuidor, ejecute sp_publisherproperty (Transact-SQL). Especifique el nombre del publicador de Oracle en @publisher. De esta forma se devuelven las propiedades del trabajo Xactset al publicador.
En el distribuidor, ejecute sp_publisherproperty (Transact-SQL). Especifique el nombre del publicador de Oracle en @publisher, el nombre de la propiedad del trabajo Xactset que se establece en @propertynamey la nueva configuración en @propertyvalue.
(Opcional) Repita el paso 2 para cada propiedad del trabajo Xactset que se establece. Al cambiar la propiedad xactsetjobinterval, debe reiniciar el trabajo en el publicador de Oracle para que se aplique el nuevo intervalo.
Para ver las propiedades del trabajo del conjunto de transacciones
- En el distribuidor, ejecute sp_helpxactsetjob. Especifique el nombre del publicador de Oracle en @publisher.
Para deshabilitar el trabajo del conjunto de transacciones
- En el distribuidor, ejecute sp_publisherproperty (Transact-SQL). Especifique el nombre del publicador de Oracle en @publisher, un valor xactsetjob en @propertynamey un valor disabled en @propertyvalue.
Ejemplo
El ejemplo siguiente habilita el trabajo Xactset y establece un intervalo de tres minutos entre ejecuciones.
-- This script uses sqlcmd scripting variables. They are in the form
-- $(MyVariable). For information about how to use scripting variables
-- on the command line and in SQL Server Management Studio, see the
-- "Executing Replication Scripts" section in the topic
-- "Programming Replication Using System Stored Procedures".
DECLARE @publisher AS sysname;
SET @publisher = $(Publisher);
-- Enable the creation of transaction sets
-- at the Oracle Publisher.
EXEC sp_publisherproperty
@publisher = @publisher,
@propertyname = N'xactsetbatching',
@propertyvalue = N'enabled';
-- Set the job interval before enabling
-- the job, otherwise the job must be restarted.
EXEC sp_publisherproperty
@publisher = @publisher,
@propertyname = N'xactsetjobinterval',
@propertyvalue = N'3';
-- Enable the transaction set job.
EXEC sp_publisherproperty
@publisher = @publisher,
@propertyname = N'xactsetjob',
@propertyvalue = N'enabled';
GO