Issue: A DAD was configured for the “mod_plsql” module in OHS. However when attempting to run a database procedure via OHS, the following error message is displayed in the end-user’s browser which will result in an OHS failure with dads.conf misconfigurations:
“The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.” The HTTP error was a 503 error.
We reproduced the issue and found in the OHS logs that OHS had a TNS error and couldn’t resolve the database SID that was configured in the PlsqlDatabaseConnectString parameter in the $ORACLE_INSTANCE/config/OHS/ohs1/mod_plsql/dads.conf file.
The correct entries were in the $TNS_ADMIN/tnsnames.ora file.
The exact cause was OHS could not resolve the SID against the logical name provided in PlsqlDatabaseConnectString value in dads.conf against the SID configured in tnsnames.ora.
(ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521))
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
Allow from all
To prevent an OHS failure with dads.conf misconfigurations, in the $ORACLE_INSTANCE/config/OHS/ohs1/mod_plsql/dads.conf file, specify a full TNS connect string in the “PlsqlDatabaseConnectString” parameter. Save changes to dads.conf and reboot OHS to apply changes. Once OHS is successfully rebooted, test.
Format of a full TNS connect string is as follows: db_host:db_port:SID
Here is an example of how the TNS connect string should be structured (using tnsnames.ora example from above): hostname:1521:orcl