Bloqueie o banco de dados Oracle antes de executar os scripts de dados Excluir / Carregar
estamos executando os casos de teste Junit e Selenium da CI todas as noites. Estamos preenchendo previamente os dados usando o plugin Maven-SQL da seguinte forma.
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sql-maven-plugin</artifactId>
<version>1.3</version>
<executions>
<execution>
<id>create-database-tables</id>
<phase>process-test-resources</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<autocommit>false</autocommit>
<onError>continue</onError>
<srcFiles>
<srcFile>../sql/delete_data.sql</srcFile>
<srcFile>../sql/load_data.sql</srcFile>
</srcFiles>
</configuration>
</execution>
</executions>
</plugin>
Estamos frequentemente enfrentando os deadlocks do banco de dados devido a construções simultâneas de diferentes usuários. A solução que pensamos é bloquear o banco de dados antes de executar os scripts do banco de dados.
Podemos bloquear o acesso ao banco de dados antes de executar os scripts e desbloqueá-lo depois de executar os scripts.