Board index » delphi » Moving a GDB from a server running IB7 back to a server running IB6

Moving a GDB from a server running IB7 back to a server running IB6

Hi everyone,

I wonder if it's possible to move a GDB from a server running Interbase 7
back to a server running IB6 without having to make any changes to my
database or encountering any problems?

My situation is as follows:

I'm performing an conversion from the database (Interbase) of one
application to another database (also Interbase) for an other application.
For this conversion I thought it would be an good idea to merge the
databases into one conversion db. I designed view's on the tables of the
source application. These view's almost look like the tables of the
destination database. With 'INSERT INTO <destination_table> SELECT * FROM
<look-alike_source_view>' SQL statements I pump the data into the tables.
With some triggers and stored procedure I convert the PK's and the FK's to
the right format and finally use a datapump application to insert the data
into the operational database of the new application. I tested this approach
and it works pretty well. But.. (there's always a but) due to the large
amount of data and the heaviness of the view's (they include some joins) the
conversion takes very long to execute. I got me a multi-processor server
hoping this would speed up the process. Unfortunately IB6 does not support
multi-processors and the IB process starts to flip from one processor to
another, resulting in a even slower process. Then I read on the internet
that multi-processors are supported in IB7. I'm hoping that it's possible to
run my conversion GDB under IB7 without having to change anything in my
database and, when the conversion finished, place it back on a server
running IB6 without any problems. I know it would be better to use IB7 from
now on but I'm afraid the destination application will only work smoothly
with IB6.

Can anyone help me with this problem??????

Greetings, Joriz

 

Re:Moving a GDB from a server running IB7 back to a server running IB6


Quote
Joriz wrote:
> I wonder if it's possible to move a GDB from a server running
> Interbase 7 back to a server running IB6 without having to make any
> changes to my database or encountering any problems?

        Yes, presuming that you don't use any IB 7 features.  In practice this
means you should probably be using an ODS 10 DB (i.e., the DB was
restored/created in IB 6 -- IB 7 can use these, but you won't get the
performance monitoring features).  To migrate back to IB 6, use
gbak.exe from IB 6 to backup the DB by connecting to the IB 7 server.
Make sure you do not use the services switch to gbak.  You should then
be able to restore this backup in IB 6.

        Obviously, test this before you commit to anything.

        Finally, note that the SMP server will only speed up your data pump if
the data pump is multithreaded.  A single connection does not benefit
from SMP, except for some help during garbage collection/sweeping.

        -Craig

Re:Moving a GDB from a server running IB7 back to a server running IB6


Quote
>I wonder if it's possible to move a GDB from a server running Interbase 7
>back to a server running IB6 without having to make any changes to my
>database or encountering any problems?

A transportable backup should work if you are not using any of the new
features of IB7.

--
Bill (TeamB)
(TeamB cannot respond to questions received via email)

Re:Moving a GDB from a server running IB7 back to a server running IB6


Single application/connection will not take advantage of more processors anyway,
so just stick with IB6 and assign it to single processor
(depending on the IB version you are using - either by external utility IBAffinity,
or by parameters in ibconfig file, or by setting proper flag in ibserver.exe)

--
Ivan Prenosil
[ I am looking for a job: InterBase - Firebird - Delphi - C - fulltext db - and more ... ]
Ivan.Preno...@seznam.cz
http://www.volny.cz/iprenosil/interbase

"Joriz" <j.van.liesh...@ties-informatica.nl> wrote

Quote
> I wonder if it's possible to move a GDB from a server running Interbase 7
> back to a server running IB6 without having to make any changes to my
> database or encountering any problems?

> My situation is as follows:

> I'm performing an conversion from the database (Interbase) of one
> application to another database (also Interbase) for an other application.
> For this conversion I thought it would be an good idea to merge the
> databases into one conversion db. I designed view's on the tables of the
> source application. These view's almost look like the tables of the
> destination database. With 'INSERT INTO <destination_table> SELECT * FROM
> <look-alike_source_view>' SQL statements I pump the data into the tables.
> With some triggers and stored procedure I convert the PK's and the FK's to
> the right format and finally use a datapump application to insert the data
> into the operational database of the new application. I tested this approach
> and it works pretty well. But.. (there's always a but) due to the large
> amount of data and the heaviness of the view's (they include some joins) the
> conversion takes very long to execute. I got me a multi-processor server
> hoping this would speed up the process. Unfortunately IB6 does not support
> multi-processors and the IB process starts to flip from one processor to
> another, resulting in a even slower process. Then I read on the internet
> that multi-processors are supported in IB7. I'm hoping that it's possible to
> run my conversion GDB under IB7 without having to change anything in my
> database and, when the conversion finished, place it back on a server
> running IB6 without any problems. I know it would be better to use IB7 from
> now on but I'm afraid the destination application will only work smoothly
> with IB6.

Re:Moving a GDB from a server running IB7 back to a server running IB6


Quote
> Actually this is not totally true.  If you have a "Single
> application/connection" that does a lot of work, you may see an
> advantage on a SMP system.  For one thing, we have a garbage collection
> going on and (depending on your settings) sweep threads running.  Having
> said all that, in most single connection apps you are correct.  The best
> way for IB7 users to test this out is set Affinity to 1 and max threads
> to 1 in your ibconfig file.  If performance goes up, then your
> application will not benefit from SMP.

To add to this, if you do live replication and/or live backups a lot,
you may also find that SMP is the way to go....

Thanks,
Aaron Ruddick
InterBase QA

Re:Moving a GDB from a server running IB7 back to a server running IB6


Quote
> Single application/connection will not take advantage of more processors anyway,
> so just stick with IB6 and assign it to single processor
> (depending on the IB version you are using - either by external utility IBAffinity,
> or by parameters in ibconfig file, or by setting proper flag in ibserver.exe)

Actually this is not totally true.  If you have a "Single
application/connection" that does a lot of work, you may see an
advantage on a SMP system.  For one thing, we have a garbage collection
going on and (depending on your settings) sweep threads running.  Having
said all that, in most single connection apps you are correct.  The best
way for IB7 users to test this out is set Affinity to 1 and max threads
to 1 in your ibconfig file.  If performance goes up, then your
application will not benefit from SMP.

 > so just stick with IB6
There are other features in IB6.5 and IB7.0 besides SMP support.  Also,
we have a new release of 7 (IB7.1) coming soon.  IMHO, if you are having
trouble with IB7 either post your problems and get work a around or wait
for IB7.1.

Thank you,
Aaron Ruddick
InterBase QA

Other Threads