Partager via


Configurer le travail d’un jeu de transactions pour un serveur de publication Oracle

S'applique à : SQL Server

Le travail Xactset est un travail de base de données Oracle créé par la réplication qui s'exécute sur un serveur de publication Oracle pour créer des jeux de transactions lorsque l'Agent de lecture du journal n'est pas connecté au serveur de publication. Vous pouvez activer et configurer par programmation ce travail du serveur de distribution à l'aide de procédures stockées de réplication. Pour plus d’informations, consultez Réglage des performances pour les serveurs de publication Oracle.

Pour activer le travail du jeu de transactions

  1. Sur le serveur de publication Oracle, définissez le paramètre d'initialisation job_queue_processes avec une valeur suffisante pour autoriser l'exécution du travail Xactset. Pour plus d'informations sur ce paramètre, consultez la documentation de base de données du serveur de publication Oracle.

  2. Sur le serveur de distribution, exécutez sp_publisherproperty (Transact-SQL). Spécifiez le nom du serveur de publication Oracle pour @publisher, une valeur xactsetbatching pour @propertynameet une valeur enabled pour @propertyvalue.

  3. Sur le serveur de distribution, exécutez sp_publisherproperty (Transact-SQL). Spécifiez le nom du serveur de publication Oracle pour @publisher, une valeur xactsetjobinterval pour @propertynameet l'intervalle du travail (en minutes) pour @propertyvalue.

  4. Sur le serveur de distribution, exécutez sp_publisherproperty (Transact-SQL). Spécifiez le nom du serveur de publication Oracle pour @publisher, une valeur xactsetjob pour @propertynameet une valeur enabled pour @propertyvalue.

Pour configurer le travail du jeu de transactions

  1. (Facultatif) Sur le serveur de distribution, exécutez sp_publisherproperty (Transact-SQL). Spécifiez le nom du serveur de publication Oracle pour @publisher. Les propriétés du travail Xactset sur le serveur de publication sont ainsi retournées.

  2. Sur le serveur de distribution, exécutez sp_publisherproperty (Transact-SQL). Spécifiez le nom du serveur de publication Oracle pour @publisher, le nom de la propriété du travail Xactset en cours de définition pour @propertynameet une nouvelle valeur pour @propertyvalue.

  3. (Facultatif) Répétez l'étape 2 pour chaque propriété de travail Xactset définie. Lorsque vous modifiez la propriété xactsetjobinterval , vous devez redémarrer le travail sur le serveur de publication Oracle pour que le nouvel intervalle prenne effet.

Pour afficher les propriétés du travail du jeu de transactions

  1. Sur le serveur de distribution, exécutez sp_helpxactsetjob. Spécifiez le nom du serveur de publication Oracle pour @publisher.

Pour désactiver le travail du jeu de transactions

  1. Sur le serveur de distribution, exécutez sp_publisherproperty (Transact-SQL). Spécifiez le nom du serveur de publication Oracle pour @publisher, une valeur xactsetjob pour @propertynameet une valeur disabled pour @propertyvalue.

Exemple

L'exemple suivant active le Xactset travail et définit un intervalle de trois minutes entre deux exécutions.

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