Compartilhar via


Configurar o trabalho do conjunto de transações para um Publicador Oracle

Aplica-se: SQL Server

O trabalho Xactset é um banco de dados Oracle criado pela replicação em execução em um Editor Oracle, para criar conjuntos de transações, quando o Log Reader Agent não está conectado ao Publicador. Você pode ativar e configurar esse trabalho do Distribuidor usando os procedimentos armazenados de replicação programaticamente. Para obter mais informações, consulte Ajuste de desempenho para Publicadores Oracle.

Habilitar o conjunto de trabalho de transação

  1. No Editor Oracle, defina o parâmetro de inicialização job_queue_processes com um valor que seja suficiente para permitir a execução do trabalho Xactset. Para obter mais informações sobre esse parâmetro, veja a documentação de banco de dados para o Editor Oracle.

  2. No Distribuidor, execute sp_publisherproperty (Transact-SQL). Especifique o nome do Publicador Oracle para @publisher, um valor de xactsetbatching para @propertynamee um valor de enabled para @propertyvalue.

  3. No Distribuidor, execute sp_publisherproperty (Transact-SQL). Especifique o nome do Editor Oracle para @publisher, um valor de xactsetjobinterval para @propertyname, e o intervalo do trabalho, em minutos, para @propertyvalue.

  4. No Distribuidor, execute sp_publisherproperty (Transact-SQL). Especifique o nome do Publicador Oracle para @publisher, um valor de xactsetjob para @propertynamee um valor de enabled para @propertyvalue.

Para configurar o trabalho de conjunto de transação

  1. (Opcional) No Distribuidor, execute sp_publisherproperty (Transact-SQL). Especifique o nome do Editor Oracle como @publisher. Isso retorna as propriedades do trabalho Xactset no Publicador.

  2. No Distribuidor, execute sp_publisherproperty (Transact-SQL). Especifique o nome do Editor Oracle para @publisher, o nome da propriedade do trabalho Xactset que está sendo definida para @propertyname, e as novas configurações de @propertyvalue.

  3. (Opcional) Repita a etapa 2 para cada propriedade de trabalho Xactset que estiver sendo definida. Ao alterar a propriedade xactsetjobinterval , é necessário reiniciar o trabalho no Editor Oracle para que o novo intervalo entre em vigor.

Para exibir as propriedades do trabalho de conjunto de transação

  1. No Distributor, execute sp_helpxactsetjob. Especifique o nome do Editor Oracle como @publisher.

Para desativar o trabalho de conjunto de transação

  1. No Distribuidor, execute sp_publisherproperty (Transact-SQL). Especifique o nome do Publicador Oracle para @publisher, um valor de xactsetjob para @propertynamee um valor de disabled para @propertyvalue.

Exemplo

O exemplo a seguir habilita o trabalho Xactset e define um intervalo de três minutos entre as execuções.

-- 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