設定 Oracle 發行者的交易集作業 (複寫 Transact-SQL 程式設計)
Xactset 作業是由在「Oracle 發行者」端執行的複寫所建立的 Oracle 資料庫作業,可在「記錄讀取器代理程式」未與「發行者」連接時建立交易集。 您可以使用複寫預存程序,以程式設計的方式從「散發者」啟用和設定此作業。 如需詳細資訊,請參閱 Oracle 發行者的效能微調。
若要啟用交易集作業
在「Oracle 發行者」端,將 job_queue_processes 初始化參數設定為足夠的值,以允許 Xactset 作業執行。 如需有關此參數的詳細資訊,請參閱「Oracle 發行者」的資料庫文件。
在「散發者」端執行 sp_publisherproperty (Transact-SQL)。 針對@publisher指定 Oracle 發行者的名稱、@propertyname的值
xactsetbatching
,以及@propertyvalue 的值enabled
。在「散發者」端執行 sp_publisherproperty (Transact-SQL)。 針對@publisher指定 Oracle 發行者的名稱、@propertyname的值
xactsetjobinterval
,以及以分鐘為單位的作業間隔,以分鐘為單位指定@propertyvalue。在「散發者」端執行 sp_publisherproperty (Transact-SQL)。 針對@publisher指定 Oracle 發行者的名稱、@propertyname的值
xactsetjob
,以及@propertyvalue 的值enabled
。
若要設定交易集作業
(選擇性) 在「散發者」端執行 sp_publisherproperty (Transact-SQL)。 針對 @publisher指定 Oracle 發行者的名稱。 這麼做會傳回「發行者」端 Xactset 作業的屬性。
在「散發者」端執行 sp_publisherproperty (Transact-SQL)。 指定 @publisher的「Oracle 發行者」名稱、指定針對 @propertyname所設定之 Xactset 作業屬性的名稱,並指定 @propertyvalue的新設定。
(選擇性) 針對每個要設定的 Xactset 作業屬性重複步驟 2。 變更
xactsetjobinterval
屬性時,您必須重新開機 Oracle 發行者上的作業,新的間隔才會生效。
若要檢視交易集作業的屬性
- 在「散發者」端執行 sp_helpxactsetjob。 針對 @publisher指定 Oracle 發行者的名稱。
若要停用交易集作業
- 在「散發者」端執行 sp_publisherproperty (Transact-SQL)。 針對@publisher指定 Oracle 發行者的名稱、@propertyname的值
xactsetjob
,以及@propertyvalue 的值disabled
。
範例
下列範例會啟用 Xactset
作業,並在執行之間設定三分鐘的間隔。
-- 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
另請參閱
Oracle 發行者的效能微調
Replication System Stored Procedures Concepts