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.