Oracle Reports and Oracle Discoverer

4-12 Oracle Fusion Middleware High Availability Guide

4.1.6.4 Oracle Reports and Oracle Discoverer

To configure Oracle Reports and Oracle Discovery 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 Discoverer also uses a TNS entry to connect to the Oracle RAC database: frdisco = DESCRIPTION = LOAD_BALANCE = ON ADDRESS_LIST = ADDRESS = PROTOCOL = TCPHOST = stajo05-vipPORT = 1521 ADDRESS = PROTOCOL = TCPHOST = stajo06-vipPORT = 1521 CONNECT_DATA = SERVICE_NAME = orcl.us.oracle.com

4.2 Protecting Idle Connections from Firewall Timeouts

Because most production deployments involve firewalls and database connections are made across firewalls, Oracle recommends configuring the firewall not to timeout the database connection. For Oracle RAC case, this specifically means not timing out the connections made on Oracle RAC VIPs and the database listener port. If such a configuration is not possible, on the database server side, set SQLNET.EXPIRE_TIME=n in ORACLE_HOMEnetworkadminsqlnet.ora. For Oracle RAC, this needs to be set on all the Oracle Homes. The n is in minutes. It should be set to less than the known value of the network device firewall timeout. Since the order of these times is normally more than ten minutes, and in some cases hours, the value should be set to the highest possible value.

4.3 Troubleshooting Real Application Clusters

Fusion Middleware components use multi data sources when connecting to an Oracle RAC database. If an Oracle RAC instances goes down, WebLogic Server attempts to determine the status of the of the database using the SELECT 1 FROM DUAL query. This query typically takes less than a few seconds to complete. However, if the database response is slow, WebLogic Server gives up and assumes the database is unavailable. The following is an example of the type of exception that results in the logs: Mar 30, 2009 2:14:37 PM CDT Error JDBC BEA-001112 Test SELECT 1 FROM DUAL set up for pool SOADataSource-rac1 failed with exception: oracle.jdbc.xa.OracleXAException. [TopLink Warning]: 2009.03.30 14:14:37.890--UnitOfWork14568040--Exception [TOPLINK-4002] Oracle TopLink - 11g Release 1 11.1.1.1.0 Build 090304: oracle.toplink.exceptions.DatabaseException Internal Exception: java.sql.SQLException: Internal error: Cannot obtain XAConnection Creation of XAConnection for pool SOADataSource failed after waitSecs:30 : weblogic.common.ResourceException: SOADataSourceSOADataSource-rac1: Pool Note: When Oracle Discoverer is configured to be connected to a customer Oracle RAC database, Oracle recommends using the following TNS connect string: DESCRIPTION=ADDRESS_ LIST=ADDRESS=PROTOCOL=TCPHOST=host1-vipPORT=1521 ADDRESS=PROTOCOL=TCPHOST=host2-vipPORT=1521CONNECT_ DATA=SERVICE_NAM E=orclFAILOVER_ MODE=TYPE=selectMETHOD=basicRETRIES=20DELAY=15