RE: Migration question
Posted in 2005
> >You can use multiple copies of my dbcopy utility to copy the data
> > directly from the old server to the new one once the DB is
> setup. The
> > utils4_ak package has awk scripts that post-process
> dbschema/myschema
> output
> > to produce a dbcopy script (among others).
> >
>
> Thank you, Art. I will check out dbcopy. I'm inferring from your
> suggestion that dbcopy would facilitate getting a consistent
> copy of an
> online database from one server to another. That sure would
> be what the
> doctor ordered.
>
> DG
>
David,
I have used Art's dbcopy for just this purpose many times very successfully.
Generally, I create the target database (without logging), and create all of
the tables *only*, i.e., no constraints, no indices, etc. Then I run
several parallel copies of dbcopy, each one for a separate table.
<<< NOTE >>> The source table must be "quiescent" during the dbcopy for that
table. Dbcopy is basically a very streamlined version of "insert into
<target_table> select * from <source_table>". There is no mechanism there
to ensure the synchronization of data rows if txns continue on the source
table during/after the dbcopy process.
After all of the data has been copied, then I bounce the instance to bring
in a configuration (onconfig & env settings) that is optimized for index
builds, so that I can then build indexes & constraints as quickly as
possible. I also create SP's, triggers, etc., at this time. Then I switch
the db to the appropriate logging mode.
Finally, don't forget update stats -- I recommend Art's dostats utility for
that.
Although this does require an outage, I have found that it is much faster
than dbexport / dbimport, and does not require the extra flat file space to
hold the exported data.
HTH,
Paul Mosser
sending to informix-list