Oracle パブリッシャー用のトランザクション セット ジョブの構成 (レプリケーション Transact-SQL プログラミング)

Xactset ジョブは、Oracle パブリッシャーで実行されているレプリケーションがトランザクション セットを生成するために作成する Oracle データベース ジョブです。Oracle パブリッシャーにログ リーダー エージェントが接続されていない場合に使用されます。 このジョブは、レプリケーションのストアド プロシージャを使用し、ディストリビューターからプログラムによって有効化したり構成することができます。 詳細については、「Oracle パブリッシャーのパフォーマンス チューニング」を参照してください。

トランザクション セット ジョブを有効にするには

  1. Oracle パブリッシャーで、job_queue_processes 初期化パラメーターに、Xactset ジョブを実行できるだけの十分な値を設定します。 このパラメーターの詳細については、Oracle パブリッシャー用データベースのマニュアルを参照してください。

  2. ディストリビューターで、sp_publisherproperty (Transact-SQL) を実行します。 @publisher に Oracle パブリッシャーの名前を、@propertyname に xactsetbatching を、@propertyvalue に enabled を指定します。

  3. ディストリビューターで、sp_publisherproperty (Transact-SQL) を実行します。 @publisher に Oracle パブリッシャーの名前を、@propertyname に xactsetjobinterval を、@propertyvalue にジョブの実行間隔 (分) を指定します。

  4. ディストリビューターで、sp_publisherproperty (Transact-SQL) を実行します。 @publisher に Oracle パブリッシャーの名前を、@propertyname に xactsetjob を、@propertyvalue に enabled を指定します。

トランザクション セット ジョブを構成するには

  1. (省略可) ディストリビューターで sp_publisherproperty (Transact-SQL) を実行します。 @publisher に Oracle パブリッシャーの名前を指定します。 これにより、パブリッシャーの Xactset ジョブのプロパティが返されます。

  2. ディストリビューターで、sp_publisherproperty (Transact-SQL) を実行します。 @publisher@propertyname、および、@propertyvalue に、それぞれ Oracle パブリッシャーの名前、設定する Xactset ジョブ プロパティの名前、新しい設定を指定します。

  3. (省略可) 設定対象の各 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

関連項目

概念

Oracle パブリッシャーのパフォーマンス チューニング

レプリケーション システム ストアド プロシージャの概念