Setting up Virtual Hosts for Database and Applications Tiers in 11i

May 19, 2009 / By Balraj Chahal

Tags: ,

I would like to share with you the virtual hosts set-up (two nodes each on the application tier, and two on the DB tier) for a customer using 11.5.9.

The Facts

  • DB Version: 10.2.3
  • CRS Version: 10.2.0.3
  • ASM Version: 10.2.0.3
  • APPS Version: 11.5.9

Set-ups by Sys-Admins

Sysadmins must set up a virtual hostname amongst the two available middle-tier (Applications) hosts. In our case, the hostnames are erpapp01, and erpapp02. Then the sysadmins set up a VIP as erpapp.

We also require from sysadmins virtual hostname amongst the two available backend (database) hosts. Hostnames in our case are erpdb01, and erpdb02. They then set up a VIP as erpdb.

Set-ups By DBAs

Here, we Assume DB Node 1 is currently active, and that CONTEXT_NAME = PROD.

On the first DB Node

  1. Copy the XML file to Virtual Host Name
    cd $ORACLE_HOME/appsutil
    cp PROD_erpdb01.xml PROD_erpdb.xml
  2. Change all host entries from erpdb01 to erpdb in the new XML file.
  3. Change an entry in the adautocfg.sh
  4. Change
    CTX_FILE="/opt/oracle/product/10.2.0/db_1/appsutil/PROD_erpdb01 .xml"

    to

    CTX_FILE="/opt/oracle/product/10.2.0/db_1/appsutil/PROD_erpdb.xml"
  5. Open Listener.ora and add
    (ADDRESS = (PROTOCOL = TCP)(HOST = erpdb)(PORT = 1521)(IP = FIRST))

    This will look like:

    LISTENER_ERPDB01 =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = erpdb01-vip)(PORT = 1521)(IP = FIRST))
    (ADDRESS = (PROTOCOL = TCP)(HOST = erpdb)(PORT = 1521)(IP = FIRST))
    )
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.20.12.101)(PORT = 1521)(IP = FIRST))
    )
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
    )
    )
    )
  6. Run Autoconfig.sh (before running, make sure you get a response from ping erpdb and that it points to DB Node 1).
  7. Check that the Autoconfig run has no errors and connects to the DB.
  8. DB node 1 has now been set up.

Now failover the VIP to second DB node.

On the second DB node

  1. Copy the XML file to Virtual Host Name.
    cd $ORACLE_HOME/appsutil
    $cp PROD_erpdb02.xml PROD_erpdb.xml
  2. Change all host entries from erpdb02 to erpdb in the new XML file.
  3. In adautocfg.sh, change
    CTX_FILE="/opt/oracle/product/10.2.0/db_1/appsutil/PROD_erpdb02.xml"

    to

    CTX_FILE="/opt/oracle/product/10.2.0/db_1/appsutil/PROD_erpdb.xml"
  4. Open Listener.ora and add (ADDRESS = (PROTOCOL = TCP)(HOST = erpdb)(PORT = 1521)(IP = FIRST)). It will look like:
    LISTENER_ERPDB01 =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = erpdb02-vip)(PORT = 1521)(IP = FIRST))
    (ADDRESS = (PROTOCOL = TCP)(HOST = erpdb)(PORT = 1521)(IP = FIRST))
    )
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.20.12.102)(PORT = 1521)(IP = FIRST))
    )
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
    )
    )
    )
  5. Run Autoconfig.sh (before running it, make sure you get a response from ping erpdb and that points to DB Node 2).
  6. Check that the Autoconfig run has no errors and that it connects to the DB.
  7. The DB node 2 has now been set up.

Apps-Side Setups

On Apps Server #1

  1. In the XML file, change db_host to the DB Virtual name.
  2. Run autoconfig.
  3. Check the logfile for errors.
  4. tnsping should show a connection to the Virtual DB Node name.

Now, failover the VIP to second APPS Node.

On Apps Server #2

  1. In the XML file, change db_host to DB Virtual name.
  2. Run autoconfig.
  3. Check the logfile for errors.
  4. tnsping should show a connection to the Virtual DB Node name.

It’s all setup now.

Test the Failover procedures

Scenario A

Let’s assume that both the DB and Apps run on node A, and that DB Node A crashes.

  1. Make sure vip has failed to DB Node B (ping erpdb, you should see it reachable).
  2. Bring up the database on Node B.
  3. Bounce Apps on Node A.

Scenario B

We make the same assumptions as above.

  1. Make sure vip has failed to APPS Node B (ping erpapp, you should see it reachable).
  2. run autoconfig on Apps Node B.
  3. Bounce Apps on Node B.

Everything should work now.

One Response to “Setting up Virtual Hosts for Database and Applications Tiers in 11i”

  • Nelton Kuruvilla says:

    Hello, I am trying to do a similar configuration. I have two application servers node 1 and node 2 one on site A and the other on SiteB. The same configuration is for the databases. I want to configure the application on a virtual host name / ip. The app version in 11.5.10.2 and database is on 11.2.0.3 on RH Linux 5.10.

    Any help is appreciated.

    Thanks and regards,

    Nelton

Leave a Reply

  • (will not be published)

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>