Downgrade from IDS 14 to 12
Posted in 2021
Sh To could not start 14.10 binaries downgraded to 12 and got Cannot bring server up from a higher version. Art Kagel said to run onmode -b 12.10 under 14.10 first; Eric Vercelletto first said downgrade was impossible, then retracted. Andreas Legner noted onmode -b reverts only the primary, so secondaries must be recreated. Kirit Rana advised rebuilding sysadmin. Art described migration if reverting later.
Auto-generated by Claude from the posts below — may be imperfect; read the full thread.
Topics: High Availability & Replication, Installation, Setup & Upgrades, Storage & Space Management
Hello
We'd like to upgrade our servers from IDS 12 to IDS 14
3 servers in primary/HDR/RSS configuration.
To check/learn the process, I installed the same config on virtualbox (with demodb)
I upgraded from IDS 12 to 14, and all work fine.
But, I tried (on the same test machines) to downgrade from IDS 14 to 12 to see how it works.
So I shutted down the server, change the symbolic link to point to the old version and tried to oninit -v and it fails.
Two tries:
1)
Shell
Cannot bring server up from a higher version server rootdbsoninit: Fatal error in shared memory initialization
Online.log
10:33:05
Cannot bring server up from a higher version server rootdbs
10:33:05
oninit: Fatal error in shared memory initialization
10:33:05
IBM Informix Dynamic Server Stopped
.
10:33:05 mt_shm_remove: WARNING: may not have removed all/correct segments
2)Shell
Cannot bring server up from a higher version server rootdbsoninit: Fatal error in shared memory initialization
And nothing in online.log
Any idea?
Thanks
------------------------------
Sh To
------------------------------
#Informix
Sh:
In order to revert to an earlier release you must first revert any on-disk structures that may have been changed by the upgrade and mark the reserved pages as belonging to the older version. This is done under the current version (ie v14.10)with the engine online with:
onmode -b 12.10That will revert any disk structures that need to be reverted and mark the page 0 reserved page as belonging to v12.10 and shutdown the engine ready to be restarted with the v12.10 executables.
Art
------------------------------
Art S. Kagel, President and Principal Consultant
ASK Database Management Corp.
www.askdbmgt.com
------------------------------
The inplace downgrade scenario is not possible, because the new version will write "things" in disk structures that will work for version 14 and not for version version 12 anymore. So upgrade is an irreversible operation. If you want to downgrade "in place", this is not supported. During upgrade, there is a phase when it is still possible to return to previous version, but once you decided to finalize the upgrade, you cannot revert. Solutions are Never overwrite the 'old' $INFORMIXDIR directory, always create a new $INFORMIXDIR with the new version: easier to switch if necessary More than highly recommended: run a full backup from version 12 before upgrading and check it If upgrade goes badly, switch your environment to your old $INFORMIXDIR and restore your backup Another solution is to use Enterprise Replication between 2 servers to push the data from 'old server' to 'new server' and synchronize data both ways: this option lets you switch back to the 'old' server if anything happens But this is bit more work to do it and you need 2 servers Sorry, I don't have much time now to develop on that but I know that our colleague will propose ideas Eric Vercelletto Data Management Architect and Owner / Begooden IT Consulting KandooERP Founder and CTO IBM Champion 2013,2014,2015,2016,2017,2018,2019,2020 Tel: +33(0) 298 51 3210 Mob : +33(0)626 52 50 68 skype: begooden-it Google Hangout: eric.vercelletto@begooden-it.com Email: eric.vercelletto@begooden-it.com www : http://www.vercelletto.com www https://kandooerp.org
Eric:
No. It IS POSSIBLE to downgrade by using the "onmode -b <target version>" command as I stated in my original response!
Art
------------------------------
Art S. Kagel, President and Principal Consultant
ASK Database Management Corp.
www.askdbmgt.com
------------------------------
That might have been the case, but now you have onmode –b. It should support any reversion of any direct update method
Cheers
Paul
Good old onmode -b will revert the primary - it will and cannot revert those secondaries!
So, when upgrading from 12 to 14, what you're really saving now, since 14.10.xC4W1, is having to re-instantiate your secondaries - you just bring them up under v14.10 and all required conversion will be taken care of across the cluster.
The reversion process, though, is a different beast and has not been implemented for secondaries (and I'm not even sure this would be possible.)
-> you'll have to re-create the secondaries from primary after primary got reverted.
Also, when reverting, try to be as precise as possible when choosing the 'to-version': run 'onmode -b' without any version specified to get a list of options, then pick the closest one older than the actual old version you're reverting to. E.g. when reverting to 12.10.FC12, run 'onmode -b 12.10.xC8'.
------------------------------
Andreas Legner
------------------------------
Stupid me, I answered too fast ☹ My fault!
Hello, Thank you all ------------------------------ Sh To ------------------------------
Sh To Additional to what the guys have already advised; if you found that during Conversion the Message Log reported an error like this... 12:50:16 SCHAPI: SQL Error -530, ISAM Error 0 in file/opt/IBM/informix/etc/sysadmin/low_memory_mgr.sql at line 1912:50:16 SCHAPI: 'sysadmin' database setup is incomplete. ...which mandated that you rebuild the sysadmin database after a successful Conversion, then you must also rebuild the sysadmin database after a successful Reversion , failing which you may see unpredictable behaviour relating to HDR fail overs. ------------------------------ Kirit Rana ------------------------------
Thanks a lot ------------------------------ Sh To ------------------------------
Hello Art, Could you please help me to tell me what parameter should be set in ONCONFIG file with values (in both ONCONFIG or Higher version only) ? And should we use same page size and same structure (Like number of dbspace , size of dbspace etc) Thanks Amit ------------------------------ AMIT PATEL ------------------------------
Amit:
Yes, you can use the same disk structures and page sizes. I assume by that question that you will be doing a migration rather than a reversion which is the better choice if the v14.10 engine has been active for a long while. You can use the output from either "dbaccess -c -ns" command or "myschema --infrastructure" to recreate the on-disk structures once you have initialized a clean v12.10 instance.
As for the ONCONFIG settings, the best thing to do is to use the onconfig_diff script in $INFORMIXDIR/bin to compare the v12.10 onconfig.std to the onconfig.std from v14.10 to see if any parameter settings and defaults look like they might need to be changed in your live ONCONFIG file. For the most part, parameters new to v14.10 will be ignored by v12.10, so that's not an issue. You are looking for older discontinued parameters in the v12.10 onconfig.std that you do not have in your live v14.10 ONCONFIG that you will want to put back in. I don't have an active v12.10 installation anymore, so I cannot be more specific.
Art
------------------------------
Art S. Kagel, President and Principal Consultant
ASK Database Management Corp.
www.askdbmgt.com
------------------------------