Upgrade Analysis

Before upgrading the database, you should do an update analysis.

Related Topics
Upgrade Warnings
Oracle Configuration
Upgrade Postprocessing

System Administrators can assess the scope and impact of a database upgrade and determine what preparatory actions might be appropriate, regarding scheduling and system resource allocation.

You first install the new version of MQL that points to the existing database, and then run the validate upgrade command against the old database.

Tables are processed for validate upgrade in the same order as they would be processed by the actual upgrade: first the administration tables, then the vault/store tables. A header is output to separate the administration upgrade steps from the vaults/stores upgrade steps.

The MQL command is:

validate [level N] upgrade;

Where N is either 0 or 1, indicating the level of detail required:


  • level 0 lists all tables indicating which are changing and which are not, with old and new version numbers. For example:
    MQL<3>validate level 0 upgrade;
    
    Administration tables
    
    Unchanged: mxSchema version 1
    Unchanged: mxLicense version 1
    Unchanged: mxOid version 1
    Unchanged: mxIcon version 1
    Unchanged: mxDesc version 1
    Upgrade: mxLattice version 1 -> 2
    Unchanged: mxStore version 1
    Upgrade: mxUser version 6 -> 9
    ...
    
    Tables for vaults and stores
    
    Unchanged: lxOid_%s version 1
    Unchanged: lxImg_%s version 1
    Unchanged: lxDesc_%s version 1
    Unchanged: lxBO_%s version 7
    Upgrade: lxRO_%s version 5 -> 8
    Unchanged: lxString_%s version 1
    Unchanged: lxReal_%s version 1
    ...
    
  • level 1 provides level 0 output but also includes the SQL commands that are run to perform each upgrade step. This is the default if the level clause is not included. For example:
    MQL<2>validate upgrade;
    
    Administration tables
    
    Unchanged: mxReportField version 1
    Unchanged: mxForm version 1
    Upgrade: mxField version 1 -> 2
         update mxField set mxValue=null,mxLabel=null where 
    mxType=12
    Unchanged: mxTTable version 1
    Unchanged: mxQuery version 1
    Unchanged: mxCue version 6
    Unchanged: mxMail version 1
    Upgrade: mxMailRcp version 1 -> 2
         create index mxMailRcp_mxTo_Index on mxMailRcp(mxTo)
    Upgrade: mxSet version 5 -> 6
         update mxSet set mxKind=0 where mxKind is null
    Unchanged: mxSetObj version 1
    Unchanged: mxVer6 version 1
    Upgrade: mxServer version 1 -> 7
         alter table mxServer add mxTZ varchar2(64)
         update mxMail set mxDate=mxDate-(-300/1440)
         update lxBO_d1ff63d2 set lxCrDate=lxCrDate-(-300/1440)
         update lxBO_d1ff63d2 set lxModDate=lxModDate-(-300/1440)
         update lxBO_d2001d35 set lxCrDate=lxCrDate-(-300/1440)
    ...
    
    Tables for vaults and stores
    
    Unchanged: lxOid_%s version 1
    Unchanged: lxImg_%s version 1
    Unchanged: lxDesc_%s version 1
    Unchanged: lxBO_%s version 7
    Upgrade: lxRO_%s version 5 -> 8
         update lxRO_d1ff63d2 set lxRelRul=1 where lxRelRul is null
         update lxRO_d2001d35 set lxRelRul=1 where lxRelRul is null
         No change to lxRO_d1ff63d2
         No change to lxRO_d2001d35
         create index lxRO_d1ff63d2_lxType_Index on 
    lxRO_d1ff63d2(lxType)
         create index lxRO_d2001d35_lxType_Index on 
    lxRO_d2001d35(lxType)
    ...
    

These examples are from running validate upgrade with Matrix 8.0.2 software against a version 6.0.1 database--a major upgrade.