ORDS Restart requirement

From: Ruan Linehan <ruandav_at_gmail.com>
Date: Tue, 12 Oct 2021 09:22:10 +0100
Message-ID: <CAP0kZ-3s4EdR0imgwPZpxihqpNOiAtxO=rt9+vU-P78PM+GU+w_at_mail.gmail.com>



Hi all,

I've researched elsewhere but not been able to identify a suitable solution, so I'm asking here in the hopes that an ORDS aficionado might provide some direction.

My issue is around the perception of a restart of ORDS being a requirement to re-establishing a connection to an endpoint which may have been unavailable for a period of time.

We run ORDS v20 on a Linux VM as part of a solution accompanying an Exadata multitenant environment. ORDS is made available to all PDBs, installed in the CDB. Within the 'conf' directory of ORDS - we stage all the associated apex_aa.xml, apex_ab.xml, apex_ac.xml etc configuration mapping files. Periodically, one of the PDB environments may be made unavailable (i.e Closed or else RAC services stopped, or someone inadvertently locks the ORDS_PUBLIC_USER account etc) for maintenance, for a day or weekend etc. When this takes place, the pluggables ORDS_PUBLIC_USER database sessions are terminated and the ORDS connection cannot be re-established for a period of time to that PDB. So far so good.

Once the maintenance is complete, and the PDB is re-opened once again, RAC services restarted, ORDS does not automatically re-establish a database connection to that same PDB.

If I need to get the ORDS_PUBLIC_USER connections re-established once more for that specific PDB, then I need to stop ORDS processes for all clients and restart.
i.e. This reads the url mapping xml and validates the associated apex_aa.xml files etc., and eventually successfully re-establishes ALL the database connection and all is good.

The difficulty is though, that we have literally hundreds of these PDBs in a CDB, and literally hundreds of accompanying ORDS endpoints. So, if one of these environments is impacted by a "maintenance" of some sort, and the database connection is severed for a time, then it requires a full restart of ORDS for ALL to get it back, which is rather painful.

There must be something I am missing right? I understand XML config changes require a restart of ORDS to be picked up, but I find it troubling that a full restart is also required when just one client endpoint connection out of a hundred is impacted?
Is there any way I can force ORDS to 'reinit' and re-read the conf files to re-establish a single broken connection with restarting?

Kind regards,
Ruan

--
http://www.freelists.org/webpage/oracle-l
Received on Tue Oct 12 2021 - 10:22:10 CEST

Original text of this message