Subject Re: Sick Database - Need Advice
Author Craig Cox
--- In firebird-support@yahoogroups.com, Thomas Steinmaurer <ts@...> wrote:
>
> > --- In firebird-support@yahoogroups.com, Thomas Steinmaurer <ts@> wrote:
> >>
> >>> --- In firebird-support@yahoogroups.com, Thomas Steinmaurer <ts@> wrote:
> >>>>
> >>>>> --- In firebird-support@yahoogroups.com, Thomas Steinmaurer <ts@> wrote:
> >>>>>>
> >>>>>>> I am migrating FB 1.5 databases on a Linux box to FB 2.5 on a Windows server. All proceeded according to plan. However, I have one database that is complaining. I backed it up from the command prompt. I use IBExpert as my front end on the Windows machine, and use it to restore my databases.
> >>>>>>>
> >>>>>>> The sick database seems to function correctly, but will not restore from a backup. I can provide a log of the restore if someone would like to look at it.
> >>>>>>
> >>>>>> Any error message upon restore?
> >>>>>>
> >>>>>>
> >>>>>> --
> >>>>>> With regards,
> >>>>>> Thomas Steinmaurer
> >>>>>> http://www.upscene.com/
> >>>>>>
> >>>>> Plenty. I have the log
> >>>>
> >>>> Is it too long for posting it here?
> >>>>
> >>>> Usually the last part of the restore log including the error message
> >>>> should be sufficient.
> >>>>
> >>>> --
> >>>> With regards,
> >>>> Thomas Steinmaurer
> >>>> http://www.upscene.com/
> >>>>
> >>>
> >>> Here is a chunk that has the errors in it
> >>>
> >>> gbak: restoring column UNITS_PK
> >>> gbak: restoring column MULTIPLIER
> >>> gbak: restoring column PIECES
> >>> gbak: restoring column SUPPLIER_ORDER_NO
> >>> gbak:committing metadata for table ORDERS
> >>> gbak:error committing metadata for table ORDERS
> >>> gbak: ERROR:unsuccessful metadata update
> >>> gbak: ERROR: ORDERS
> >>> gbak: ERROR: Implementation of text subtype 65280 not located.
> >>
> >> This seems to be an inconsistency in Firebird 1.5 system tables, which
> >> strikes back when restoring under Firebird 2.
> >>
> >> Can you please run the following SQL on the 1.5 database?
> >>
> >> select
> >> rdb$collation_id
> >> , count(*)
> >> from
> >> rdb$relation_fields
> >> group by
> >> rdb$collation_id
> >>
> >>
> >>
> >> --
> >> With regards,
> >> Thomas Steinmaurer
> >> http://www.upscene.com/
> >>
> >
> > RDB$COLLATION_ID COUNT
> > 322
> > -1 1
> > 0 63
>
> A warning: Direct system table updates can damage your database and
> should be avoided whenever you can, but for your above problem, you
> could try the following UPDATE statement on a COPY of your Firebird 1.5
> database. And please take a copy only, when nobody is connected to the
> database:
>
> update rdb$relation_fields set rdb$collation_id = 0 where
> rdb$collation_id = -1;
>
> commit;
>
>
> Then, backup your 1.5 database with Firebird 1.5 and restore it with
> Firebird 2.5.
>
>
>
> --
> With regards,
> Thomas Steinmaurer
> http://www.upscene.com/



Thomas - Thank you so much for your help.