Re: Easiest way to install ODS Upgrade.
Posted in 1997
On Fri, 7 Nov 1997, David Williams wrote: > In article <34630F3C.39AF2409@indigo.ie>, Ciaran Kelly <rteeng@indigo.ie> writes > >Can someone suggest the easiest way to upgrade online. I'm currently > >using version 7.20 on a Solaris machine. Installing 7.23, and following > >the TEN rule, I must create a directory, install ODS, followed by > >I-Connnect and I-CLI. This is fine exept for the fact that I also use > >ESQL/C and NewEra, which means that for each engine upgrade, I must > >re-install these followed by the engine, then the network software. > > > >Is there an easier way? > > > >Can I have separate install directories for each tool, engine and > >network component and somehow merge them into one directory? > > Not easily although Johnathon will probably find a way. > > How about installing ESQL/C and Newera, then tar'ing $INFORMIXDIR > to a backup file to save having to reinstall it for the next upgrade? I suspect there was a reference to Sam Leffler above :-) In the IIUG software archives, under the DBA section, there is a downloadable pile of software under the heading 'utils_jl': http://www.iiug.org/software/software_index.html#DBA The utils_jl shell archive contains, amongst other things, the tools: cpinfxdir ixcreate ixremove mkinfxdir mkixcpio These are the tools I use for making composite INFORMIXDIR structures. The fundamental ones, and the ones you should probably be using, are ixcreate and ixremove. The ixcreate script will copy files from one or more selected Informix software packages in some location A into location B. By default, it does this non-destructively; it only copies the file from A if it does not already exist in B. The copy can be a symbolic link or a physical copy. You can control all sorts of things; see the man page. The ixremove script will remove files from a directory corresponding to one or more Informix software packages, leaving behind any of the files that are still in use by other packages not being removed. In using this software, I do a regulation install of a set of closely related software (eg OnLine + SE + ESQL/C 7.20.UC1) into a directory such as /anubis1/informix/7.20.UC1. Similarly, I'd put I4GL + I4GL-RDS + I4GL-ID + ISQL 6.05.UC1 into another directory, /anubis2/informix/6.05.UC1, depending on where there was space. When I want to create a working INFORMIXDIR with OnLine + ESQL/C 7.20.UC1 and I4GL + I4GL-RDS + I4GL-ID 6.05.UC1, I decide on the new INFORMIXDIR, /usr/informix/7.20.UC1, and execute the commands: ixcreate -glovd -R /anubis1/informix/7.20.UC1 -L /usr/informix/7.20.UC1 \\ -F onlinefiles -F esqlfiles ixcreate -glovd -R /anubis2/informix/6.05.UC1 -L /usr/informix/7.20.UC1 \\ -F fglfiles -F fgpfiles -F fgldbfiles I then create the necessary OnLine configuration files (etc/sqlhosts by making a symlink to my central sqlhosts file, and the specific etc/onconfig for the OnLine instance by editing in the etc directory; you can't use a central location for the onconfig files because tools such as OnMonitor remove and rewrite the files, thus breaking the symlinks), bring up the OnLine system, set INFORMIXDIR to the new value, adjust INFORMIXSERVER, PATH, LD_LIBRARY_PATH, and I'm off. If I subsequently want to upgrade this configuration by converting from 6.05.UC1 to (the currently hypothetical) 6.10.UC1 release of I4GL etc, then I will install the 6.10.UC1 software in /anubis1/informix/6.10.UC1, and then modify the working INFORMIXDIR using: ixremove -I /usr/informix/7.20.UC1 \\ -F fglfiles -F fgpfiles -F fgldbfiles ixcreate -glovd -R /anubis1/informix/6.10.UC1 -L /usr/informix/7.20.UC1 \\ -F fglfiles -F fgpfiles -F fgldbfiles Note that I generally install the more recent software first (the reverse of the rule of TEN) because I use ixcreate in a non-destructive mode. There is an option, -f, which forcibly overwrites the pre-existing versions of the files. This should be used if you create the working INFORMIXDIR directory using the rule of TEN. Note, too, that I'd more typically create a new INFORMIXDIR from scratch, install the relevant software in it, and then juggle the directory names so that the new software is installed where the old was: mkdir -p /usr/informix/7.20.UC1.new ixcreate -glovd -R /anubis1/informix/7.20.UC1 -L /usr/informix/7.20.UC1 \\ -F onlinefiles -F esqlfiles ixcreate -glovd -R /anubis1/informix/6.10.UC1 -L /usr/informix/7.20.UC1 \\ -F fglfiles -F fgpfiles -F fgldbfiles # fix onconfig and sqlhosts # take down the old /usr/informix/7.20.UC1 OnLine. mv /usr/informix/7.20.UC1 /usr/informix/7.20.UC1.old mv /usr/informix/7.20.UC1.new /usr/informix/7.20.UC1 # bring up the new OnLine (no change of INFORMIXDIR needed!) # when sure that the new configuration works rm -fr /usr/informix/7.20.UC1.old Note the I4GL and NewEra cannot co-exist in the same INFORMIXDIR! Also note that things such as CLI can be installed and removed using the same general techniques. Yours, Jonathan Leffler (johnl@informix.com) #include <witticism.h>