Поделиться через


Настройка задания для набора транзакции в издателе Oracle

Область применения: SQL Server

Xactset – это задание базы данных 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). Задайте имя издателя Oracle в параметре @publisher, значение xactsetjobinterval для @propertynameи интервал запуска задания в минутах для @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). Задайте имя издателя Oracle в параметре @publisher, имя свойства набора транзакций в параметре @propertynameи новое значение @propertyvalue.

  3. Повторите шаг 2 для каждого устанавливаемого свойства задания набора транзакций (необязательно). Если меняется свойство xactsetjobinterval , необходимо перезапустить задание на издателе Oracle, чтобы новый интервал начал действовать.

Просмотр свойств задания набора транзакций

  1. На распространителе выполните процедуру sp_helpxactsetjob. В параметре @publisherукажите имя издателя Oracle.

Отключение задания набора транзакций

  1. На распространитее выполните 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