Subject | Re: [firebird-support] Database file modified shortly after NBACKUP -L |
---|---|
Author | Kjell Rilbe |
Post date | 2018-04-08T05:53:52Z |
den 2018-04-07 10:37, skrev Kjell Rilbe
kjell.rilbe@... [firebird-support]:
Now trying with these settings
MaxUnflushedWrites = 100
MaxUnflushedWriteTime = 60
And also 100 select transactions in an isql script between lock and
copy. If this works as expected, I would assume that each transaction
results in at least one disk write (header page?), which should force a
flush. But perhaps the MaxUnflushesWrites param doesn't mean number of
write operations to any page, but rather number of pages that have been
written to? In that case I'm not sure my dummy SQL will have any effect.
Regards,
Kjell
kjell.rilbe@... [firebird-support]:
>Didn't work. I still got a modified file error on copy.
> den 2018-04-06 18:08, skrev hvlad@...
> [firebird-support]:
> >
> > > For now, I've added, between lock and copy, a dummy isql script that
> > > does a select and commits, and then a 1 hour delay before starting
> > copy.
> > > But I fear this won't guarantee that the flush happens before copy
> > starts.
> >
> > How often Firebird flushes database is ruled by two configuration
> > parameters:
> > MaxUnflushedWrites and MaxUnflushedWriteTime. Also, note - for database
> > with ForcedWrites = ON there is no explicit flush at all.
>
> I had the flush params commented out = set to defaults.
> Now trying with:
> MaxUnflushedWrites = 1000
> MaxUnflushedWriteTime = 300
>
> I assume that should imply that a delay of 300 seconds (5 min) after
> NBACKUP -L should be sufficient. Will try with ten minutes.
>
Now trying with these settings
MaxUnflushedWrites = 100
MaxUnflushedWriteTime = 60
And also 100 select transactions in an isql script between lock and
copy. If this works as expected, I would assume that each transaction
results in at least one disk write (header page?), which should force a
flush. But perhaps the MaxUnflushesWrites param doesn't mean number of
write operations to any page, but rather number of pages that have been
written to? In that case I'm not sure my dummy SQL will have any effect.
> I'm reluctant to use a script/mode/setting that essentially ignores theAnyone?
> flush and copies anyway. I assume this would imply a risk of a corrupt
> copy. If not, please explain why.
>
Regards,
Kjell