Oracle e CA Unicenter

Unicenter e' un prodotto della CA (Computer Associates) che fornisce un'ampia serie di applicazioni e strumenti per la gestione ed il controllo del sistema operativo e delle applicazioni ospitate.

Unicenter e' disponibile su un'ampia varieta' di sistemi ed ambienti: praticamente su tutti gli ambienti commericiali.

Unicenter e' utilizzato generalmente in realta' di ampie dimensioni e complesse. In tali realta' l'utilizzo di uno strumento unico per la gestione dei sistemi e le notevoli funzionalita' relative alla schedulazione delle applicazioni ed al loro controllo sono elementi di notevole importanza.

In questo documento vengono riportate alcune notizie relative all'utilizzo di CA Unicenter con l'RDBMS Oracle.

La schedulazione con CA Unicenter

Su un sistema centrale, definito server, vengono caricate le schedulazioni delle attivita' che debbono essere seguiti sui diversi sistemi che ospitano le applicazioni, chiamati station.

Le schedulazioni sono composte da JOBSET che hanno un calendario di partenza, legami e vincoli per l'attivazione, ... I JOBSET sono composti da JOB che corrispondono all'attivazione dei singoli programmi. Pertanto nella definizione di un JOB vengono riportati: l'utente con il quale effettuare l'esecuzione, il programma da lanciare, se deve essere lanciato il .profile (o analogo) per il settaggio dell'ambiente, i legami con altri JOB e JOBSET, ...

Con il DEMAND viene posto in schedulazione un jobset ed entra in stato di START. Quando tutti i requisiti per la partenza sono soddisfatti partono i vari JOB. I JOB vengono attivati a seconda dei vincoli che li legano (che prevedono normalmente attivita' in catene sequenziali). Un JOB in esecuzione e' in stato di WORKING, un JOB in attesa di una condizione (tipicamente la fine del JOB precedente) e' in stato di WPRED.
Il risultato finale di ogni singolo JOB viene controllato: i JOB che terminano correttamente vanno in stato di COMPLETE, quelli che riportano un errore vanno in stato di ABEND. Per rieseguire un JOB andato in ABEND e' sufficiente dare il comando di SUBMIT. Il comando di FORCE consente di forzare l'esecuzione anche di un JOB gia' terminato correttamente. Naturalmente tali azioni si effettuano quando si e' capita e rimossa la ragione del malfunzionamento.
Quando tutti i JOB sono terminati correttamente il JOBSET entra in stato di COMPLETE

Per maggiori riferimenti sulle attivita' di amministrazione su CA Unicenter si puo' vedere il documento Amministrazione di CA Unicenter su Unix.

 

Controllo del risultato di script SQL

Unicenter permette il controllo dell'andamento delle applicazioni verificando il codice di ritorno dei ogni singolo programma. Per poter controllare la corretta riuscita di un programma o di uno script e' pertanto necessario fare in modo che il programma (o lo script) restituiscano un codice d'errore al sistema operativo.

Per restituire un codice d'errore a fronte di un errore SQL e' sufficiente inserire nello script il comando:


whenever sqlerror exit 1

In caso contrario il lancio del comando restituirebbe errore solo nel caso in cui l'sqlplus stesso non venisse trovato, non fosse eseguibile, ...

Attivazione di programmi che accedono ad Oracle

E' perfettamente possibile lanciare da Unicenter programmi che accedono ad Oracle.

E' tuttavia necessaria un'avvertenza. I programmi che accedono ad Oracle possono lanciare in realta' altri processi per l'effettivo accesso alla base dati (il processo oracle). Unicenter per default considera terminato un JOB quando tutti i processi attivati per l'esecuzione di tale JOB sono terminati. Pertanto nel caso di utilizzo del multitreading di Oracle (molto comune su sistemi di medie/grandi dimensioni) il JOB potrebbe terminare dopo l'effettiva terminazione del processo applicativo. Oppure il codice di ritorno dell'applicazione potrebbe essere falsato (Unicenter potrebbe restituire il valore di ritorno del processo Oracle anziche' quello del programma applicativo.

Per tale ragione e' necessario configurare Unicenter in modo che controlli i valori di ritorno del programma applicativo. I comandi da dare sono:


enfcontrol JOB TRIGGER EXITMAIN
enfcontrol JOB RC EXITMAIN
enfcontrol JOB CPUTIME EXITMAIN
Shutdown e startup di Oracle

E' perfettamente possibile effettuare lo shutdown e lo startup di Oracle da job attivati da Unicenter. E' naturalmente obbligatorio utilizzare l'EXITMAIN come nel paragrafo precedente. In caso contrario il job di attivazione della base dati terminerebbe sono allo shutdown di Oracle!

Dettagli sulle diverse modalita' di attivazione di Oracle si trovano nel documento: Startup e Shutdown di Oracle.

 

Sicurezza

L'attivazione di applicazioni Oracle da CA Unicenter non presenta particolari di sicurezza. O meglio, per essere piu' precisi, presenta gli stessi problemi che presenta il lancio delle applicazioni da sistema operativo.

Il consiglio ovvio, ma spesso disatteso, e' quello di non inserire username/password nel codice, su file o su stringa di parametri ma di utilizzare le utenze OPS$ per l'accesso all'RDBMS Oracle. Maggiori informazioni e dettagli si trovano in Sicurezza su Unix e Pratical Security in Oracle. Una trattazione introduttiva e piu' generale sulle problematiche di sicurezza si trova invece in Elementi di sicurezza.


Testo: Oracle e CAUnicenter
Data: 1 Aprile 1998
Versione: 1.0.1
Autore: mail@meo.bogliolo.name