Monday, April 21, 2014

Change the hostname/domain for an existing Oracle E-Business Suite (EBS) Application (Single node)

Note: The below is a solution ONLY for a single node application (DB and MT in the same node).

Problem:
If you have an Ebiz application that is accessible using the following URL:
http://abc.abcd.com:8000

and the domain/hostname changes and you are looking for a new URL like:
http://abc.xyz.com:8000

Solution:
STEP 1.
DB Tier: Deregister the current database server

To check if this step is needed, run the following SQL (logged in as apps schema user)

Query 1.
SQL> select NODE_NAME from FND_NODES;

Query 2.
SQL> select NAME, SERVER_TYPE from FND_APP_SERVERS, FND_NODES
where FND_APP_SERVERS.NODE_ID = FND_NODES.NODE_ID and
SERVER_TYPE='DB';

If this Query returns a null, ignore the DB register step and jump to Step # 2 (Deregister the current Applications server)
If you get results then run the following:

Query 3.
SQL> select NAME, SERVER_TYPE from FND_APP_SERVERS, FND_NODES
where FND_APP_SERVERS.NODE_ID = FND_NODES.NODE_ID and
SERVER_TYPE='DB' and FND_NODES.NODE_NAME=UPPER('oldhost'); <<Value from 1st Query>>

# cd $ORACLE_HOME/appsutil
# perl ./bin/adgentns.pl appspass= contextfile=./<<FileName>>.xml -removeserver

SQL> select NAME, SERVER_TYPE from FND_APP_SERVERS, FND_NODES
where FND_APP_SERVERS.NODE_ID = FND_NODES.NODE_ID and
SERVER_TYPE='DB' and FND_NODES.NODE_NAME=UPPER('oldhost'); <<Value from 1st Query>>

You should not get any results.

Create a new Context file
# cd $ORACLE_HOME/appsutil
# cp PROD_oldhost.xml DEVT_newhost.xml
Edit DEVT_newhost.xml manually:
Replace all oldhost with newhost
Replace all olddomain with newdomain -- <<Replace all occurance of abcd with xyz>>

You can also create a context file via script:
# cd $ORACLE_HOME/appsutil
# perl ./bin/adclonectx.pl contextfile=./DEVT_oldhost.xml

and provide appropriate values.


STEP 2.
APPS Tier: Deregister the current Applications server

Query 1.
SQL> select NODE_NAME from FND_NODES;

Query 2.
SQL> select NAME, SERVER_TYPE from FND_APP_SERVERS, FND_NODES
where FND_APP_SERVERS.NODE_ID = FND_NODES.NODE_ID and
SERVER_TYPE='APPS';

Query 3.
SQL> select NAME, SERVER_TYPE from FND_APP_SERVERS, FND_NODES
where FND_APP_SERVERS.NODE_ID = FND_NODES.NODE_ID and
SERVER_TYPE='APPS' and FND_NODES.NODE_NAME=UPPER('oldhost'); <<Value from 1st Query>>


# cd $APPL_TOP/admin
# perl $AD_TOP/bin/adgentns.pl appspass= contextfile=./DEVT_oldhost.xml -removeserver

SQL> select NAME, SERVER_TYPE from FND_APP_SERVERS, FND_NODES
where FND_APP_SERVERS.NODE_ID = FND_NODES.NODE_ID and
SERVER_TYPE='APPS' and FND_NODES.NODE_NAME=UPPER('oldhost'); <<Value from 1st Query>>

You should not get any results.

APPS Tier: Create a new Context file

# cd $APPL_TOP/admin
# cp DEVT_oldhost.xml DEVT_newhost.xml
Edit DEVT_newhost.xml manually:
Replace all oldhost with newhost
Replace all olddomain with newdomain  -- <<Replace all occurance of abcd with xyz>>

You can also create a context file via script:
# cd $APPL_TOP/admin
# perl $AD_TOP/bin/adclonectx.pl contextfile=./DEVT_oldhost.xml
and provide appropriate values.

STEP 3. DB Tier: Reseed the Net Services Topology Model
If you executed STEP 1 (DB Tier: Deregister the current database server), then do the following:

# cd $ORACLE_HOME/appsutil
# ./bin/adconfig.sh contextfile=./DEVT_newhost.xml


STEP 4.  APPS Tier: Reseed the Net Services Topology Model
# $AD_TOP/bin/adconfig.sh contextfile=$APPL_TOP/admin/DEVT_newhost.xml appspass=<<Apps_Password>>

STEP 5.
Shutdown the Apps Services (adstpall.sh)
Shutdown the DB and Listener

Start the DB and Listener
Start the Apps Services (adstrtal.sh)

http://abc.xyz.com:8000 should be accessible.

No comments:

Post a Comment