Your "historical" method will work just fine, provided that you follow the following rules: 1. Process 1 is used solely for the purpose stated and nothing else. 2. Process 2 is used solely for the purpose stated and nothing else. 3. Process 1 and Process 2 are separate processes (though they may be sibling children of the same parent process which **does not** access the database/files in any way). 4. Once process 2 has completed then (and only then) may process 1 relinquish its lock and terminate. 5. No **"frikking about"** is undertaken against the database files (which must consist of at least the main database file and any log files) such as deleting the log.