We recently updated the database system from an older 12.0.1 to the current EBF, during this process we identified, that a dbupgrade was needed otherwise the db file would not start anymore. Now we would like to automate this process and are looking for a good way how to check, if the dbupgrade is really necessary (or recommended). |
If you just want to know whether a particular database has been upgraded or not (or to what EBF) - in contrast to know whether a new feature requires a DBUPGRAD run or not - , then you can query SYSHISTORY. That system view will contain an entry named "DBUPGRADE" for each DBUPGRAD-operation with the according version number, and thereby it should be easy to find out if another DBUPGRAD is required or not. If no upgrade has ever been made, the "INIT" value will tell the version of the system catalog and the like... Thanks I wasn't aware of the operation value UPGRADE in syshistory.
(31 May '13, 09:36)
Martin
|
Don't know of an automatic process - however, usually the EBF readme will tell whether a particular fix needs a DBUPGRAD - cf. this one for 12.0.1:
So careful reading might be a first step:)
Good point, anyway: If you have heterogeneous customer sites your update procedure might have to apply the upgrade for one customer but not for another because the later one already have the upgraded db file. And to spare the effort of always upgrading I would like to be able to identify if it is necessary...
The upgrade process doesn't take a long time, does it? (says the person who hasn't run an upgrade in years :)
In my limited experience (a few upgrades in years), it doesn't take long. But it some cases it made the DB inaccessable - cf. that FAQ, so the timespan needed was not the problem. AFAIK, that problem was solved for newer versions, and that note should not be seen as argument against a DBUPGRAD...