Как настроить задание набора транзакции для издателя 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) на распространителе. Задайте имя издателя Oracle в параметре @publisher, значение xactsetjobinterval для @propertyname и интервал запуска задания в минутах для @propertyvalue.
Выполните процедуру sp_publisherproperty (Transact-SQL) на распространителе. В параметре @publisher укажите имя издателя Oracle, в параметре @propertyname — значение xactsetjob, а в параметре @propertyvalue — значение enabled.
Настройка задания набора транзакций
На распространителе выполните процедуру sp_publisherproperty (Transact-SQL) (необязательно). В параметре @publisher укажите имя издателя Oracle. Система выдаст свойства задания Xactset на издателе.
Выполните процедуру sp_publisherproperty (Transact-SQL) на распространителе. Задайте имя издателя Oracle в параметре @publisher, имя свойства набора транзакций в параметре @propertyname и новое значение @propertyvalue.
Повторите шаг 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
См. также