Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.misc -> How to anticipate (Oracle) database locks.
Hi,
We have the problem of encountering database locks in our Java program. De piece of code most probably causing the lock is shown below.
Has anybody some advise concerning how to avoid the locks and when they happen how to handle them and remove them runtime?
Many thanks,
Jan
public void deleteByCustomerId(CustomerNr customerId)
throws MvpnException { Database database = new Database(Bootstrap.getConfig(), "billing"); try { database.setAutoCommit(false); PreparedStatement preparedStatement = database.prepareStatement(SQL_DELETE_VIRTUAL_MEMBERS); preparedStatement.setString(1, customerId.toBilling()); preparedStatement.execute(); preparedStatement = database.prepareStatement(SQL_DELETE_SUBSCRIBERS); preparedStatement.setString(1, customerId.toBilling()); preparedStatement.execute(); preparedStatement = database.prepareStatement(SQL_DELETE_CUSTOMER); preparedStatement.setString(1, customerId.toBilling()); preparedStatement.execute(); database.commit();
} catch(SQLException e) {
try { database.rollback(); } catch(SQLException e1) { } finally { log.error("sql error while storing parse result: ", e); throw new MvpnException(e); }
} finally {
database.close(); }