RESTART REPLICAT
Utilizzare RESTART REPLICAT per arrestare e quindi avviare un gruppo Replicat. Per ottenere la conferma che Replicat è stato effettivamente avviato, utilizzare il comandoINFO REPLICAT o STATUS REPLICAT.
Punto di inizio normale
Replicat può essere avviato in corrispondenza del proprio punto di inizio normale (dal checkpoint iniziale o corrente) oppure da una posizione alternativa definita dall'utente nel trail.
RESTART REPLICAT senza opzioni, Replicat fa sì che Replicat avvii l'elaborazione in corrispondenza di uno dei seguenti punti per garantire l'integrità dei dati.
-
Dopo un'interruzione normale o anomala: in corrispondenza della prima transazione non elaborata nel trail di un'esecuzione precedente, rappresentata dal checkpoint di lettura corrente.
-
Primo avvio dopo la creazione del gruppo: dall'inizio del file del trail attivo (
seqno 0,rba 0).
Punto di inizio alternativo
Le opzioni SKIPTRANSACTION, ATCSN e AFTERCSN di START REPLICAT inducono Replicat nell'intero insieme oppure thread specifici di un Replicat coordinato a iniziare l'elaborazione in corrispondenza della transazione del trail diverso dal punto di inizio normale. Utilizzare queste opzioni per effettuare le operazioni riportate di seguito.
-
Specificare una posizione di recupero logica quando un errore impedisce a Replicat di avanzare nel trail. Replicat può essere posizionato per saltare la transazione o le transazioni non valide, con la consapevolezza che i dati non verranno applicati nella destinazione.
-
Saltare le transazioni replicate che provocheranno errori del tipo record duplicato e record mancante dopo l'applicazione di un backup alla destinazione durante un caricamento iniziale. Queste opzioni inducono Replicat a ignorare le transazioni verificatesi prima del set più recente di modifiche acquisite nel backup. È possibile mappare il valore dell'identificativo seriale corrispondente al completamento del backup a un valore CSN, quindi riavviare Replicat per iniziare ad applicare le transazioni dal CSN specificato in poi.
Sintassi
RESTART REPLICAT group_name_wildcard
[SKIPTRANSACTION | {ATCSN csn | AFTERCSN csn}]
[FILTERDUPTRANSACTIONS | NOFILTERDUPTRANSACTIONS]
[THREADS (threadID[, threadID][, ...][, thread_range[, thread_range][, ...]])]
group_name_wildcard
Nome di un gruppo Replicat o carattere jolly asterisco (*) per specificare più gruppi. Ad esempio, T* avvia tutti i gruppi Replicat di cui i nomi iniziano con la lettera T.
SKIPTRANSACTION
Induce Replicat a saltare la prima transazione dopo la posizione di avvio prevista nel trail. Tutte le operazioni della prima transazione verranno escluse.
Se si utilizza anche il parametro MAXTRANSOPS per Replicat, è possibile che il processo inizi a leggere il file di trail da un luogo qualsiasi al centro della transazione. In questo caso il resto della transazione parziale verrà saltato e Replicat riprenderà l'elaborazione normale dal record di inizio transazione successivo nel file. Se si utilizza il parametro DISCARDFILE, i record saltati vengono scritti nel file dei dati scartati, altrimenti viene scritto un messaggio simile al seguente in un file di report:
User requested START SKIPTRANSACTION. The current transaction will be skipped. Transaction ID txid, position Seqno seqno, RBA rba
SKIPTRANSACTION è valido solo quando il trail da Replicat è valido solo quando il trail letto fa parte di una configurazione della sincronizzazione della modifica in linea (con checkpoint). Non è valido per i caricamenti iniziali di tipo task, in cui viene utilizzato SPECIALRUN con ADD REPLICAT.
ATCSN csn |
AFTERCSN csn |
Imposta un punto di inizio definito dall'utente in corrispondenza di un valore CSN specifico. Quando viene utilizzato ATCSN o AFTERCSN, viene scritto un messaggio simile a uno dei seguenti nel file del report:
User requested start at commit sequence number (CSN) csn-string
User requested start after commit sequence number (CSN) csn-string
Informazioni generali su queste opzioni
-
Sono valide solo quando il trail letto da Replicat fa parte di una configurazione di sincronizzazione delle modifiche in linea (con checkpoint). Non è valido per i caricamenti iniziali di tipo task, in cui viene utilizzato
SPECIALRUNconADD REPLICAT. -
Per supportare l'avvio in corrispondenza o dopo un valore CSN, il trail deve essere della versione 10.0.0 o di una versione successiva di Oracle GoldenGate, poiché il valore CSN viene memorizzato nel primo record di trail di ogni transazione. Se Replicat viene avviato con
AFTERCSNcon una versione del trail precedente, Replicat si interromperà e scriverà un errore nel report per segnalare che il formato del trail non è supportato.ATCSNInduce Replicat ad avviare l'elaborazione in corrispondenza della transazione che contiene il valore CSN specificato. Tutte le transazioni del trail con valori CSN minori del valore CSN specificato verranno saltate.
AFTERCSNInduce Replicat ad avviare l'elaborazione in corrispondenza della transazione che si è verificata dopo quella con il valore CSN specificato. Tutte le transazioni nel trail con valori CSN minori o uguali a quello specificato verranno saltate.
csnSpecifica un valore CSN. Immettere il valore CSN utilizzando un formato valido per il database. Vedere Numero sequenza commit (CSN) per i formati e le descrizioni CSN. Replicat si interrompe se il formato non è valido e scrive una messaggio nel file di report.
Per determinare il valore CSN da fornire al completamento di un caricamento iniziale, utilizzare l'identificativo di commit in corrispondenza del quale la utility di caricamento ha completato il caricamento. In alternativa, attenersi alle istruzioni nella procedura di caricamento iniziale per determinare quando avviare Replicat.
FILTERDUPTRANSACTIONS | NOFILTERDUPTRANSACTIONS
Induce Replicat a ignorare le transazioni già elaborate. Da utilizzare quando Extract viene riposizionato su un nuovo punto d'inizio (vedere l'opzione ATCSN o AFTERCSN di "START EXTRACT") e si suppone che nel trail siano presenti transazioni duplicate che potrebbero causare l'interruzione di Replicat. Questa opzione richiede l'uso di una tabella di checkpoint. Se il database è Oracle, questa opzione è valida solo per un gruppo Replicat in modalità non integrata. Nel caso della modalità integrata con rigenerazione automatica del file di trail di destinazione, la modalità integrata gestisce le transazioni duplicate in modo trasparente. L'impostazione predefinita è FILTERDUPTRANSACTIONS.
THREADS thread_list
Valido per SKIPTRANSACTION, ATCSN e AFTERCSN quando Replicat è in modalità coordinata. Non valido per RESTART REPLICAT senza queste opzioni. Avvia il thread o i thread Replicat specificati dalla posizione specificata.
thread_list
Lista di intervalli delimitata da virgole nel formato threadIDlow-threadIDhigh, threadIDlow-threadIDhigh.
!
(Punto esclamativo) Riavvia immediatamente Replicat. La transazione viene interrotta.
Esempi
RESTART REPLICAT finance
Il comando seguente avvia Replicat in corrispondenza di un valore CSN specifico.
RESTART REPLICAT finance, ATCSN 6488359
Il comando seguente induce i thread 4 e 5 di un Replicat coordinato a saltare la prima transazione dopo il relativo ultimo checkpoint all'avvio di Replicat. Se il Replicat coordinato fosse del tipo a 10 thread, i thread 0-3 e 6-10 verrebbero avviati tutti in corrispondenza del punto di inizio normale, ovvero quello dell'ultimo checkpoint.
RESTART REPLICAT fin SKIPTRANSACTION THREADS (4-5)
Il comando dell'esempio seguente fa sì che i thread 1-3 di un Replicat coordinato vengano avviati in corrispondenza del valore CSN 6488359, i thread 9-10 vengono avviati dopo il valore CSN 6488360 e i thread 7 e 8 saltino la prima transazione dopo l'ultimo checkpoint.
RESTART REPLICAT fin ATCSN 6488359 THREADS (1-3), AFTERCSN 6488360 THREADS (9-10), SKIPTRANSACTION THREADS (7,8)