Hello Experts,
We are operating an ERP Accounting SaaS application built with Oracle APEX on an Autonomous Transaction Processing (ATP) database. Due to having hundreds of concurrent users and a high volume of API calls, our application requires a significantly larger JDBC connection pool than what the default ORDS configuration on Autonomous Database supports.
According to Oracle ORDS documentation:
“When you use the default ORDS on Autonomous Database, you cannot modify any ORDS configuration options. The default JDBC connection pools have a maximum of 100 connections and are preconfigured to use the LOW service. A customer-managed environment is required when applications need larger connection pools or more control over ORDS configuration options.”
In our case, the default 100-connection limit is not sufficient. We have already encountered the “Too Many Requests” limitation during peak usage due to exhausted connection resources. This directly impacts API reliability and user experience, making Custom-Managed ORDS deployment a necessity.
We are now planning to deploy Custom-Managed ORDS, and we would like guidance on the best deployment architecture that will allow continuous scaling—both in terms of connection pools and API throughput—without facing similar limitations in the future.
Specifically, we seek advice on:
- Whether to deploy ORDS using Tomcat, Standalone ORDS, or another recommended application server/container for scalable environments.
- Whether our current setup—a single public VM (Windows Server 2016 on OCI)—is suitable for long-term growth ?
Any insights, recommended architectures, or Oracle best practices would be highly appreciated.
Thank you.
@thatjeffsmith-oracle
@jariola
@inol