Problemi del mainframe che influiscono sul ripristino della transazione

In alcune situazioni, TI non può elaborare nuove transazioni con un ambiente remoto. Questo comportamento può essere corretto. Ad esempio, se l'eccezione TI 1227 viene restituita a un'applicazione client o registrata in un evento e HRESULT è 8004D110, indica che non è possibile accettare nuove transazioni con questo ambiente remoto perché le transazioni precedenti non sono state risolte dopo un errore di comunicazione.

Quando il processo di commit in due fasi non viene completato, CICS deve mantenere la transazione nello stato In-Doubt fino a quando le comunicazioni non vengono ristabilite. Ti eseguirà quindi protocolli di ripristino per garantire che la transazione si trova nello stesso stato in tutti i nodi. È necessario configurare correttamente CICS affinché ciò si verifichi.

Se CICS termina in modo imprevisto e quindi viene riavviato in uno stato ad accesso sporadico, non è presente memoria nel log di tutte le transazioni che non sono state completate. Pertanto, queste transazioni non possono essere ripristinate automaticamente in uno stato coerente. Verificare che tutte le transazioni siano state completate prima di arrestare CICS o configurare CICS per un riavvio ad accesso frequente usando lo stesso log in modo che tutte le transazioni in sospeso possano essere recuperate.

CICS Transaction Server consente all'amministratore di specificare un tempo di attesa nella In-Doubt Attributi di una transazione. Assicurarsi di specificare un valore adeguato per consentire la reinsezione delle comunicazioni nella maggior parte dei casi. Se questo timeout è trascorso prima che tutte le transazioni lasciate nello stato di In-Doubt siano state recuperate, CICS prenderà una decisione euristica per risolverle in locale. Se questa decisione è in conflitto con la decisione presa per le transazioni da Microsoft DTC (Distributed Transaction Coordinator), le nuove transazioni non possono essere avviate fino a quando il risultato delle transazioni precedenti non è stato sottoposto manualmente a override.

Nelle versioni CICS precedenti al server di transazione CICS non è presente alcun tempo di attesa negli attributi di ripristino. L'assegnazione del valore Wait all'attributo In-Doubt non comporta l'inserimento della transazione nello stato richiesto da TI quando viene tentato il ripristino. Se si usano queste versioni di CICS, impostare l'attributo In-Doubt su Backout o Commit. Se una decisione euristica risultante non è corretta e impedisce l'inizio di nuove transazioni, eseguire l'override del risultato della transazione usando DTC.

Esaminare il registro eventi di Windows per i messaggi del servizio SNA LU 6.2 Resync TP che indica che le transazioni non sono state ripristinate correttamente. Seguire le azioni suggerite. Usare la finestra Elenco transazioni di Microsoft Transaction Server per visualizzare le transazioni in sospeso. Fare clic con il pulsante destro del mouse sulla transazione per visualizzarne le proprietà. Risolvere il problema per accettare lo stato che CICS è stato configurato per la selezione euristica oppure per lo stato di backup o interrotto se CICS è terminato in modo imprevisto e avviato a freddo. L'evento nel log identifica la transazione e lo stato scelto da CICS.

Nota

Ciò non si applica a TCP/IP perché TCP/IP non supporta le transazioni ACID (atomiche, coerenti, isolate e durevoli).

Vedere anche

Come risolvere manualmente le transazioni