Re: Informix 5 to 7
Posted in 1997
Byron Washington wrote:
>
> Hi,
>
> I need to convert my Informix 5 system to Informix 7. I was told
> I need to use Informix's relay module to accomplish this & there is
> a very big performance hit when this conversion is done. Does anyone
> have any expertise in this area?
From your question I assume that you have an application written in
ESQL/C or 4GL versions 5.0x. If you can recompile our source code using
the 7.xx versions of these products then the relay module is a
non-issue. The purpose of the relay module is to allow programs
compiled under 5.0x to execute under 7.xx (BTW relay module versions
prior to 7.14 cause serious engine hangs avoid these). The relay module
looks like an sqlturbo to the 5.0x executable but connects to the 7.xx
database like a native program, hence relaying 5.0x requests to 7.xx.
Performance should still be better than 5.0x because the 7.xx engine is
a better engine with a more advanced optimizer but not quite as good as
a native 7.xx compiled executable. Also you will not be able to take
advantage of 7.xx features such as multiple connections which can also
act to speed up complex applications.
> Also, what's involved in converting an Informix 5 database to
> Informix 7. Does Informix have a utility that makes this task
> simple or is there a lot of work involved.
The conversion is supposed to be automatic and MANY users have
successfully upgraded this way. Here are the steps:
1) You MUST tbcheck the ENTIRE 5.0x instance, running tbcheck -cre on
the instance and tbcheck -ccID for each database. You MUST correct any
problems reported with indexes and you will not be able to convert if
you have page corruption (you will have to unload the database and
reload.
2) You may need to add additional disk space to existing dbspaces to
accomodate the new index format. Indexes will be converted and space
must be added now. You may also need to add space for the SYSMASTER
and SYSUTILS databases in the root dbspace if your rootdb space is
small.
3) You MUST perform a level 0 Archive (tbtape -s) before conversion.
4) Bring the engine OFFLINE (tbmode -ky)
5) Switch to the Informix 7.xx environment (Assuming that the ONCONFIG
and sqlhosts files are set up and all required environment variables
are exported and set and that the OS kernel has been regened and booted
with at least the values suggested in the release notes or higher.)
6) Bring the engine back up to using 7.xx oninit
7) Upgrade all indexes to 7.xx format (system table indexes ONLY are
converted when the engine is brought up). This can be done by running
oncheck -cI; UPDATE STATISTICS; or by manually dropping and recreatingthe indexes. Keep in mind that oncheck does not use parallel sort
techniques to build indexes and that the other methods will be MUCH
faster. Online 7.xx can build indexes using parallel techniques 10-15
times faster than 5.0x could (yes a 6 hour index build now takes <30
minutes with PDQPRIORITY and all of the PSORT_* environment variables
set properly!)
Details and further instructions are in the 7.xx migration guide which
you will get but these are the highlights to help you plan.
Art S. Kagel