Subject RE: [firebird-support] Restore error during unique index creation
Author Leyne, Sean
Bob,

> I have a 100GB database that I am trying to run a restore on after a successful
> backup.  This is on a new virtual Windows Server 2008 box running FB 2.1.5
> Classic 32-bit (due to some UDFs that have not been ported).
>
> After 26 hours of restore, the process quits with this error:
>
> gbak:    activating and creating deferred index VOC_UNQ gbak:cannot
> commit index VOC_UNQ
> gbak: ERROR:operating system directive CreateFile failed
> gbak: ERROR:    The system cannot find the path specified.
> gbak:    activating and creating deferred index PK_VOC gbak:cannot commit
> index PK_VOC
> gbak: ERROR:operating system directive CreateFile failed

Although I don't recall running into this error (in 18 years of IB/FB use), the error suggests that the restore either ran out of free disk space for the Temp file drive or the Temp file drive experienced a "burp".


> The restore log indicates that approximately 30 other indices were
> successfully created prior to this error.  The "CreateFile failed" message has
> me concerned.  I checked Firebird.conf for temp directories, and I see that
> we did not have the temp directory created on this box
> (C:\TempFirebird).  I'm not sure this is the issue, as some of the tables from
> the 30 successful indexes have many times more records than the table
> indicated in the error message.

More rows does not mean that this index could not run into a problem, it is about the total size of the temp structures which the select/sort and merge that the index build process needs.

Do some quick math and multiply the number of rows by the 'exploded' data type size of the index field(s) (exploded = max size of the fields, ie. VARCHAR(80) = 82) plus 16 bytes.

What is that number compared to the free disk space of the Temp disk?


Sean