Subject | RE: [firebird-support] Restore error during unique index creation |
---|---|
Author | Leyne, Sean |
Post date | 2013-10-11T17:28:12Z |
Bob,
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
> I have a 100GB database that I am trying to run a restore on after a successfulAlthough 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".
> 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
> The restore log indicates that approximately 30 other indices wereMore 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.
> 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.
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