Subject | Re: [ib-support] --* Please Help*--- Database corruption and cannot backup & restore |
---|---|
Author | Doug Chamberlin |
Post date | 2001-08-08T02:14:21Z |
At 8/7/2001 09:47 PM (Tuesday), Helen Borrie wrote:
SuperServer) can, indeed, open the GDB file in exclusive mode. All
connections from clients will share that one open file access via the
layered architecture within the server process. The only reason I can
remember that it doesn't do this is that certain Interbase utilities (gfix,
gstat, gsec?) also read the GDB file DIRECTLY. If the server had exclusive
access then these utilities would not be able to read the GDB file at the
same time.
If the server is Classic rather than SuperServer architecture then each
process needs to read and write to the GDB file independently (using a lock
manager to coordinate). Therefore, in this situation what you describe is
infeasible.
However, I think all recent versions of Interbase for Win32 are SuperServer
so this is irrelevant. The separate utility program access is not.
>At 05:13 PM 07-08-01 -0700, you wrote:I respectfully think Helen is wrong here. The Interbase server (if it is
> >Here's what I don't understand: Why doesn't IB simply open the physical
> file in exclusive mode? Wouldn't that prevent it from re-opening the
> file a second time, regardless of the connection path? Perhaps I'm not
> understanding something about Windows.
>
>IB isn't a file-based database.
SuperServer) can, indeed, open the GDB file in exclusive mode. All
connections from clients will share that one open file access via the
layered architecture within the server process. The only reason I can
remember that it doesn't do this is that certain Interbase utilities (gfix,
gstat, gsec?) also read the GDB file DIRECTLY. If the server had exclusive
access then these utilities would not be able to read the GDB file at the
same time.
If the server is Classic rather than SuperServer architecture then each
process needs to read and write to the GDB file independently (using a lock
manager to coordinate). Therefore, in this situation what you describe is
infeasible.
However, I think all recent versions of Interbase for Win32 are SuperServer
so this is irrelevant. The separate utility program access is not.