preupgrd.sql
Oracle Pre-Upgrade Information Tool
preupgrd.sql è lo script di pre-upgrade distribuito con Oracle 19c (e versioni precedenti con nomi analoghi). Va eseguito sull’istanza sorgente, prima di avviare qualsiasi procedura di migrazione, e produce un report testuale che fotografa lo stato del database rispetto ai requisiti della versione di destinazione.
Cosa fa #
Lo script interroga dizionario dati e viste interne per rilevare:
- oggetti non validi (
INVALID) che potrebbero bloccare la fase di recompilazione post-upgrade - parametri di inizializzazione deprecati o rimossi nella versione target
- feature obsolete ancora attive (es.
COMPATIBLE,DB_BLOCK_SIZEfuori range) - problemi di timezone, character set e componenti opzionali non migrabili automaticamente
L’output viene scritto in $ORACLE_BASE/cfgtoollogs/db_unique_name/preupgrade/ come file di testo e, nelle versioni recenti, come script SQL correttivi già pronti.
sqlplus / as sysdba @$ORACLE_HOME/rdbms/admin/preupgrd.sql
Quando si usa #
preupgrd.sql si esegue settimane prima del cutover, non la notte stessa. Il report va analizzato dal DBA per pianificare le remediation: invalidare e ricompilare oggetti, rimuovere parametri obsoleti, aggiornare i componenti opzionali. In ambienti di produzione critici — come database finanziari da 8 TB — il report diventa input diretto per il piano di rollback e per la stima della finestra di manutenzione.
Note operative #
Oracle distribuisce versioni aggiornate dello script con ogni PSU/RU. Prima di eseguirlo, verificare di usare la copia presente nell’ORACLE_HOME della versione di destinazione, non di quella sorgente: è lì che risiede la logica di controllo aggiornata.