db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dan Farrell <...@danf.us>
Subject Re: Delete Database that is locked by the network server
Date Mon, 11 Jan 2010 14:05:40 GMT


Knut Anders Hatlen <Knut.Hatlen@Sun.COM> wrote:

>Damian Hofmann <damian.hofmann@gmx.ch> writes:
>
>> Hi
>>
>> My application must delete a derby database under certain
>> contidions. The scenario is, that a limited group of users edit and
>> review data in a "work-database" and from time to time, release their
>> work to the public. The release is done by creating a copy of the
>> "work-database" and redirect all new requests to the new
>> "public-database". The old "public-database" stays in place to serve
>> requests, that have not been finished at the time of the release. This
>> works well so far.
>>
>> But after these old requests have been served, I want to delete the
>> old "public-database". As I understand from other posts to this
>> mailing list, deleting a derby database means, deleting the
>> database-directory from the filesystem. But I face two problems with
>> that:
>>
>> 1. How can I determine that no connections/sessions to the old
>> "public-database" are open?
>
>You can use the runtimeinfo command [1] to see how many open connections
>there are on a server. This only helps you if you have one network
>server process per database, though, since runtimeinfo doesn't give you
>number of connections per database.
>
>> 2. How can I tell the derby network server to "release" the old
>> "public-database", so I don't run into a "file is by an other person
>> or program" error? The networkserver seems to hold some file-locks, so
>> i can't just delete the directory. I don't want to shut down the whole
>> network server, since it is serving the other databases.
>
>It is possible to shut down a single database on the server. Just open a
>connection with the database name specified and shutdown=true:
>
>DriverManager.getConnection("jdbc:derby://derbyserver:1234/old-database;shutdown=true");
>
>The above code should make the server release all file locks in
>"old-database", so it should be safe to remove the directory. The
>developer's guide [2] contains more details about shutting down
>databases.
>
>[1] http://db.apache.org/derby/docs/10.5/adminguide/tadminappsruntimeinfo.html
>[2] http://db.apache.org/derby/docs/10.5/devguide/tdevdvlp40464.html
>
>-- 
>Knut Anders
Mime
View raw message