Subject | Exchange database files on running server |
---|---|
Author | rcrfb |
Post date | 2004-05-17T06:22:26Z |
Hi all,
I need to 'replicate' every night a Firebird-Database (on Linux,
SuperServer V. 1.0.3) to another System (same OS and FB).
Until today the target database has been installed while the
(known!) Applications (on the target) have been shut down, so all
worked correct.
Now there were some 'unknown' Applications (here it was an 'isql')
open on the target system, so the SuperServer holds the 'original'
database file although I deleted that (original) file.
"gfix -shut -force" won't work, because the FB-SuperServer won't
"forget" the datafile (on Unix files may be removed from Directory,
but as long any process has an open reference on that file, the file
is not removed from the filesystem). As long as 'unknown' Application
is open, the 'original' database is accessed - also after an
'gfix -o' (I tested that behaviour using two 'isql' Commands
accessing the same database via network access).
There's no direct connection between the two systems, and I also have
no influence on 'other' applications on the target system except for
the 'known' applications.
Now here's my question:
How can I exchange the database files and force the SuperServer to
use the new data file?
It doesn't matter when the active Applications loose the database
connection. But I cannot shut down the database server, because
there's another database running that may not go down!
Any Help will be appreciated.
Roger
I need to 'replicate' every night a Firebird-Database (on Linux,
SuperServer V. 1.0.3) to another System (same OS and FB).
Until today the target database has been installed while the
(known!) Applications (on the target) have been shut down, so all
worked correct.
Now there were some 'unknown' Applications (here it was an 'isql')
open on the target system, so the SuperServer holds the 'original'
database file although I deleted that (original) file.
"gfix -shut -force" won't work, because the FB-SuperServer won't
"forget" the datafile (on Unix files may be removed from Directory,
but as long any process has an open reference on that file, the file
is not removed from the filesystem). As long as 'unknown' Application
is open, the 'original' database is accessed - also after an
'gfix -o' (I tested that behaviour using two 'isql' Commands
accessing the same database via network access).
There's no direct connection between the two systems, and I also have
no influence on 'other' applications on the target system except for
the 'known' applications.
Now here's my question:
How can I exchange the database files and force the SuperServer to
use the new data file?
It doesn't matter when the active Applications loose the database
connection. But I cannot shut down the database server, because
there's another database running that may not go down!
Any Help will be appreciated.
Roger