Migrating from IDS 9.40.UC6 to 11.50.UC3
Posted in 2009
Alexander upgraded IDS 9.40 (64-bit) to 11.50 on Solaris/SPARC; the in-place conversion appeared to hang after converting sysmaster/sysutils/sysuser, with no "Conversion Completed Successfully" message and a long checkpoint. Advice was to check onstat -g ath / -g stk; he simply re-ran the whole upgrade and it reached multi-user mode in minutes (the completion message never appeared, apparently a doc discrepancy). Art Kagel advised dropping and rebuilding distributions and recompiling procedures (e.g. via dostats) before testing. A follow-up problem — linking dostats against the 64-bit ESQL libraries (-lifsql "incompatible") since no 32-bit CSDK was available — is left unresolved in the thread.
Auto-generated by DrWatson from the posts below — may be imperfect; read the full thread.
Topics: High Availability & Replication, Installation, Setup & Upgrades, Storage & Space Management, Server Administration, Security, Permissions & Auditing, Logging & Checkpoints, Networking & sqlhosts Configuration, Migration, Import/Export & Data Conversion, Platform-Specific Issues, Versions, Editions & End-of-Life
Hello everybody,
We are currently running IDS 9.40UC6 on top of Solaris/Sparc 9 and in
about two weeks we will be moving that to new location. We couldn't
get support for IDS 9.40 so may be it is good time to upgrade to more
recent Informix version.
I tried to follow migration procedure using our test server.
Installation went almost flawless and after copying onconfig and
sqlhosts from previous installation I started oninit that supposed to
automatically convert database. Documentation says that conversion is
done when online.log contains "Conversion Completed Successfully". It
started well without any errors:
15:55:03 IBM Informix Dynamic Server Started.
Sat Apr 4 15:55:08 2009
15:55:08 Event alarms enabled. ALARMPROG = '/opt/informix/etc/alarmprogram.sh'
15:55:09 Booting Language <c> from module <>
15:55:09 Loading Module <CNULL>
15:55:09 Booting Language <builtin> from module <>
15:55:09 Loading Module <BUILTINNULL>
15:55:09 Warning: CONSOLE = /dev/console open failed. Redirecting
output to '/dev/null'.
15:55:16 DR: DRAUTO is 0 (Off)
15:55:16 DR: ENCRYPT_HDR is 0 (HDR encryption Disabled)
15:55:16 Requested shared memory segment size rounded from 560KB to1024KB
15:55:16 Fast poll /dev/poll enabled.
15:55:16 IBM Informix Dynamic Server Version 11.50.FC3 SoftwareSerial Number AAA#B000000
15:55:17 Conversion from version 9.40 Started
15:55:17 Checking partition header pages for needed free space
15:55:19 Checking for free space in partition header pages succeeded
15:55:29 IBM Informix Dynamic Server Initialized -- Shared MemoryInitialized.
15:55:29 Started 1 B-tree scanners.
15:55:29 B-tree scanner threshold set at 5000.
15:55:29 B-tree scanner range scan size set to -1.
15:55:29 B-tree scanner ALICE mode set to 6.
15:55:29 B-tree scanner index compression level set to med.
15:55:29 Physical Recovery Started at Page (1:84371).
15:55:29 Physical Recovery Complete: 0 Pages Examined, 0 Pages
Restored.
15:55:29 Logical Recovery Started.
15:55:29 22 recovery worker threads will be started.
15:55:30 Going to conv
15:55:31 Logical Recovery has reached the transaction cleanup phase.
15:55:31 Logical Recovery Complete. 0 Committed, 0 Rolled Back, 0 Open, 0 Bad Locks
15:55:32 Onconfig parameter CONSOLE modified from /dev/console to /
dev/null.
15:55:32 Onconfig parameter SHMBASE modified from 167772160 to4462739456.
15:55:32 Onconfig parameter STACKSIZE modified from 64 to 128.
15:55:32 Dataskip is now OFF for all dbspaces
15:55:33 Conv/rev: Started check phase of conversion for componentRSAM
15:55:33 Conv/rev: Finished check phase of conversion for componentRSAM
15:55:33 Conv/rev: Started check phase of conversion for componentSQL
15:55:33 Conv/rev: Finished check phase of conversion for componentSQL
15:55:33 Conv/rev: Started check phase of conversion for componentSMI
15:55:33 Conv/rev: Finished check phase of conversion for componentSMI
15:55:33 Conv/rev: Started check phase of conversion for componentBAR
15:55:33 Conv/rev: Finished check phase of conversion for componentBAR
15:55:33 Conv/rev: Started check phase of conversion for componentPLOAD
15:55:33 Conv/rev: Finished check phase of conversion for componentPLOAD
15:55:33 Conv/rev: Started check phase of conversion for componentRTREE
15:55:33 Conv/rev: Finished check phase of conversion for componentRTREE
15:55:33 Conv/rev: Started check phase of conversion for componentSECURE
15:55:33 Conv/rev: Finished check phase of conversion for componentSECURE
15:55:33 Conv/rev: Started check phase of conversion for componentSCHAPI
15:55:33 calling schapi_cvr1150_check_convertable
15:55:33 Conv/rev: Finished check phase of conversion for componentSCHAPI
15:55:33 Conv/rev: Started check phase of conversion for component HA
15:55:33 Conv/rev: Finished check phase of conversion for componentHA
15:55:33 Conv/rev: Started conversion for component RSAM
15:55:33 Converting Secondary Partition Header Pages Started
15:55:33 Converting Secondary Partition Header Pages Succeeded
15:55:33 Checkpoint Completed: duration was 1 seconds.
15:55:33 Sat Apr 4 - loguniq 53042, logpos 0x6018, timestamp:0xd4da7e0b Interval: 2
15:55:33 Maximum server connections 0
15:55:33 Checkpoint Statistics - Avg. Txn Block Time 0.000, # Txnsblocked 1, Plog used 856, Llog used 1
15:55:33 Quiescent Mode
15:55:34 Checkpoint Completed: duration was 0 seconds.
15:55:34 Sat Apr 4 - loguniq 53042, logpos 0x7044, timestamp:0xd4da7e16 Interval: 3
15:55:34 Maximum server connections 0
15:55:34 Checkpoint Statistics - Avg. Txn Block Time 0.001, # Txnsblocked 0, Plog used 26, Llog used 1
15:55:34 Conv/rev: Finished conversion for component RSAM
15:55:34 Conv/rev: Started conversion for component SQL
15:55:34 processing sysmaster
15:55:34 Converting database sysmaster ...
15:55:34 Single-User Mode.
15:55:34 Affinitied VP 1 to phys proc 1
15:55:34 Affinitied VP 4 to phys proc 5
15:55:34 Affinitied VP 11 to phys proc 14
15:55:34 Affinitied VP 9 to phys proc 12
15:55:34 Affinitied VP 3 to phys proc 4
15:55:34 Affinitied VP 8 to phys proc 11
15:55:34 Affinitied VP 12 to phys proc 15
15:55:34 Affinitied VP 10 to phys proc 13
15:55:34 Affinitied VP 5 to phys proc 8
15:55:34 Affinitied VP 6 to phys proc 9
15:55:34 Affinitied VP 7 to phys proc 10
15:55:34 The database sysmaster has been converted successfully.
15:55:34 Converting database sysmaster ...
15:55:37 The database sysmaster has been converted successfully.
15:55:37 Converting database sysmaster ...
15:55:37 The database sysmaster has been converted successfully.
15:55:37 processing sysutils
15:55:37 Converting database sysutils ...
15:55:38 The database sysutils has been converted successfully.
15:55:38 Converting database sysutils ...
15:55:56 The database sysutils has been converted successfully.
15:55:56 Converting database sysutils ...
15:55:56 The database sysutils has been converted successfully.
15:55:56 processing sysuser
15:55:56 Converting database sysuser ...
15:56:02 The database sysuser has been converted successfully.
15:56:02 Converting database sysuser ...
15:56:20 The database sysuser has been converted successfully.
15:56:20 Converting database sysuser ...
15:56:20 The database sysuser has been converted successfully.
16:26:44 Checkpoint Completed: duration was 1242 seconds.
16:26:44 Sat Apr 4 - loguniq 53042, logpos 0x804018, timestamp:0xd4db1393 Interval: 4
16:26:44 Maximum server connections 0
16:26:44 Checkpoint Statistics - Avg. Txn Block Time 0.001, # Txnsblocked 0, Plog used 1273, Llog used 2045
It's been silent for almost two hours since last event. No expected
"Conversion Completed Successfully" so far and no errors either.
I'm just wondering if that's is normal. How long it supposed to take
for relatively small database (about 25Gb Level 0 archive)?
There is shell script /opt/informix/etc/dummyupds that has been on
process list for all that time. It started dbaccess to execute some@@
On Apr 4, 6:11 pm, Alexander <homo.programme...@gmail.com> wrote:
> Hello everybody,
>
> We are currently running IDS 9.40UC6 on top of Solaris/Sparc 9 and in
> about two weeks we will be moving that to new location. We couldn't
> get support for IDS 9.40 so may be it is good time to upgrade to more
> recent Informix version.
>
> I tried to follow migration procedure using our test server.
> Installation went almost flawless and after copying onconfig and
> sqlhosts from previous installation I started oninit that supposed to
> automatically convert database. Documentation says that conversion is
> done when online.log contains "Conversion Completed Successfully". It
> started well without any errors:
>
> 15:55:03 IBM Informix Dynamic Server Started.>
> Sat Apr 4 15:55:08 2009
>
> 15:55:08 Event alarms enabled. ALARMPROG = '/opt/informix/etc/> alarmprogram.sh'
> 15:55:09 Booting Language <c> from module <>
> 15:55:09 Loading Module <CNULL>
> 15:55:09 Booting Language <builtin> from module <>
> 15:55:09 Loading Module <BUILTINNULL>
> 15:55:09 Warning: CONSOLE = /dev/console open failed. Redirecting
> output to '/dev/null'.
> 15:55:16 DR: DRAUTO is 0 (Off)
> 15:55:16 DR: ENCRYPT_HDR is 0 (HDR encryption Disabled)
> 15:55:16 Requested shared memory segment size rounded from 560KB to> 1024KB
> 15:55:16 Fast poll /dev/poll enabled.
> 15:55:16 IBM Informix Dynamic Server Version 11.50.FC3 Software> Serial Number AAA#B000000
> 15:55:17 Conversion from version 9.40 Started
> 15:55:17 Checking partition header pages for needed free space
> 15:55:19 Checking for free space in partition header pages succeeded
> 15:55:29 IBM Informix Dynamic Server Initialized -- Shared Memory> Initialized.
>
> 15:55:29 Started 1 B-tree scanners.
> 15:55:29 B-tree scanner threshold set at 5000.
> 15:55:29 B-tree scanner range scan size set to -1.
> 15:55:29 B-tree scanner ALICE mode set to 6.
> 15:55:29 B-tree scanner index compression level set to med.
> 15:55:29 Physical Recovery Started at Page (1:84371).
> 15:55:29 Physical Recovery Complete: 0 Pages Examined, 0 Pages
> Restored.
> 15:55:29 Logical Recovery Started.
> 15:55:29 22 recovery worker threads will be started.
> 15:55:30 Going to conv
> 15:55:31 Logical Recovery has reached the transaction cleanup phase.
> 15:55:31 Logical Recovery Complete.> 0 Committed, 0 Rolled Back, 0 Open, 0 Bad Locks
>
> 15:55:32 Onconfig parameter CONSOLE modified from /dev/console to /
> dev/null.
> 15:55:32 Onconfig parameter SHMBASE modified from 167772160 to> 4462739456.
> 15:55:32 Onconfig parameter STACKSIZE modified from 64 to 128.
> 15:55:32 Dataskip is now OFF for all dbspaces
> 15:55:33 Conv/rev: Started check phase of conversion for component> RSAM
> 15:55:33 Conv/rev: Finished check phase of conversion for component> RSAM
> 15:55:33 Conv/rev: Started check phase of conversion for component> SQL
> 15:55:33 Conv/rev: Finished check phase of conversion for component> SQL
> 15:55:33 Conv/rev: Started check phase of conversion for component> SMI
> 15:55:33 Conv/rev: Finished check phase of conversion for component> SMI
> 15:55:33 Conv/rev: Started check phase of conversion for component> BAR
> 15:55:33 Conv/rev: Finished check phase of conversion for component> BAR
> 15:55:33 Conv/rev: Started check phase of conversion for component> PLOAD
> 15:55:33 Conv/rev: Finished check phase of conversion for component> PLOAD
> 15:55:33 Conv/rev: Started check phase of conversion for component> RTREE
> 15:55:33 Conv/rev: Finished check phase of conversion for component> RTREE
> 15:55:33 Conv/rev: Started check phase of conversion for component> SECURE
> 15:55:33 Conv/rev: Finished check phase of conversion for component> SECURE
> 15:55:33 Conv/rev: Started check phase of conversion for component> SCHAPI
> 15:55:33 calling schapi_cvr1150_check_convertable
> 15:55:33 Conv/rev: Finished check phase of conversion for component> SCHAPI
> 15:55:33 Conv/rev: Started check phase of conversion for component HA
> 15:55:33 Conv/rev: Finished check phase of conversion for component> HA
> 15:55:33 Conv/rev: Started conversion for component RSAM
> 15:55:33 Converting Secondary Partition Header Pages Started
> 15:55:33 Converting Secondary Partition Header Pages Succeeded
> 15:55:33 Checkpoint Completed: duration was 1 seconds.
> 15:55:33 Sat Apr 4 - loguniq 53042, logpos 0x6018, timestamp:> 0xd4da7e0b Interval: 2
>
> 15:55:33 Maximum server connections 0
> 15:55:33 Checkpoint Statistics - Avg. Txn Block Time 0.000, # Txns> blocked 1, Plog used 856, Llog used 1
>
> 15:55:33 Quiescent Mode
> 15:55:34 Checkpoint Completed: duration was 0 seconds.
> 15:55:34 Sat Apr 4 - loguniq 53042, logpos 0x7044, timestamp:> 0xd4da7e16 Interval: 3
>
> 15:55:34 Maximum server connections 0
> 15:55:34 Checkpoint Statistics - Avg. Txn Block Time 0.001, # Txns> blocked 0, Plog used 26, Llog used 1
>
> 15:55:34 Conv/rev: Finished conversion for component RSAM
> 15:55:34 Conv/rev: Started conversion for component SQL
> 15:55:34 processing sysmaster
> 15:55:34 Converting database sysmaster ...
> 15:55:34 Single-User Mode.
> 15:55:34 Affinitied VP 1 to phys proc 1
> 15:55:34 Affinitied VP 4 to phys proc 5
> 15:55:34 Affinitied VP 11 to phys proc 14
> 15:55:34 Affinitied VP 9 to phys proc 12
> 15:55:34 Affinitied VP 3 to phys proc 4
> 15:55:34 Affinitied VP 8 to phys proc 11
> 15:55:34 Affinitied VP 12 to phys proc 15
> 15:55:34 Affinitied VP 10 to phys proc 13
> 15:55:34 Affinitied VP 5 to phys proc 8
> 15:55:34 Affinitied VP 6 to phys proc 9
> 15:55:34 Affinitied VP 7 to phys proc 10
> 15:55:34 The database sysmaster has been converted successfully.
> 15:55:34 Converting database sysmaster ...
> 15:55:37 The database sysmaster has been converted successfully.
> 15:55:37 Converting database sysmaster ...
> 15:55:37 The database sysmaster has been converted successfully.
> 15:55:37 processing sysutils
> 15:55:37 Converting database sysutils ...
> 15:55:38 The database sysutils has been converted successfully.
> 15:55:38 Converting database sysutils ...
> 15:55:56 The database sysutils has been converted successfully.
> 15:55:56 Converting database sysutils ...
> 15:55:56 The database sysutils has been converted successfully.
> 15:55:56 processing sysuser
> 15:55:56 Converting database sysuser ...
> 15:56:02 The database sysuser has been converted successfully.
> 15:56:02 Converting database sysuser ...
> 15:56:20 The database sysuser has been converted successfully.
> 15:56:20 Converting database sysuser ...
> 15:56:20 The database sysuser has been converted successfully.
> 16:26:44 Checkpoint Completed: duration was 1242 seconds.
> 16:26:44 Sat Apr 4 - loguniq 53042, logpos 0x804018, timestamp:> 0xd4db1393 Interval: 4
>
> 16:26:44 Maximum server connections 0
> 16:26:44 Checkpoint Statistics - Avg. Txn Block Time 0.001, # Txns> blocked 0, Plog used 1273, Llog used 2045
>
> It's been silent for almost two hours since last event. No expected
onstat -g ath ?
onstat -g stk all ?
What IS going (on)?
On Apr 5, 3:18 pm, bluexn...@googlemail.com wrote:
> onstat -g ath ?>
> onstat -g stk all ?>
> What IS going (on)?
Thank you for replying. I was able to successfully convert database by
re-running whole proccess once again. I'm not sure what went wrong
diring first attempt. This time Informix switched to multi-user mode
in couple minutes. I still haven't seen "Conversion Completed
Successfully" but may be migration documentation is out of sync with
reality. Anyway, after it went to multi-user mode I was able to run
any queries and now we are starting to test our software for
compatibility with new IDS version.
Thank you
Alexander
Before you do any testing, you must do the following:
- In every database, for every table:
- UPDATE STATISTICS LOW DROP DISTRIBUTIONS;
- UPDATE STATISTICS according the the recommendations in the
Performance Guide to create new data distributions.
- For every stored procedure and function:
- UPDATE STATISTICS FOR PROCEDURE <procedurename>;
This is neccessary because the format of the data distribution records
stored on disk changes from IDS version to IDS version. If you do not drop
the distributions first, the new update stats do not always work.
My dostats utility will do all of this for you. Run:
dostats -d <database> -L # Drops distributions
dostats -d <database> # Rebuilds distributions and recompiles
procedures
Dostats is included in the package utils2_ak which you can download from the
Oninit web site (www.oninit.com/utils) or the IIUG Software Repository (
www.iiug.org/software)
Art S. Kagel
Oninit (www.oninit.com)
IIUG Board of Directors (art@iiug.org)
Disclaimer: Please keep in mind that my own opinions are my own opinions and
do not reflect on my employer, Oninit, the IIUG, nor any other organization
with which I am associated either explicitly or implicitly. Neither do
those opinions reflect those of other individuals affiliated with any entity
with which I am affiliated nor those of the entities themselves.
On Mon, Apr 6, 2009 at 1:07 PM, Alexander <homo.programmerus@gmail.com>wrote:
> On Apr 5, 3:18 pm, bluexn...@googlemail.com wrote:
> > onstat -g ath ?> >
> > onstat -g stk all ?> >
> > What IS going (on)?
>
> Thank you for replying. I was able to successfully convert database by
> re-running whole proccess once again. I'm not sure what went wrong
> diring first attempt. This time Informix switched to multi-user mode
> in couple minutes. I still haven't seen "Conversion Completed
> Successfully" but may be migration documentation is out of sync with
> reality. Anyway, after it went to multi-user mode I was able to run
> any queries and now we are starting to test our software for
> compatibility with new IDS version.
>
> Thank you
> Alexander
> _______________________________________________
> Informix-list mailing list
> Informix-list@iiug.org
> http://www.iiug.org/mailman/listinfo/informix-list
>
Hi Art,
Thanks for your advice and your great dostats that we have been using
for about an year. It seems there is problem with IDS 11.50. The
subject of this thread supposed to be " Migrating from IDS 9.40.FC6 to
11.50.FC3" because it is 64 bit IDS in both cases. Well, previously we
had IDS 9.40.FC6 along with 32bit CSDK and all 4GL and other ESQL-
dependent utilities were built as 32bit executables.
Now the CSDK comes with IDE (at least it is included in IDS
installation bundle and I can't find separate 32bit CDSK for Solaris/
SPARC) so i can't build 32bit executables using these 64bit libraries.
I tried to edit dostats Makefile to add "-m64" to CFLAGS but it still
fails at the linking time with the following errors:
/usr/local/lib/gcc/sparc-sun-solaris2.9/3.4.6/../../../../sparc-sun-
solaris2.9/bin/ld: skipping incompatible /opt/informix/lib/esql/
libifsql.so when searching for -lifsql
/usr/local/lib/gcc/sparc-sun-solaris2.9/3.4.6/../../../../sparc-sun-
solaris2.9/bin/ld: skipping incompatible /opt/informix/lib/esql/
libifsql.a when searching for -lifsql
/usr/local/lib/gcc/sparc-sun-solaris2.9/3.4.6/../../../../sparc-sun-
solaris2.9/bin/ld: cannot find -lifsql
GNU ld (GNU Binutils) 2.19
Supported emulations:
elf32_sparc
elf64_sparc
collect2: ld returned 1 exit status
make: *** [dostats] Error 1
This is what I have in my Makefile for dostats:
CFLAGS=-O -m64 -EDHAVE_GETOPT_H=1
CC=gcc
This is what file utility things about that library:
$ file /opt/informix/lib/esql/libifsql.so
/opt/informix/lib/esql/libifsql.so: ELF 64-bit MSB dynamic libSPARCV9 Version 1, dynamically linked, not stripped
Please geive me some clue on what is going on. I spent almost a day
trying to solve that with not much luck.
Thanks
Alexander
On Apr 6, 7:35 pm, Art Kagel <art.ka...@gmail.com> wrote:
> Before you do any testing, you must do the following:
>
> - In every database, for every table:
> - UPDATE STATISTICS LOW DROP DISTRIBUTIONS;
> - UPDATE STATISTICS according the the recommendations in the
> Performance Guide to create new data distributions.
> - For every stored procedure and function:
> - UPDATE STATISTICS FOR PROCEDURE <procedurename>;
>
> This is neccessary because the format of the data distribution records
> stored on disk changes from IDS version to IDS version. If you do not drop
> the distributions first, the new update stats do not always work.
> My dostats utility will do all of this for you. Run:
> dostats -d <database> -L # Drops distributions
> dostats -d <database> # Rebuilds distributions and recompiles
> procedures
>
> Dostats is included in the package utils2_ak which you can download from the
> Oninit web site (www.oninit.com/utils) or the IIUG Software Repository (www.iiug.org/software)
>
> Art S. Kagel
> Oninit (www.oninit.com)
> IIUG Board of Directors (a...@iiug.org)
>
> Disclaimer: Please keep in mind that my own opinions are my own opinions and
> do not reflect on my employer, Oninit, the IIUG, nor any other organization
> with which I am associated either explicitly or implicitly. Neither do
> those opinions reflect those of other individuals affiliated with any entity
> with which I am affiliated nor those of the entities themselves.
>
> On Mon, Apr 6, 2009 at 1:07 PM, Alexander <homo.programme...@gmail.com>wrote:
>
> > On Apr 5, 3:18 pm, bluexn...@googlemail.com wrote:
> > > onstat -g ath ?>
> > > onstat -g stk all ?>
> > > What IS going (on)?
>
> > Thank you for replying. I was able to successfully convert database by
> > re-running whole proccess once again. I'm not sure what went wrong
> > diring first attempt. This time Informix switched to multi-user mode
> > in couple minutes. I still haven't seen "Conversion Completed
> > Successfully" but may be migration documentation is out of sync with
> > reality. Anyway, after it went to multi-user mode I was able to run
> > any queries and now we are starting to test our software for
> > compatibility with new IDS version.
>
> > Thank you
> > Alexander
> > _______________________________________________
> > Informix-list mailing list
> > Informix-l...@iiug.org
> >http://www.iiug.org/mailman/listinfo/informix-list