{"id":2890,"date":"2012-10-08T16:37:07","date_gmt":"2012-10-08T20:37:07","guid":{"rendered":"https:\/\/pitss.org\/us\/2012\/10\/08\/ohs-module-mod_plsql-fails-in-ohs\/"},"modified":"2017-06-30T13:11:22","modified_gmt":"2017-06-30T17:11:22","slug":"ohs-failure-dads-conf","status":"publish","type":"post","link":"https:\/\/pitss.org\/us\/2012\/10\/08\/ohs-failure-dads-conf\/","title":{"rendered":"OHS Module mod_plsql Fails in OHS"},"content":{"rendered":"<p><strong>Issue: <\/strong>A DAD was configured for the &#8220;mod_plsql&#8221; module in OHS. However when attempting to run a database procedure via OHS, the following error message is displayed in the end-user&#8217;s browser which will result in an OHS failure with dads.conf misconfigurations:<\/p>\n<p>&#8220;The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.&#8221; The HTTP error was a 503 error.<\/p>\n<p><strong>Cause:<\/strong><\/p>\n<p>We reproduced the issue and found in the OHS logs that OHS had a TNS error and couldn\u2019t resolve the database SID that was configured in the PlsqlDatabaseConnectString parameter in the $ORACLE_INSTANCE\/config\/OHS\/ohs1\/mod_plsql\/dads.conf file.<\/p>\n<p>The correct entries were in the $TNS_ADMIN\/tnsnames.ora file.<\/p>\n<p>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.<\/p>\n<p>For example:<\/p>\n<ul>\n<li>tnsnames.ora:<br \/>\nORCL =<br \/>\n(DESCRIPTION =<br \/>\n(ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521))<br \/>\n(CONNECT_DATA =<br \/>\n(SERVER = DEDICATED)<br \/>\n(SERVICE_NAME = orcl)<br \/>\n)<br \/>\n)<\/li>\n<li>dads.conf:<br \/>\n&lt;Location \/pls\/plsqlapp&gt;<br \/>\nSetHandler pls_handler<br \/>\nOrder deny,allow<br \/>\nAllow from all<br \/>\nAllowOverride None<br \/>\nPlsqlDatabaseUsername scott<br \/>\nPlsqlDatabasePassword tiger<br \/>\nPlsqlDatabaseConnectString orcl<br \/>\nPlsqlDefaultPage scott.home<br \/>\nPlsqlDocumentTablename scott.wwdoc_document<br \/>\nPlsqlDocumentPath docs<br \/>\nPlsqlDocumentProcedure scott.wwdoc_process.process_download<br \/>\nPlsqlAuthenticationMode Basic<br \/>\n&lt;\/Location&gt;<\/li>\n<\/ul>\n<p><strong>Solution:<\/strong><\/p>\n<p>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 &#8220;PlsqlDatabaseConnectString&#8221; parameter. Save changes to dads.conf and reboot OHS to apply changes. Once OHS is successfully rebooted, test.<\/p>\n<p>Format of a full TNS connect string is as follows: db_host:db_port:SID<\/p>\n<p>Here is an example of how the TNS connect string should be structured (using tnsnames.ora example from above): hostname:1521:orcl<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Issue: A DAD was configured for the &#8220;mod_plsql&#8221; module in OHS. However when attempting to run a database procedure via OHS, the following error message is displayed in the end-user&#8217;s browser which will result in an OHS failure with dads.conf misconfigurations: &#8220;The server is temporarily unable to service your request due to maintenance downtime or [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[4,93,36,14],"tags":[11,16,12,13,46,37],"class_list":["post-2890","post","type-post","status-publish","format-standard","hentry","category-install-config","category-ohs","category-reports","category-resolve-issues","tag-11g","tag-11gr2","tag-error","tag-installation-setup","tag-ohs","tag-reports"],"_links":{"self":[{"href":"https:\/\/pitss.org\/us\/wp-json\/wp\/v2\/posts\/2890","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pitss.org\/us\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pitss.org\/us\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pitss.org\/us\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pitss.org\/us\/wp-json\/wp\/v2\/comments?post=2890"}],"version-history":[{"count":6,"href":"https:\/\/pitss.org\/us\/wp-json\/wp\/v2\/posts\/2890\/revisions"}],"predecessor-version":[{"id":9557,"href":"https:\/\/pitss.org\/us\/wp-json\/wp\/v2\/posts\/2890\/revisions\/9557"}],"wp:attachment":[{"href":"https:\/\/pitss.org\/us\/wp-json\/wp\/v2\/media?parent=2890"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pitss.org\/us\/wp-json\/wp\/v2\/categories?post=2890"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pitss.org\/us\/wp-json\/wp\/v2\/tags?post=2890"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}