Controlli preliminari

Prima di proseguire nella ricerca della causa del problema, eseguire i seguenti controlli preliminari. Questi controlli potrebbero evidenziare una causa semplice o, almeno, restringere l'intervallo di cause possibili.

Informazioni su questa attività

Mentre si passa attraverso le domande, prendere nota di tutto ciò che potrebbe essere rilevante per il problema. Anche se le osservazioni registrate non suggeriscono inizialmente una causa, potrebbero essere utili in un secondo momento se è necessario eseguire la determinazione sistematica dei problemi.

Procedura

  1. Il sistema CICS® è stato eseguito correttamente prima?
    Se il sistema CICS non è stato eseguito correttamente in precedenza, è possibile che non sia stato ancora impostato correttamente. È possibile verificare che CICS sia installato correttamente eseguendo le procedure di verifica batch o online. Per ulteriori informazioni, consultare Verifica dell'installazione di CICS. Se CICS è stato installato correttamente, controllare le informazioni di aggiornamento appropriate impostate per eventuali impatti sul sistema. Se si sta attualmente effettuando l'aggiornamento a, CICS Transaction Server per z/OS®, Versione 5 Release 4 assicurarsi di essere a conoscenza di tutte le modifiche apportate per questa release. Per i dettagli, consultare Novità e Aggiornamento per la release da cui si sta eseguendo l'aggiornamento.
  2. Sono presenti messaggi che spiegano l'errore?
    Se una transazione si interrompe in modo anomalo e il task termina in modo anomalo, CICS invia un messaggio che riporta il fatto al log CSMT (o alla sostituzione del sito). Se si trova un messaggio, potrebbe immediatamente suggerire un motivo dell'errore. Erano presenti messaggi insoliti associati all'avvio di CICS o mentre il sistema era in esecuzione prima che si verificasse l'errore? Questi messaggi potrebbero indicare alcuni problemi di sistema che hanno impedito la corretta esecuzione della transazione. Se vengono visualizzati messaggi non comprensibili, utilizzare la transazione dei messaggi CICS , CMAC, per le informazioni sui messaggi in linea. Se non si dispone dell'accesso a un sistema CICS per eseguire la transazione CMAC, consultare i messaggiCICS per una spiegazione. Nella spiegazione potrebbe essere inclusa anche una serie di azioni consigliate che è possibile intraprendere per risolvere il problema.
  3. È possibile riprodurre l'errore?
    1. È possibile identificare qualsiasi applicazione che si trova sempre nel sistema quando si verifica il problema?
      • Verificare la presenza di errori di codifica dell'applicazione.
      • Verificare di disporre di risorse sufficienti definite per l'applicazione, come le stringhe di file VSAM. Generalmente, se le risorse definite non sono sufficienti, il problema è correlato al numero di utenti dell'applicazione.
    2. Si stanno utilizzando chiamate XPI (exit programming interface)?
      In tal caso, accertarsi di osservare esattamente i protocolli e le limitazioni XPI. Per informazioni di programmazione su XPI, consultare XPI (user exit programming interface). L'interfaccia di programmazione di uscita viene utilizzata per avviare un dominio ed entrare direttamente nel relativo ambiente; l'utilizzo non corretto può causare gravi problemi di sistema CICS . Ecco alcuni punti particolari per la vostra attenzione:
      • I parametri di input sono corretti? Se il loro formato non è valido, vengono rifiutati dal dominio richiamato e viene eseguita una traccia di eccezione. Se i loro valori sono accettabili per il dominio ma inappropriati per il sistema, possono causare effetti imprevedibili.
      • Non è possibile utilizzare alcune chiamate XPI all'interno di alcune uscite utente. In tal caso, i risultati possono essere imprevedibili e possono causare lo stallo o l'interruzione di CICS . Consultare Programmi user exit globali per dettagli su quali exit possono utilizzare chiamate XPI e quali non possono.
    3. Considerare i parametri di definizione del sistema CICS se il problema non è correlato a una particolare applicazione.
      Parametri mal definiti possono essere la causa di problemi nel sistema. È possibile trovare indicazioni sull'impostazione del proprio sistema CICS in, Specifica dei parametri di inizializzazione del sistema CICS
    4. Il problema sembra essere correlato al caricamento del sistema?
      In tal caso, il sistema potrebbe essere in esecuzione vicino alla sua capacità massima o potrebbe essere necessario eseguire l'ottimizzazione. Per istruzioni sulla gestione di questo problema, consultare Miglioramento delle prestazioni di un sistema CICS.
  4. L'errore si verifica in ore specifiche del giorno?
    Se l'errore si verifica in ore specifiche del giorno, può dipendere dal caricamento del sistema. In genere, il carico di picco del sistema avviene a metà mattina e a metà pomeriggio, quindi questi momenti sono in cui è più probabile che si verifichino errori dipendenti dal carico. Se la rete CICS si estende su più di un fuso orario, il carico di picco del sistema potrebbe sembrare che si verifichi in un'altra ora del giorno.
  5. L'errore è intermittente?
    Se un errore è intermittente, in particolare se non mostra gli stessi sintomi, il problema potrebbe essere più difficile da risolvere. Un errore intermittente può essere causato da una sovrapposizione di memoria "casuale". Inoltre, la transazione che ha causato l'errore potrebbe essere eliminata dal sistema molto prima che vengano visualizzati i sintomi. Viene descritto un metodo che è possibile utilizzare per esaminare le sovrapposizioni casuali. Gestione delle violazioni di memoria
  6. Sono state apportate modifiche al servizio dall'ultima esecuzione eseguita correttamente?
    1. È stata applicata una PTF a CICS?
    2. L'installazione è stata eseguita correttamente o è stato ricevuto un messaggio di errore durante l'installazione? Se è stato installato correttamente, consultare IBM® per eventuali errori PTF.
    3. Le patch applicate a qualsiasi altro programma hanno influenzato il modo in cui CICS si interfaccia con il programma?
  7. Sono state apportate modifiche hardware dall'ultima esecuzione eseguita correttamente?
  8. Sono state apportate modifiche software dall'ultima esecuzione riuscita?
    Se è stata installata un'applicazione nuova o modificata, verificare la presenza di messaggi di errore nell'output da:
    • Traduttore
    • Compiler
    • Assembler
    • editor collegamento
  9. Sono state apportate modifiche amministrative dall'ultima esecuzione riuscita?
    1. È stata modificata la procedura di inizializzazione, ad esempio mediante JCL, i parametri di sostituzione o di inizializzazione del sistema CICS o z/OS Communications Server CONFIG/LIST?
    2. CICS ha generato messaggi di errore durante l'inizializzazione?
    3. Sono state installate definizioni di risorse definite utilizzando CEDA?
      Se le definizioni sono state effettuate ma non installate quando CICS è stato terminato l'ultima volta, potrebbero non essere conservate durante la terminazione e il successivo avvio. In generale, le modifiche apportate al CSD ma non installate non sono visibili quando il sistema CICS è a caldo avviato. Tuttavia, se la modifica si trovava in un gruppo nel GRPLIST specificato in un avvio a freddo , essa viene effettivamente installata durante l'avvio. (Le modifiche installate non sono visibili dopo un avvio a freddo a meno che non siano state apportate a un gruppo nel GRPLIST.) Se START=AUTO è stato specificato nella tabella di inizializzazione del sistema o come sovrascrittura, è necessario esaminare il log del lavoro per scoprire come è stato eseguito l'ultimo sistema CICS .
    4. È stata modificata la configurazione o lo stato delle risorse installate in CICS?

      La configurazione di CICS potrebbe essere stata modificata. Le risorse installate potrebbero essere disabilitate o chiuse. Ad esempio, un file o un programma potrebbe essere disabilitato. Queste modifiche vengono effettuate utilizzando transazioni CEMT, Web User Interface, CICS explorer o applicazioni CICS . CICS fornisce una funzione per controllare queste modifiche scrivendo un messaggio nel log del job quando vengono emessi questi comandi. Il messaggio DFHAP1900 contiene la data, l'ora, l'id transazione, il netname, l'ID utente e i dettagli del comando. Un amministratore di sistema o chiunque desideri esaminare i record di controllo può leggere i messaggi di controllo nel log del lavoro CICS per individuare eventuali modifiche apportate a questa regione CICS . Per i comandi che utilizzano parametri generici, viene controllato ogni singolo comando, in modo che la ricerca di un nome file specifico, ad esempio, riesca a trovare tale file.

  10. Le parti specifiche della rete sono interessate dal problema?
    1. È possibile identificare parti specifiche della rete influenzate dal problema? Se possibile, cercare qualsiasi messaggio esplicativo dal metodo di accesso. Anche se non è stato inviato alcun messaggio alla console, è possibile trovarne uno nel log CSNE.
    2. Sono state apportate modifiche relative alla rete?
    3. Se il problema riguarda un singolo terminale, le definizioni del terminale sono corrette? Considerare sia la definizione TERMINAL che la definizione TYPETERM utilizzata.
    4. Se il problema interessa diversi terminali, è possibile identificare un fattore comune a tutti? Ad esempio:
      • Utilizzano la stessa definizione TYPETERM? In tal caso, è probabile che vi sia un errore nella definizione TYPETERM.
      • L'intera rete è interessata? In caso affermativo, è possibile che CICS sia in stallo. Consultare Cosa fare se CICS è in stallo per informazioni su come gestire i sistemi CICS in stallo.
  11. L'applicazione è stata eseguita correttamente in precedenza
    1. Sono state apportate modifiche all'applicazione dall'ultima volta che è stata eseguita correttamente? Esaminare la parte nuova o modificata dell'applicazione.
    2. È stato utilizzato RDO per creare o modificare una transazione, un programma o una serie di mappe? È necessario installare queste definizioni prima che le risorse siano disponibili per la regione CICS in esecuzione.
    3. Se sono state modificate delle mappe, è stata creata una nuova fase (TYPE = MAP) e un nuovo DSECT (TYPE = DSECT) e quindi è stata ricompilata ogni programma utilizzando il nuovo DSECT? Utilizzare i comandi CEMT:
            CEMT SET PROGRAM(mapset) NEWCOPY
            CEMT SET PROGRAM(all programs) NEWCOPY
      .
    4. Tutte le funzioni dell'applicazione sono state completamente esercitate in precedenza?
      Stabilire cosa stava facendo il programma quando si è verificato l'errore e controllare il codice di origine in quella parte del programma. Se un programma è stato eseguito con esito positivo in molte occasioni precedenti, esaminare il contenuto dei record, dei dati dello schermo e dei file che erano in fase di elaborazione quando si è verificato l'errore. Potrebbero contenere alcuni valori di dati inusuali che causano il richiamo di un percorso utilizzato raramente nel programma.
    5. Verificare che l'applicazione abbia richiamato correttamente i record richiesti al momento dell'errore.
    6. Verificare che tutti i campi all'interno dei record al momento dell'errore contengano dati in formato accettabile per il programma. Utilizzare il dump CICS per eseguire questa operazione.
      Se è possibile riprodurre il problema in un sistema di test, è possibile utilizzare gli strumenti di debug del linguaggio di programmazione e la transazione CEDF per controllare i dati e risolvere il problema.
  12. L'applicazione non è stata eseguita correttamente prima di
    Se l'applicazione non è stata ancora eseguita correttamente, esaminarla attentamente per eventuali errori.
    1. Controllare l'output del programma di traduzione, del compilatore e dell'editor di collegamento, per eventuali errori riportati.
      Se l'applicazione non riesce a convertire, compilare o assemblare o modificare il collegamento in modo corretto nella libreria di fase corretta, non verrà eseguita se si tenta di richiamarla.
    2. Controllare la logica di codifica dell'applicazione. I sintomi dell'errore indicano la funzione in errore e quindi la parte di codice in errore?
    3. Di seguito è riportato un elenco di alcuni errori di programmazione comunemente rilevati nelle applicazioni:
      • Le aree CICS sono indirizzate in modo non corretto.
      • Le regole per la quasi - rientranza non sono seguite.
      • I dati transitori non sono gestiti correttamente.
      • Le risorse file non vengono rilasciate.
      • La memoria è danneggiata dal programma.
      • I codici di ritorno dalle richieste CICS vengono ignorati.