diff --git a/database/pom.xml b/database/pom.xml
index 79ab913d37..899cc7e75b 100644
--- a/database/pom.xml
+++ b/database/pom.xml
@@ -19,7 +19,7 @@
2.1.214
1.4.200
- 19.3.0.0
+ 23.5.0.24.07
1.7.6
1.1.8
8.3.0
@@ -44,8 +44,8 @@
${version.h2}
- com.oracle.ojdbc
- ojdbc8
+ com.oracle.database.jdbc
+ ojdbc11
${version.oracle}
@@ -308,8 +308,8 @@
- com.oracle.ojdbc
- ojdbc8
+ com.oracle.database.jdbc
+ ojdbc11
test
@@ -322,8 +322,8 @@
sql-maven-plugin
- com.oracle.ojdbc
- ojdbc8
+ com.oracle.database.jdbc
+ ojdbc11
${version.oracle}
diff --git a/engine/src/main/java/org/operaton/bpm/engine/impl/db/sql/DbSqlSession.java b/engine/src/main/java/org/operaton/bpm/engine/impl/db/sql/DbSqlSession.java
index cbf9647571..ee32ba74a6 100644
--- a/engine/src/main/java/org/operaton/bpm/engine/impl/db/sql/DbSqlSession.java
+++ b/engine/src/main/java/org/operaton/bpm/engine/impl/db/sql/DbSqlSession.java
@@ -659,13 +659,13 @@ protected List getTablesPresentInOracleDatabase() throws SQLException {
Connection connection = null;
PreparedStatement prepStat = null;
ResultSet tablesRs = null;
- String selectTableNamesFromOracle = "SELECT table_name FROM all_tables WHERE table_name LIKE ?";
+ String selectTableNamesFromOracle = "SELECT table_name FROM all_tables WHERE table_name LIKE ? ESCAPE '-'";
String databaseTablePrefix = getDbSqlSessionFactory().getDatabaseTablePrefix();
try {
connection = Context.getProcessEngineConfiguration().getDataSource().getConnection();
prepStat = connection.prepareStatement(selectTableNamesFromOracle);
- prepStat.setString(1, databaseTablePrefix + "ACT_%");
+ prepStat.setString(1, databaseTablePrefix + "ACT-_%");
tablesRs = prepStat.executeQuery();
while (tablesRs.next()) {
diff --git a/engine/src/test/java/org/operaton/bpm/engine/test/persistence/ConnectionPersistenceExceptionTest.java b/engine/src/test/java/org/operaton/bpm/engine/test/persistence/ConnectionPersistenceExceptionTest.java
index 0d448693c4..cfcbafb1c9 100644
--- a/engine/src/test/java/org/operaton/bpm/engine/test/persistence/ConnectionPersistenceExceptionTest.java
+++ b/engine/src/test/java/org/operaton/bpm/engine/test/persistence/ConnectionPersistenceExceptionTest.java
@@ -38,7 +38,8 @@
import org.junit.Rule;
import org.junit.Test;
-@RequiredDatabase(excludes = { DbSqlSessionFactory.H2 })
+// This test is excluded on Oracle since the SQL State changed with the new version of the JDBC driver.
+@RequiredDatabase(excludes = { DbSqlSessionFactory.H2, DbSqlSessionFactory.ORACLE })
public class ConnectionPersistenceExceptionTest {
@Rule
diff --git a/qa/test-old-engine/pom.xml b/qa/test-old-engine/pom.xml
index 56728008d4..8b9ab54fe6 100755
--- a/qa/test-old-engine/pom.xml
+++ b/qa/test-old-engine/pom.xml
@@ -90,6 +90,20 @@
+
+ oracle-23
+
+
+
+ maven-surefire-plugin
+
+ true
+
+
+
+
+
+
old-engine