QUASAR –X NOTE PER L’ AGGIORNAMENTO
Questo documento ha lo scopo di indicare i vari step di esecuzione dell'aggiornamento dei programmi di Quasar-x e
le eventuali modifiche apportate alla base dati (via SQL).
Gli aggiornamenti arrivano su supporto CD-ROM il quale contiene solitamente la seguente struttura:
\Quasar-x
\Disk1
\Disk2
\Disk3
\Disk4
L'aggiornamento si divide sostanzialmente in tre parti:
Aggiornamento programmi Quasar-x / Uniface effettuato automaticamente dall' Install Shield di Windows.
Ristrutturazione database tramite scripts SQL che vanno lanciati manualmente dall'operatore secondo una
precisa sequenza e con delle modalità di controllo di compilazione.
Caricamento degli aggiornamenti sulle tables di base di Quasar-x (tramite IDF).
Per effettuare l'aggiornamento dei programmi Uniface / Quasar-x é necessario che nessun utente utilizzi
l'applicazione.
N.B.: accertarsi che il file \usys61d\usys\uobj.dol sotto la cartella Quasar-x non sia in "lock".
Deve essere lanciato \Quasar-x\Disk1\Setup.exe
Premere "Next"
Scegliere "Installazione Centralizzata"
Digitare il percorso centralizzato del direttorio di Quasar-x
Scegliere "Installazione Server" (la scelta "Installazione Client" va selezionata solo se si usa un PC
senza Quasar-x)
Selezionare sia "Aggiornamento Programmi Quasar-x" che "Aggiornamento Versione Uniface"
Al termine dell'installazione prendere nota delle indicazioni mostrate ed in particolare stampare il file "relnotes.wri"
che contiene le note di aggiornamento dei programmi Quasar-x inviati e la spiegazione delle eventuali modifiche
apportate ai programmi. Il file in questione é residente nella cartella "Customer" sotto il direttorio principale di
Quasar-x.
Dopo aver stampato il file é necessario rimuovere il file \Customer\quasar-x.ver.
Operazioni di ristrutturazione per RDBMS ORACLE:
La prima parte (SQL) consiste in questa serie di operazioni:
Posizionamento nel direttorio \Customer\ristrutt
questa cartella contiene un elenco di scripts SQL che effettuano la modifica delle eventuali entità di
database modificate. Alcuni script hanno estensione ".sql" altri ".drp".
Il primo file da lanciare via SQL é "xxxxxx_a.sql"
(dove -xxxxxx- é una variabile é una variabile che identifica l'utente); questo file esegue il lancio in cascata
degli altri scripts SQL e produce un file di LOG che deve essere controllato prima di lanciare il
corrispondente file "xxxxxx_d.sql".
Una volta controllato il log e verificato che l'aggiornamento sia stato eseguito con successo, deve essere
lanciato il file "xxxxxx_d.sql" che provvede ad eseguire il lancio in cascata degli altri scripts SQL che
hanno estensione ".drp" ed eliminano le copie di salvataggio delle tabelle di prima della ristrutturazione e
ricreano i triggers di controllo di integrità referenziale.
N.B.: ATTENZIONE! Gli scripts devono essere lanciati per ogni utente "owner" delle tabelle di
Quasar-x (tenendo conto che sulle tabelle condivise tra gli utenti devono essere loro ri-applicati i privilegi
di accesso tramite il comando:
"GRANT ALL ON <object_name> TO <username> WITH GRANT OPTION;"
se queste vengono rigenerate dalla ristrutturazione).
Per le tabelle dell'application model "DBMENU", dato che solitamente sono condivise (e quindi hanno
un'installazione unica, vanno eseguiti gli scripts "genera_c.sql" e "genera_d.sql" una volta sola (il
secondo ovviamente va eseguito dopo aver controllato l'esecuzione del primo tramite il file di log
"genera_c.log").
Posizionamento nel direttorio \Customer\Sql
questa cartella contiene un elenco di scripts SQL che creano oggetti di database (come packages di stored
procedures, triggers e views).
Sequenza con cui gli scripts devono essere lanciati:
tutti gli scripts s*.sql (scripts di creazione sequences)
tutti gli scripts pr*.sql (scripts di creazione stored procedures)
tutti gli scripts tr*.sql (scripts di creazione triggers)
tutti gli scripts v*.sql (scripts di creazione views)
Al termine dell'esecuzione degli scripts deve essere verificata la validità degli oggetti compilati e delle
rispettive dipendenze. Per fare in modo di produrre uno script SQL che provveda a ricompilare tutti gli
oggetti in stato
"INVALID" bisogna collegarsi al database con "sqlplus system/<password>" ed eseguire:
SQL> set pause off
SQL> set trimspool on
SQL> set feed off
SQL> set head off
SQL> select 'ALTER '||object_type||' '||owner||'.'||object_name||' COMPILE;'
2> from dba_objects
3> where status = 'INVALID'
4> order by owner, object_type
5> .
SQL> spool recompile.sql
SQL> /
SQL> spool off
SQL> quit
E' necessario poi ri-editare il file di spool prodotto ("recompile.sql") per modificare gli statements di
"ALTER PACKAGE BODY" spostando la stringa "BODY" dopo la parola "COMPILE".
(Es.: "ALTER PACKAGE INTERCOM_PROC COMPILE BODY;")
Il file SQL prodotto va poi eseguito con SQL*Plus (connessi con "system/manager").
Per controllare se si verificano degli errori in compilazione va interrogato il data dictionary nel seguente
modo:
SQL> select owner, type, name, text
2> from dba_errors;
Una volta sistemata la causa dell'errore va ricompilato l'oggetto in errore tramite lo statement:
SQL> ALTER <type> <name> COMPILE;
-- se si tratta di una PACKAGE BODY
-- aggiungere la parola "BODY"
-- dopo "COMPILE"
Posizionamento nel direttorio \Customer\Trx
copiare tutti i files con estensione "*.trx" sul PC dal quale si lancerà l'IDF per il ricaricamento delle tabelle
di base nella cartella locale C:\Qx\Trx (oppure C:\Qx6\Trx a seconda delle installazioni).
Lanciare l'icona di IDF con l'opzione "?" sulla linea di comando (in modo che presenti la mascherina
"Enter Commandline Parameters")
digitare "/tst P_SDF2" e premere OK.
selezionare la checkbox "Importa" e "Aggiornamenti"
posizionarsi sul blocco multi-rows e premere "Cerca" (tasto F4 o GOLD-R)
eseguire le istruzioni contenute nella colonna "Istruzioni pulizia prima del caricamento". Se é
specificato un numero di sequenza va rispettato.
lanciare l'esecuzione del programma tramite funzione "Stampa" (tasto F11 o GOLD-P)
specificare "NULL" nella casella "Print Job Model" anziché PRINTER e premere OK
Al termine dell'esecuzione del programma la ristrutturazione può ritenersi terminata.