Hi all
Hopefully someone can help me. I'm using the ORDS 26.2.1 container deployed using Podman, with it connecting to a database which contains 2 pluggable databases, each pluggable setup as a separate ORDS pool. These are named freepdb1 and freepdb2 and no “default” pool exists.
When starting the ORDS container, the logs show it attempting to check the health of the database, every 10s 60 times
INFO : Starting the Oracle REST Data Services instance with the preset configuration in /etc/ords/config:
INFO : localhost:1521/freepdb1.
INFO : Using credentials found in the ORDS_CONFIG directory to test the Database health.
Cannot get setting db.password because the database pool default does not exists in /etc/ords/config/databases/default
sed: -e expression #1, char 0: no previous regular expression
INFO : Database not ready (attempt 1 of 60). Retrying in 10s...
sed: -e expression #1, char 0: no previous regular expression
INFO : Database not ready (attempt 2 of 60). Retrying in 10s...
sed: -e expression #1, char 0: no previous regular expression
INFO : Database not ready (attempt 3 of 60). Retrying in 10s...
sed: -e expression #1, char 0: no previous regular expression
After the 60 attempts in continues on and does what a normal standalone ORDS startup would do and the pools startup successfully
sed: -e expression #1, char 0: no previous regular expression
INFO : Database not ready (attempt 59 of 60). Retrying in 10s...
sed: -e expression #1, char 0: no previous regular expression
INFO : Database not ready (attempt 60 of 60). Retrying in 10s...
WARN : Failed to connect to database pool.xml after 60 attempts.
WARN : Starting services, if they exist, for additional preset databases identified in /etc/ords/config.
INFO : Starting the Oracle REST Data Services instance.
2026-07-21T13:24:55Z INFO ORDS has not detected the option '--config' and this will be set up to the default directory.
ORDS: Release 26.1 Production on Tue Jul 21 13:24:59 2026
Copyright (c) 2010, 2026, Oracle.
Configuration:
/etc/ords/config
2026-07-21T13:25:00.719Z INFO HTTP and HTTP/2 cleartext listening on host: 0.0.0.0 port: 8080
The pools were created using the interactive CLI, and both have the following config with different service names
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>Saved on Fri May 15 09:32:54 UTC 2026</comment>
<entry key="db.connectionType">basic</entry>
<entry key="db.hostname">localhost</entry>
<entry key="db.port">1521</entry>
<entry key="db.servicename">freepdb1</entry>
<entry key="db.username">ORDS_PUBLIC_USER</entry>
<entry key="feature.sdw">true</entry>
<entry key="plsql.gateway.mode">proxied</entry>
<entry key="restEnabledSql.active">true</entry>
<entry key="security.requestValidationFunction">ords_util.authorize_plsql_gateway</entry>
</properties>
and the global config hasn't been modified
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>Saved on Thu Apr 23 13:44:53 UTC 2026</comment>
<entry key="database.api.enabled">true</entry>
<entry key="debug.printDebugToScreen">true</entry>
<entry key="mongo.enabled">true</entry>
<entry key="standalone.access.log">/tmp/ords_access_logs/</entry>
</properties>
I've tried creating a symbolic link called “default” to one of the pools, this seems to work in some instances but not always. When it doesn't it attempted to connect to the database in the linked pool, but doesn't successfully connect, despite the “default” pool being VALID at the end
I haven't been able to find any documentation about the ORDS health check anywhere and this isn't something that a standalone install of ORDS does, is there some additional config that is required to fix this? Or a way of reducing the number of attempts it makes?