Freigeben über


Vorgehensweise: Konfigurieren des Transaktionssatz-Auftrags für einen Oracle-Verleger (Replikationsprogrammierung mit Transact-SQL)

Der Xactset-Auftrag ist ein Oracle-Datenbankauftrag, der bei der Replikation erstellt und auf einem Oracle-Verleger ausgeführt wird, um Transaktionssätze zu erstellen, wenn der Protokolllese-Agent nicht mit dem Verleger verbunden ist. Sie können diesen Auftrag auf dem Verteiler programmgesteuert mithilfe gespeicherter Replikationsprozeduren aktivieren und konfigurieren. Weitere Informationen finden Sie unter Leistungsoptimierung für Oracle-Verleger.

So aktivieren Sie den Transaktionssatz-Auftrag

  1. Legen Sie auf dem Oracle-Verleger den job_queue_processes-Initialisierungsparameter auf einen Wert fest, der die Ausführung des Xactset-Auftrags zulässt. Weitere Informationen zu diesem Parameter finden Sie in der Datenbankdokumentation für den Oracle-Verleger.

  2. Führen Sie auf dem Verteiler sp_publisherproperty (Transact-SQL) aus. Geben Sie den Namen des Oracle-Verlegers für @publisher, einen Wert xactsetbatching für @propertyname und einen Wert enabled für @propertyvalue an.

  3. Führen Sie auf dem Verteiler sp_publisherproperty (Transact-SQL) aus. Geben Sie den Namen des Oracle-Verlegers für @publisher, einen Wert xactsetjobinterval für @propertyname und das Auftragsintervall in Minuten für @propertyvalue an.

  4. Führen Sie auf dem Verteiler sp_publisherproperty (Transact-SQL) aus. Geben Sie den Namen des Oracle-Verlegers für @publisher, einen Wert xactsetjob für @propertyname und einen Wert enabled für @propertyvalue an.

So konfigurieren Sie den Transaktionssatz-Auftrag

  1. (Optional) Führen Sie auf dem Verteiler sp_publisherproperty (Transact-SQL) aus. Geben Sie den Namen des Oracle-Verlegers für @publisher an. Dadurch werden die Eigenschaften des Xactset-Auftrags auf dem Verleger zurückgegeben.

  2. Führen Sie auf dem Verteiler sp_publisherproperty (Transact-SQL) aus. Geben Sie den Namen des Oracle-Verlegers für @publisher, den Namen der Xactset-Auftragseigenschaft, die für @propertyname festgelegt ist, und eine neue Einstellung für @propertyvalue an.

  3. (Optional) Wiederholen Sie Schritt 2 für jede festgelegte Xactset-Auftragseigenschaft. Beim Ändern der xactsetjobinterval-Eigenschaft müssen Sie den Auftrag auf dem Oracle-Verleger neu starten, damit das neue Intervall wirksam wird.

So zeigen Sie die Eigenschaften des Transaktionssatz-Auftrags an

  • Führen Sie auf dem Verteiler sp_helpxactsetjob aus. Geben Sie den Namen des Oracle-Verlegers für @publisher an.

So deaktivieren Sie den Transaktionssatz-Auftrag

  • Führen Sie auf dem Verteiler sp_publisherproperty (Transact-SQL) aus. Geben Sie den Namen des Oracle-Verlegers für @publisher, einen Wert xactsetjob für @propertyname und einen Wert disabled für @propertyvalue an.

Beispiel

Im folgenden Beispiel wird der Xactset-Auftrag aktiviert und ein Intervall von drei Minuten zwischen den Ausführungen festgelegt.

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