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.