Migrating between IDS 5.0 to IDS 7.24
Posted in 2000
Leo Monroy wanted to move a database from IDS 5.0 to IDS 7.24 using dbexport/dbimport via 4mm DAT tape, but dbimport on Solaris 2.6 failed because the drive/OS wouldn't honour the 1024-byte tape block size (reverting to 512), and he lacked disk space for a file-based export. Suggestions: pass -b/-s block/tape sizes, avoid tape entirely (export to disk, NFS, a temporary extra drive, or a FIFO), note dbexport's ~2GB tape file limit, never put the schema on tape, or build the new 7.x database empty and copy data with INSERT INTO...SELECT across servers — Art Kagel pointed to his IIUG utilities (myschema, dbcopy, mk_copy.awk/mk_dbcopy.awk) to automate that. No confirmation from the poster of which approach worked.
Auto-generated by DrWatson from the posts below — may be imperfect; read the full thread.
Topics: Migration, Import/Export & Data Conversion, Platform-Specific Issues, Versions, Editions & End-of-Life
Hi All,
I am trying to migrate between two different versions of Informix
Dynamic Server. I am using the dbexport utility to write (data and
scheme) to a 4mm DAT tape. I put the data tape into a Solaris 2.6 box
and run the dbimport utility. The dbimport fails because the either the
OS or the tape drive firmware is not able to read at 1024 tape blocks.
Can someone suggest an alternative method for writing the data and
scheme onto the tape and for reading if off the tape, so that I am able
to reconstruct the database and reload the database tables.
Thanks
Are you specifying the block size in your dbexport/import commands? In case
you are not:
You can specify a block size (-b size) and tape size (-s size) in dbexport
and dbimport commands and then try. BTW, I do not remember running into a
problem with Solaris not liking a 1024 tape block size...
My preference, however, has always been to use disk for dbexport and
dbimport (assuming enough free disk space). If necessary, you can tar the
export files and carry over to the destination box. If you have the free
disk space, I would recommend forgetting about tape...
Hal Maner
M Systems International, Inc.
Leo Monroy <monroy@cig.mot.com> wrote in message
news:38F76214.EF144AA2@cig.mot.com...
> Hi All,
>
> I am trying to migrate between two different versions of Informix
> Dynamic Server. I am using the dbexport utility to write (data and
> scheme) to a 4mm DAT tape. I put the data tape into a Solaris 2.6 box
> and run the dbimport utility. The dbimport fails because the either the
> OS or the tape drive firmware is not able to read at 1024 tape blocks.
>
> Can someone suggest an alternative method for writing the data and
> scheme onto the tape and for reading if off the tape, so that I am able
> to reconstruct the database and reload the database tables.
>
> Thanks
>
I know what you mean when you say forget about tape, but my problem is that on
the backup machine I don't have enough disk space to store that much data. I do
use -b and -s but either the tape driver or the tape firmware is ignoring that
because it always default to 512 when it tries to read the tape on the Solaris
box. I have a service order with Sun to try and fix that.
I am looking for alternative solutions that wont require NFS mounting or
connecting an external hard drive. My main dilemma is being able to save the
database schema onto tape. I have no problem unloading the data onto tape. I was
wondering if I could use dbschema some how to to do this. I am willing to try
anything no matter how ugly it might be so long it works.
Regards
Leo
Hal Maner wrote:
> Are you specifying the block size in your dbexport/import commands? In case
> you are not:
>
> You can specify a block size (-b size) and tape size (-s size) in dbexport
> and dbimport commands and then try. BTW, I do not remember running into a
> problem with Solaris not liking a 1024 tape block size...
>
> My preference, however, has always been to use disk for dbexport and
> dbimport (assuming enough free disk space). If necessary, you can tar the
> export files and carry over to the destination box. If you have the free
> disk space, I would recommend forgetting about tape...
>
> Hal Maner
> M Systems International, Inc.
>
> Leo Monroy <monroy@cig.mot.com> wrote in message
> news:38F76214.EF144AA2@cig.mot.com...
> > Hi All,
> >
> > I am trying to migrate between two different versions of Informix
> > Dynamic Server. I am using the dbexport utility to write (data and
> > scheme) to a 4mm DAT tape. I put the data tape into a Solaris 2.6 box
> > and run the dbimport utility. The dbimport fails because the either the
> > OS or the tape drive firmware is not able to read at 1024 tape blocks.
> >
> > Can someone suggest an alternative method for writing the data and
> > scheme onto the tape and for reading if off the tape, so that I am able
> > to reconstruct the database and reload the database tables.
> >
> > Thanks
> >
Another problem you may run into is the dbexport is limited to roughly 2 GB
when writing to tape. This is a limitation of the export file and not the
total database file.
I would recommend finding some disk space for the export. Adding another
drive temporarily should be fairly painless.
----------------------------------------------------------------------------
---
Larry Foote
LFoote@pipeline.com
"Leo Monroy" <monroy@cig.mot.com> wrote in message
news:38F78EF5.5BACAA41@cig.mot.com...
> I know what you mean when you say forget about tape, but my problem is
that on
> the backup machine I don't have enough disk space to store that much data.
I do
> use -b and -s but either the tape driver or the tape firmware is ignoring
that
> because it always default to 512 when it tries to read the tape on the
Solaris
> box. I have a service order with Sun to try and fix that.
>
> I am looking for alternative solutions that wont require NFS mounting or
> connecting an external hard drive. My main dilemma is being able to save
the
> database schema onto tape. I have no problem unloading the data onto tape.
I was
> wondering if I could use dbschema some how to to do this. I am willing to
try
> anything no matter how ugly it might be so long it works.
>
> Regards
> Leo
>
> Hal Maner wrote:
>
> > Are you specifying the block size in your dbexport/import commands? In
case
> > you are not:
> >
> > You can specify a block size (-b size) and tape size (-s size) in
dbexport> > and dbimport commands and then try. BTW, I do not remember running into
a
> > problem with Solaris not liking a 1024 tape block size...
> >
> > My preference, however, has always been to use disk for dbexport and
> > dbimport (assuming enough free disk space). If necessary, you can tar
the
> > export files and carry over to the destination box. If you have the
free
> > disk space, I would recommend forgetting about tape...
> >
> > Hal Maner
> > M Systems International, Inc.
> >
> > Leo Monroy <monroy@cig.mot.com> wrote in message
> > news:38F76214.EF144AA2@cig.mot.com...
> > > Hi All,
> > >
> > > I am trying to migrate between two different versions of Informix
> > > Dynamic Server. I am using the dbexport utility to write (data and
> > > scheme) to a 4mm DAT tape. I put the data tape into a Solaris 2.6 box
> > > and run the dbimport utility. The dbimport fails because the either
the
> > > OS or the tape drive firmware is not able to read at 1024 tape blocks.
> > >
> > > Can someone suggest an alternative method for writing the data and
> > > scheme onto the tape and for reading if off the tape, so that I am
able
> > > to reconstruct the database and reload the database tables.
> > >
> > > Thanks
> > >
>
Leo Monroy wrote:
> Hi All,
>
> I am trying to migrate between two different versions of Informix
> Dynamic Server. I am using the dbexport utility to write (data and
> scheme) to a 4mm DAT tape. I put the data tape into a Solaris 2.6 box
> and run the dbimport utility. The dbimport fails because the either the
> OS or the tape drive firmware is not able to read at 1024 tape blocks.
>
> Can someone suggest an alternative method for writing the data and
> scheme onto the tape and for reading if off the tape, so that I am able
> to reconstruct the database and reload the database tables.
I seem to remember being told never to allow the schema
to be written to tape, even if you have to put the data
to tape. You say you don't have enough disk space on the
original machine. Is there enough on the new machine?
Could you use an NFS-mounted file system? Could you
write to a FIFO and have another process read the FIFO
and transfer the data to the remote machine?
--
Jonathan Leffler (jleffler@informix.com, jleffler@earthlink.net)
Guardian of DBD::Informix v1.00.PC1 -- see http://www.perl.com/CPAN
#include <disclaimer.h>
If understand correctly your main issue is to import data into IDS
7.31. This is my suggestion.
Create new environment with 7.31 and then create database, dbspaces,
tables (without data). Then write an
insert into new environment x_table
select * from oldenvironment.x_table
I don't remember exact syntax so please check the manual but I think
this is one of the fastest way to insert / import / export data.
Let us know your feedback
thanks
Vivek Chaudhary
On Fri, 14 Apr 2000 13:23:16 -0500, Leo Monroy <monroy@cig.mot.com>
wrote:
>Hi All,
>
>I am trying to migrate between two different versions of Informix
>Dynamic Server. I am using the dbexport utility to write (data and
>scheme) to a 4mm DAT tape. I put the data tape into a Solaris 2.6 box
>and run the dbimport utility. The dbimport fails because the either the
>OS or the tape drive firmware is not able to read at 1024 tape blocks.
>
>Can someone suggest an alternative method for writing the data and
>scheme onto the tape and for reading if off the tape, so that I am able
>to reconstruct the database and reload the database tables.
>
>Thanks
>
pgcs@pgcs.com wrote:
>
> If understand correctly your main issue is to import data into IDS
> 7.31. This is my suggestion.
>
> Create new environment with 7.31 and then create database, dbspaces,
> tables (without data). Then write an
>
> insert into new environment x_table
> select * from oldenvironment.x_table>
> I don't remember exact syntax so please check the manual but I think
> this is one of the fastest way to insert / import / export data.
>
> Let us know your feedback
>
> thanks
>
> Vivek Chaudhary
>
> On Fri, 14 Apr 2000 13:23:16 -0500, Leo Monroy <monroy@cig.mot.com>
> wrote:
>
> >Hi All,
> >
> >I am trying to migrate between two different versions of Informix
> >Dynamic Server. I am using the dbexport utility to write (data and
> >scheme) to a 4mm DAT tape. I put the data tape into a Solaris 2.6 box
> >and run the dbimport utility. The dbimport fails because the either the
> >OS or the tape drive firmware is not able to read at 1024 tape blocks.
> >
> >Can someone suggest an alternative method for writing the data and
> >scheme onto the tape and for reading if off the tape, so that I am able
> >to reconstruct the database and reload the database tables.
Leo:
With some of the utilities I have uploaded this is easier than it
sounds, indeed this is the EXACT task for which many of them were
written and for which specific features of others were added. Using
myschema you can get an IDS 7.xx compatible schema script, complete
with IN <dbspace> clauses, from your 5.xx server. Using the
mk_copy.awk script you can parse that schema and output an SQL script
that will implement the INSERT INTO...SELECT...FROM... statements for
each table that Vivek suggests. If you use the script mk_dbcopy.awk
instead it will output a ksh script to run my dbcopy utility to copy
the tables instead which is up to 3X faster than the pure SQL method
and which will work if you have different logging modes in the database
on the two servers. Dbcopy and myschema and in the package utils2_ak
and the awk scripts are in utils4_ak both available from the IIUG
Software Repository.
--
Art S. Kagel & Family
kagel@erols.com