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