Condividi tramite


Procedura: Configurazione del processo del set di transazioni per un server di pubblicazione Oracle (programmazione Transact-SQL della replica)

Xactset è un processo del database Oracle creato dalla replica eseguita in un server di pubblicazione Oracle per la creazione di set di transazioni, qualora l'agente di lettura log non è connesso al server di pubblicazione. È possibile attivare e configurare questo processo a livello di programmazione dal server di distribuzione, utilizzando le stored procedure di replica. Per ulteriori informazioni, vedere Ottimizzazione delle prestazioni per i server di pubblicazione Oracle.

Per attivare il processo del set di transazioni

  1. Nel server di pubblicazione Oracle impostare il parametro di inizializzazione job_queue_processes su un valore sufficiente per consentire l'esecuzione del processo Xactset. Per ulteriori informazioni su questo parametro, vedere la documentazione del database relativa al server di pubblicazione Oracle.

  2. Nel server di distribuzione eseguire sp_publisherproperty (Transact-SQL). Specificare il nome del server di pubblicazione Oracle per @publisher, il valore xactsetbatching per @propertyname e il valore enabled per @propertyvalue.

  3. Nel server di distribuzione eseguire sp_publisherproperty (Transact-SQL). Specificare il nome del server di pubblicazione Oracle per @publisher, il valore xactsetjobinterval per @propertyname e l'intervallo del processo espresso in minuti per @propertyvalue.

  4. Nel server di distribuzione eseguire sp_publisherproperty (Transact-SQL). Specificare il nome del server di pubblicazione Oracle per @publisher, il valore xactsetjob per @propertyname e il valore enabled per @propertyvalue.

Per configurare il processo del set di transazioni

  1. (Facoltativo) Nel server di distribuzione eseguire sp_publisherproperty (Transact-SQL). Specificare il nome del server di pubblicazione Oracle per @publisher. Vengono restituite le proprietà del processo Xactset nel server di pubblicazione.

  2. Nel server di distribuzione eseguire sp_publisherproperty (Transact-SQL). Specificare il nome del server di pubblicazione Oracle per @publisher, il nome della proprietà del processo Xactset impostato per @propertyname e la nuova impostazione per @propertyvalue.

  3. (Facoltativo) Ripetere il passaggio 2 per ogni proprietà del processo Xactset impostata. Se si modifica la proprietà xactsetjobinterval, è necessario riavviare il processo nel server di pubblicazione Oracle per rendere effettivo il nuovo intervallo.

Per visualizzare le proprietà del processo del set di transazioni

  • Nel server di distribuzione eseguire sp_helpxactsetjob. Specificare il nome del server di pubblicazione Oracle per @publisher.

Per disattivare il processo del set di transazioni

  • Nel server di distribuzione eseguire sp_publisherproperty (Transact-SQL). Specificare il nome del server di pubblicazione Oracle per @publisher, il valore xactsetjob per @propertyname e il valore disabled per @propertyvalue.

Esempio

Nell'esempio seguente viene attivato il processo Xactset e viene impostato un intervallo di tre minuti tra le esecuzioni.

-- 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