Oracle パブリッシャー用のトランザクション セット ジョブの構成
適用対象: SQL Server
Xactset ジョブは、Oracle パブリッシャーで実行されているレプリケーションがトランザクション セットを生成するために作成する Oracle データベース ジョブです。Oracle パブリッシャーにログ リーダー エージェントが接続されていない場合に使用されます。 このジョブは、レプリケーションのストアド プロシージャを使用し、ディストリビューターからプログラムによって有効化したり構成することができます。 詳細については、「Performance Tuning for Oracle Publishers」 (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、 @propertyname、および、 @propertyvalueに、それぞれ Oracle パブリッシャーの名前、設定する Xactset ジョブ プロパティの名前、新しい設定を指定します。
(省略可) 設定対象の各 Xactset ジョブ プロパティについて、手順 2. を繰り返します。 xactsetjobinterval プロパティを変更した場合は、Oracle パブリッシャーでジョブを再起動しないと新しい間隔が反映されません。
トランザクション セット ジョブのプロパティを表示するには
- ディストリビューターで sp_helpxactsetjobを実行します。 @publisherに Oracle パブリッシャーの名前を指定します。
トランザクション セット ジョブを無効にするには
- ディストリビューターで、sp_publisherproperty (Transact-SQL) を実行します。 @publisherに Oracle パブリッシャーの名前を、 @propertyname に xactsetjobを、 @propertyvalue に disabledを指定します。
例
次の例では、 Xactset
ジョブを有効にし、実行間隔を 3 分に設定しています。
-- 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