Oracle Forms Oracle Portal

4-10 Oracle Fusion Middleware High Availability Guide database service used by OID, Oracle recommends setting Oracle RAC DBMS_ SERVICE property values according to Table 4–4 . 2. Oracle also recommends setting TCP connect timeouts for the Oracle Net configuration. To configure this setting, specify TCP.CONNECT_TIMEOUT=n in the sqlnet.ora file in the ORACLE_INSTANCEconfig directory.

4.1.6.2 Oracle Forms

Oracle Forms also integrates with high availability event notification. To enable this feature for Oracle Forms: 1. Use the Oracle Enterprise Manager Cluster Managed Services Page to create database services. For Oracle Forms, set the Oracle RAC DBMS_SERVICE property values according to Table 4–5 . The following is recommended to be set using the package of Oracle database. 2. Oracle also recommends setting TCP connect timeouts for the Oracle Net configuration. To configure this setting, specify TCP.CONNECT_TIMEOUT=n in the sqlnet.ora file in the ORACLE_INSTANCEconfig directory.

4.1.6.3 Oracle Portal

To configure Oracle Portal for optimal behavior in a high availability environment, set TCP connect timeouts for the Oracle Net configuration. To configure this setting, specify TCP.CONNECT_TIMEOUT=n in the sqlnet.ora file in the ORACLE_ INSTANCEconfig directory. Oracle Portal also uses the death detection feature of mod plsql. mod_plsql maintains a pool of connections to the database, and reuses established database connections for subsequent requests. If there is no response from a database connection in a connection pool, mod_plsql detects this, discards the dead connection, and creates a fresh database connection for subsequent requests. The dead database connection detection feature of mod_plsql eliminates the occurrence of random errors when a database node or instance goes down. This feature is also extremely useful in high availability configurations, such as Real Application Cluster Oracle RAC. If a node in an Oracle RAC cluster goes down, Table 4–4 OID Database Services Property Settings Property Name Value AQ_HA_NOTIFICATIONS TRUE FAILOVER_METHOD DBMS_SERVICE.FAILOVER_METHOD_BASIC FAILOVER_TYPE DBMS_SERVICE.FAILOVER_TYPE_SELECT FAILOVER_RETRIES 5 FAILOVER_DELAY 5 Table 4–5 Oracle Forms Database Services Property Settings Property Name Value AQ_HA_NOTIFICATIONS TRUE FAILOVER_METHOD DBMS_SERVICE.FAILOVER_METHOD_NONE FAILOVER_TYPE DBMS_SERVICE.FAILOVER_TYPE_NONE Considerations for High Availability Oracle Database Access 4-11 mod_plsql detects this and immediately starts servicing requests using the other Oracle RAC nodes. By default, when an Oracle RAC node or database instance goes down and mod_ plsql had previously pooled connections to the node, the first mod_plsql request which uses a dead connection in its pool results in a failure response of HTTP-503 being sent back to the end-user. This failure is then used by mod_plsql to trigger the detection and removal of all dead connections in its pool. mod_plsql pings all connection pools that were created before the node failure, and this ping operation is performed at the time of processing the next request that uses a pooled connection. If the ping operation fails, the database connection is discarded, and a new connection is created and processed. mod_plsql provides two configuration options for tuning the dead database connection detection feature: ■ Specifying the Option to Detect Dead Database Connections ■ Specifying the Connection Validation and Timeout Period Specifying the Option to Detect Dead Database Connections. mod_plsql corrects connections after it detects a failure that could be caused by a database node going down. This is controlled by the PlsqlConnectionValidation parameter. For details on the PlsqlConnectionValidation parameter, refer to the mod_ plsql section in the Oracle Fusion Middleware Administrators Guide for Oracle HTTP Server. Setting the PlsqlConnectionValidation parameter to Automatic causes the mod_ plsql module to test all pooled database connections that were created before a failed request. This is the default configuration. Setting the PlsqlConnectionValidation parameter to AlwaysValidate causes mod_plsql to test all pooled database connections before issuing any request. Although the AlwaysValidate configuration option ensures greater availability, it also introduces additional performance overhead. You can specify the timeout period for mod_plsql to test a bad database connection in a connection pool. The PlsqlConnectionTimeout parameter, which specifies the maximum time mod_plsql should wait for the test request to complete before it assumes that a connection is not usable. Specifying the Connection Validation and Timeout Period When the PlsqlConnectionValidation parameter is set to Automatic or AlwaysValidate , mod_plsql attempts to test pooled database connections. You can specify the timeout period for mod_plsql to test a bad database connection in a connection pool. This is controlled by the PlsqlConnectionTimeout parameter, which specifies the maximum time mod_plsql should wait for the test request to complete before it assumes that a connection is not usable. For details on the PlsqlConnectionTimeout, PlsqlConnectionValidation, and PlsqlConnectionTimeout parameters, refer to the mod_plsql section in the Oracle Fusion Middleware Administrators Guide for Oracle HTTP Server. Note: If after node failure, multiple mod_plsql requests come in concurrently, and mod_plsql has not yet detected the first dead connection, there could be multiple failures at that instant. 4-12 Oracle Fusion Middleware High Availability Guide

4.1.6.4 Oracle Reports and Oracle Discoverer