Wednesday, June 8, 2016

Advanced Configurations: Configuring Forms, Self-Service E-Business Suite 11i with 10gR2 RAC

 Configuration
3.1 Configuration of Server-side Load Balancing for Forms Applications
3.2 Configuration of Module Specific Load Direction for Forms Applications 
3.3 Configuring Load Balancing for Self-service Applications
3.4 Configuration of Module specific Load Direction for Self Service Applications 
3.5 Configuration of Discoverer connections Load Balancing/Load Direction

NoteAll the above configurations are for database connection level load balancing for online programs.  The recommended best practice is to use load balancing for all online users
(Forms and self-service) and load direction for all batch programs (concurrent processing)
3.1 Configuration of Server-side Load Balancing for Forms Applications
Oracle's E-Business Suite 11i (Release 11.5.10.2) installation includes a large number of forms based applications. These forms make internal connections to the database by using Net Listener, which is configured on the Forms or middle tier. When using Real Application Clusters, these connections can be load balanced across database servers by using server side load balancing.
  • Run the Context Editor through Oracle Applications Manager interface to set the value of "Tools OH TWO_TASK". Set the value of
    this variable to point to the _806_balance alias generated in the tnsnames.ora file.
  • Execute AutoConfig using $COMMON_TOP/admin/scripts/<context_name>/adautocfg.sh. Check the AutConfig log file for errors. Source the environment again by executing $APPL_TOP/APPSORA.env.
  • Ensure that environment variable TWO_TASK is set to <database_name>_806_balance alias. e.g. echo $TWO_TASK should return <servicename>_806_balance.
  • Stop all the applications processes by using $COMMON_TOP/admin/scripts/<context>/adstpall.sh and start again by using$COMMON_TOP/admin/scripts/<context>/adstrtal.sh.
  • If you have multiple forms tiers set the value of following profile option at server level.
    • ICX: Forms Launcher


      NoteIf you do not set this profile option at server level, AutoConfig execution will replace the profile option values with the hostname from where AutoConfig is last executed.


  • For checking the above profile option values logon to Oracle Applications as "SYSADMIN". Select the Profiles-->System option from menu.  
    Check the values of these profile options to ensure that the profile options are updated with host name as required by your environment.
    You can obtain the older values for these profile options from the AutoConfig log file. If you are using single url configuration, update
    these profile options with your existing virtual host name.  For more details on single url configuration refer to Metalink note 217368.1 
NoteIn this load balanced environment, if the instance to which forms session is connected goes down, you will receive FRM-92100 error. You need to close the forms applet window and login again to connect to any of the surviving instances. For more details on forms errors see Metalink note 136027.1

3.2 Configuration of Module Specific Load Direction for Forms Applications
If you need to reduce the amount of interconnect traffic between database instances, you can direct the Forms database sessions for particular applications or responsibilities to specific instances. This can be achieved by setting profile option "Database Instance".
  • Logon to Oracle Applications as "SYSADMIN". Select the Profiles-->System option from menu. Set the profile option "Database Instance"
    to one specific instance in the RAC cluster. This profile option can be only set at the Application and the Responsibility level.

    NoteIn this load balanced environment, if the instance to which forms session is connected goes down, you will receive FRM-92100 error. You need to manually change the value of the profile options set above to the live instance before reconnecting.


3.3 Configuring Load Balancing for Self-service Applications
Self-service applications connect to the database using the JDBC client. Oracle E-Business Suite 11i utilizes the JDBC Thin driver,
instead of the Thick (OCI) JDBC driver. The JDBC Thin driver supports only TCP/IP protocol and requires a TCP/IP connection to the
Net Listener, which utilizes a JavaNet connection to the database. The load balancing of JDBC connections is achieved by setting the parameter "APPS_JDBC_URL" in the dbc file associated in the applications.
JDBC Load Balancing Setup
NotePlease see the Prerequisites instruction section above for more information about the AutoConfig execution and mandatory patches for this process.
  • Set the value of iAS OH TWO_TASK" and "Apps JDBC Connect Alias" to point to the <database_name>_balance alias generated
    in the tnsnames.ora file.

    e.g. s_weboh_twotask=VIS10gr2_BALANCE and s_apps_jdbc_connect_alias=VIS10gr2_BALANCE
  • Execute AutoConfig from $COMMON_TOP/admin/scripts/<context_name>. Check the AutoConfig log file for errors.
  • Ensure that the dbc file locations $FND_TOP/secure/context_name and dbc file name is only service_name.dbc and
    has the following APPS_JDBC_URL entry:


    APPS_JDBC_URL=jdbc\:oracle\:thin\:@(DESCRIPTION\=(LOAD_BALANCE\=YES)(FAILOVER\=YES)
    (ADDRESS_LIST\=(ADDRESS\=(PROTOCOL\=tcp)(HOST\=db_host1)(PORT\=port1))
    (ADDRESS\=(PROTOCOL\=tcp)(HOST\=db_host2)(PORT\=port2)))(CONNECT_DATA\=
    (SERVICE_NAME\=<service_name>)))
  • Ensure that the value of profile option “Applications Database Id” is set to <service_name> at site level. 
  • Ensure that the jserv.properties file located at $IAS_ORACLE_HOME/Apache/Jserv/etc has the correct name and location of DBC file.
    NoteIn this load-balanced environment, if the instance to which self-service session is connected goes down, you will receive the java exception error. You need to reconnect to the live instance by logging again to the application. If you want this failover to happen seamlessly set the parameter "FND_JDBC_USABLE_CHECK" to "true" in dbc file located at $FND_TOP/secure. You may experience some performance degradation after setting this parameter value to "true"



3.4 Configuration of Module specific Load Direction for Self Service Applications 
If you need to reduce the amount of interconnect traffic between database instances, you can direct the Self Service database sessions for particular applications or responsibilities to specific instances This setup differs depending on the logical layout of your architecture. The possible options are:
1. Self-service applications running on multiple web servers on multiple physical nodes.
2. Self-service applications running on multiple web servers on single physical node.
Module specific Load Direction for Self-service applications running on multiple web servers on
multiple physical nodes
  • Logon to Oracle Applications as "SYSADMIN". Select the Profiles-->System option from menu. Setup the following profile options at the
    Responsibility level to the node on which you want to direct this application. 

    Applications Web Agent
    Application Framework Agent
    Apps Servlet Agent
    Applications JSP Agent
    Applications Database ID
    NoteThe value of the profile 'Applications Database ID' option is being used as the name of the DBC file.  Ensure that a DBC file with this name is present on the specified node.


    Sample Configuration: In this example configuration, we are directing the load of two Self-service applications - Flow Manufacturing
    Self Service and I-Procurement. We want the load for Flow Manufacturing to be directed to Instance1 on host1 from the webserver on host1 and for iProcurement to Instance 2 on host2 from the webserver on host2. To accomplish this setup the profile options as follows

    For Flow Manufacturing Self Service
    Profile OptionValue
    Applications Web Agenthttp://host1:port1/pls/<DAD>
    Application Framework Agenthttp://host1:port1
    Apps Servlet Agenthttp://host1:port1/oa_servlets
    Applications JSP Agenthttp://host1:port1
    Applications Database IDINST1

Note: For the above setup, you must have INST1.dbc on host1. The apps_jdbc_url in this dbc file should be pointing to INSTANCE1.
For i-Procurement 

    Profile OptionValue
    Applications Web Agenthttp://host2:port2/pls/<DAD>
    Application Framework Agenthttp://host2:port2
    Apps Servlet Agenthttp://host2:port2/oa_servlets
    Applications JSP Agenthttp://host2:port2
    Applications Database IDINST2

Note: For the above setup, you must have INST1.dbc on host1. The apps_jdbc_url in this dbc file should be pointing to INSTANCE1.
Module specific Load Direction for Self-service applications running on multiple web servers on
single physical node

In this scenario you will be using a web port per routed destination and need to point "Applications Framework Agent" pointing to this port.
Follow the steps mentioned below for setting up load direction for Self-service Applications.
  • Configure multiple Oracle HTTP Servers for the same application tier. For details about configuring multiple Oracle HTTP Servers refer
    Metalink Note 135231.1
  • Ensure that you are able to connect to applications by using all the http servers defined. You can test this by using URL
    http://hostname.domainname:port. Test this URL for all the ports defined in the previous step.
  • Create instance specific copies of dbc files, e.g. copy $FND_TOP/secure/<context_name>/<hostname>_service_name.dbc file to $FND_TOP/secure/<context_name>instance1.dbc and $FND_TOP/secure/<context_name>/instance2.dbc.
  • Edit the instance1.dbc and replace the APPS_JDBC_URL parameter to point to Instance1 only.

    ( e.g APPS_JDBC_URL=jdbc:oracle:thin:@(DESCRIPTION=
    (ADDRESS=(PROTOCOL=tcp)(HOST=<database_host for instance1)(PORT=database_port for instance1 ))(CONNECT_DATA=(SERVICE_NAME=service_name)))
  • Edit the instance2.dbc and replace the APPS_JDBC_URL parameter to point to Instance2 only.
  • Edit the jserv.properties file located at $IAS_ORACLE_HOME/Apache/Jserv/etc for first Oracle http server. Modify all occurrences of
    dbc file name for parameter wrapper.bin.parameters=-DJTFDBCFILE =instance1.dbc 
  • Edit the jserv.properties file located at $IAS_ORACLE_HOME/Apache/Jserv/etc for second Oracle Http server.
    Modify all occurrences of dbc file name for parameter wrapper.bin.parameters=-DJTFDBCFILE =instance2.dbc

    NoteThe location of the jserv.properties may vary depending on approach selected for defining multiple listeners as per the note 135231.1
  • Edit $COMMON_TOP/admin/scripts/<context>/adapcctl.sh. Add the lines for startup and shutdown for all the other http
    servers defined.  e.g. Add following lines to respective sections of adapcctl.sh

    In the startup section

    $IAS_ORACLE_HOME/Apache/Apache/bin/apachectl start -f <path to httpd.conf file for the new listener>.

    In the stop section

    $IAS_ORACLE_HOME/Apache/Apache/bin/apachectl stop -f <path to httpd.conf file for the new listener>.
  • Logon to Oracle Applications as "SYSADMIN". Select the Profiles-->System option from menu. Set the value for "Application Database Id"
    at responsibility level to particular dbc file name only (e.g. instance1 or instance2).
  • Set the Value of Profile option "Application Framework Agent" to point to any one of the Oracle http servers at responsibility level.
    Sample Configuration: In this example configuration, we are directing the load of two Self-service applications - Flow Manufacturing Self Service and
    I-Procurement. We want the load for Flow Manufacturing to be directed to instance1 and for iProcurement to instance 2. Both these
    applications are running on host1. To accomplish this setup the profile options as follows:


    For Flow Manufacturing Self Service

    Profile OptionValue
    Application Framework Agenthttp://host1:port1
    Applications Database IDInstance1
For i-Procurement
    Profile OptionValue
    Application Framework Agenthttp://host1:port2
    Applications Database IDInstance2

No comments:

Post a Comment