diff --git a/spring-data-jdbc/pom.xml b/spring-data-jdbc/pom.xml
index 7370fad4..ee2ff318 100644
--- a/spring-data-jdbc/pom.xml
+++ b/spring-data-jdbc/pom.xml
@@ -208,7 +208,7 @@
com.oracle.database.jdbc
- ojdbc8
+ ojdbc11
${oracle.version}
test
@@ -251,7 +251,7 @@
org.testcontainers
- oracle-xe
+ oracle-free
test
diff --git a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/OracleDataSourceConfiguration.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/OracleDataSourceConfiguration.java
index d6dbedb2..eb959da1 100644
--- a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/OracleDataSourceConfiguration.java
+++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/OracleDataSourceConfiguration.java
@@ -24,7 +24,8 @@ import org.springframework.context.annotation.Profile;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator;
-import org.testcontainers.containers.OracleContainer;
+import org.testcontainers.oracle.OracleContainer;
+import org.testcontainers.utility.DockerImageName;
/**
* {@link DataSource} setup for Oracle Database XE. Starts a docker container with an Oracle database.
@@ -50,7 +51,10 @@ public class OracleDataSourceConfiguration extends DataSourceConfiguration {
if (ORACLE_CONTAINER == null) {
LOG.info("Oracle starting...");
- OracleContainer container = new OracleContainer("gvenzl/oracle-xe:21.3.0-slim").withReuse(true);
+ DockerImageName dockerImageName = DockerImageName.parse("gvenzl/oracle-free:23.3-slim");
+ OracleContainer container = new OracleContainer(dockerImageName) //
+ .withStartupTimeoutSeconds(200) //
+ .withReuse(true);
container.start();
LOG.info("Oracle started");
diff --git a/spring-data-r2dbc/pom.xml b/spring-data-r2dbc/pom.xml
index 847fb2f1..af1947d8 100644
--- a/spring-data-r2dbc/pom.xml
+++ b/spring-data-r2dbc/pom.xml
@@ -310,7 +310,7 @@
org.testcontainers
- oracle-xe
+ oracle-free
test
diff --git a/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/OracleTestSupport.java b/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/OracleTestSupport.java
index 76598741..c30b5905 100644
--- a/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/OracleTestSupport.java
+++ b/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/OracleTestSupport.java
@@ -29,7 +29,7 @@ import org.springframework.data.r2dbc.testing.ExternalDatabase.ProvidedDatabase;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import org.springframework.util.ClassUtils;
-import org.testcontainers.containers.OracleContainer;
+import org.testcontainers.oracle.OracleContainer;
/**
* Utility class for testing against Oracle.
@@ -128,7 +128,9 @@ public class OracleTestSupport {
if (testContainerDatabase == null) {
try {
- OracleContainer container = new OracleContainer("gvenzl/oracle-xe:21.3.0-slim").withReuse(true);
+ OracleContainer container = new OracleContainer("23.3-slim") //
+ .withReuse(true) //
+ .withStartupTimeoutSeconds(200); // the default of 60s isn't sufficient
container.start();
testContainerDatabase = ProvidedDatabase.builder(container) //