Minggu, 22 November 2020

ORACLE EBS-change domain

 

I am vistababa!

How to Change IP, Hostname, Domain and Ports of a single node Oracle E-Business Suite

with 3 comments

Oracle E-Business Suite is not dependent to IP address, so one can easily change the IP address of nodes without any effect on E-Business Suite.

What about Hostname, Domain and Ports? Oracle E-Business Suite is dependent to these. So, we couldn’t change theme without coordination of E-Business Suite itself.

There are two methods for changing Hostname, Domain and Ports of Oracle E-Business Suite. The first method, that will be discussed here, is using autoconfig and another method is by cloning. It is easier to use autoconfig method to change hostname, domain and ports and use cloning method for changing other configurations of Oracle E-Business Suite.

In this document we assume that our E-Business Suite has just one node so that all Tiers and Servers reside on this node. For changing hostname, domain and ports of a multinode Oracle E-Business Suite, refer to the documents listed in the refrences section of this post.

1.   DB Tier: Deregister the current database server

As the database hostname and domain will be changed, the current database server node needs to be de-registered.

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');

NAME            SERVER_TYPE
--------------- -----------
oldhost_PROD_DB  DB

# cd $ORACLE_HOME/appsutil
# perl ./bin/adgentns.pl appspass=<APPSpwd> contextfile=./PROD_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='DB' and FND_NODES.NODE_NAME=UPPER('oldhost');

no rows selected

2.   DB Tier: Create a new Context file

You can create the new context file using whichever of the following methods:

a. Manuall Method:

# cd $ORACLE_HOME/appsutil
# cp PROD_oldhost.xml PROD_newhost.xml

Edit PROD_newhost.xml manually:

Replace all oldhost with newhost

Replace all olddomain with newdomain

b. Script Method:

# cd $ORACLE_HOME/appsutil
# perl ./bin/adclonectx.pl contextfile=./PROD_oldhost.xml

Provide the values required for creation of the new Database Context file.
Do you want to use a virtual hostname for the target node (y/n) [n] ?:
Target hostname [oldhost]:newhost
Target System database name [PROD]:
Target instance is a Real Application Cluster (RAC) instance (y/n) [n]:
Target system domain name [olddomain]:newdomain
Oracle OS User [oraprod]:
Oracle OS Group [dba]:
Target system RDBMS ORACLE_HOME directory [/gldb/apps/d02/oracle/proddb/9.2.0]:
Target system utl_file accessible directories list [/usr/tmp]:
Number of DATA_TOP's on the target system [4]:1
Target system DATA_TOP 1:/gldb/apps/d03/oracle/proddata
Do you want to preserve the Display set to oldhost:0.0 (y/n) [y] ?:n
Target system Display [newhost:0.0]:
Target system JAVA_TOP location [null]:/gldb/apps/d01/oracle/prodcomn/java
Do you want to preserve the port values from the source system on the target system (y/n) [y] ?:
Database port is 1521
New context path and file name [PROD_newhost.xml]:
Creating the new Database Context file from :
/gldb/apps/d02/oracle/proddb/9.2.0/appsutil/template/adxdbctx.tmp
The new database context file has been created :
/gldb/apps/d02/oracle/proddb/9.2.0/appsutil/PROD_newhost.xml

ADVERTISEMENT
REPORT THIS AD

Note: The command above will create a new Context file of the format PROD_newhost.xml in the current working directory.

3.   APPS Tier: Deregister the current Applications server

As the Applications hostname and domain will be changed, the current Applications server node needs to be de-registered.

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');

NAME              SERVER_TYP
----------------- ----------
oldhost_PROD_APPS  APPS

# cd $APPL_TOP/admin
# perl $AD_TOP/bin/adgentns.pl appspass=<APPSpwd> contextfile=./PROD_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');

no rows selected

4.   APPS Tier: Create a new Context file

You can create the new context file using whichever of the following methods:

a. Manuall Method:

# cd $APPL_TOP/admin
# cp PROD_oldhost.xml PROD_newhost.xml

Edit PROD_newhost.xml manually:

Replace all oldhost with newhost

Replace all olddomain with newdomain

b. Script Method:

# cd $APPL_TOP/admin
# perl $AD_TOP/bin/adclonectx.pl contextfile=./PROD_oldhost.xml

Provide the values required for creation of the new APPL_TOP Context file.
Do you want to use a virtual hostname for the target node (y/n) [n] ?:
Target hostname [oldhost]:newhost
Target system database SID [PROD]:
Target system domain name [olddomain]:newdomain
Username for the applications file system owner [applprod]:
Group for the applications file system owner [dba]:
Target system database server node [oldhost]:newhost
Does the target system have more than one application tier server node (y/n) [n] ?:
Is the target system APPL_TOP divided into multiple mount points(y/n)[n]?:
Target system APPL_TOP mount point [/gldb/apps/d01/oracle/prodappl]:
Target system COMMON_TOP directory [/gldb/apps/d01/oracle/prodcomn]:
Target system 8.0.6 ORACLE_HOME directory [/gldb/apps/d01/oracle/prodora/8.0.6]:
Target system iAS ORACLE_HOME directory [/gldb/apps/d01/oracle/prodora/iAS]:
Do you want to preserve the Display set to oldhost:0.0 (y/n) [y] ?:n
Target system Display [newhost:0.0]:
Location of JDK 1.3.1 on the target system [/usr/java14]:
Do you want to preserve the port values from the source system on the target system (y/n) [y] ?:
Web Listener port is 8000
Complete port information available at /gldb/apps/d01/oracle/prodappl/admin/out/PROD_newhost/portpool.lst
New context path and file name [PROD_newhost.xml]:
Creating the new APPL_TOP Context file from :
/gldb/apps/d01/oracle/prodappl/ad/11.5.0/admin/template/adxmlctx.tmp
The new APPL_TOP context file has been created :
/gldb/apps/d01/oracle/prodappl/admin/PROD_newhost.xml

Note: The command above will create a new Context file of the format PROD_newhost.xml in the current working directory.

5.   APPS Tier: Shutdown the Application Tier Services

# $COMMON_TOP/admin/scripts/PROD_oldhost/adstpall.sh apps/<appspasswd>

6.   Change the hostname and domain

Change the hostname and domain at OS level.

# hostname -s newhost
# edit /etc/hosts as follow:

OLD: IP-Address     oldhost.olddomain     oldhost
NEW: IP-Address     newhost.newdomain     newhost

7.   DB Tier: Reseed the Net Services Topology Model

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

8.   APPS Tier: Reseed the Net Services Topology Model

The Net Services Topology Model is automatically updated by running AutoConfig.

# $AD_TOP/bin/adconfig.sh contextfile=$APPL_TOP/admin/PROD_newhost.xml appspass=<appspasswd>

9.   DB Tier: Shutdown the database and listener

# $ORACLE_HOME/appsutil/scripts/PROD_oldhost/addbctl.sh stop
# $ORACLE_HOME/appsutil/scripts/PROD_oldhost/addlnctl.sh stop PROD

10.  DB Tier: Start the listener and database

# $ORACLE_HOME/appsutil/scripts/PROD_newhost/addlnctl.sh start PROD
# $ORACLE_HOME/appsutil/scripts/PROD_newhost/addbctl.sh start

11.  APPS Tier: Start the Application Tier Services

# $COMMON_TOP/admin/scripts/PROD_newhost/adstrtal.sh apps/<appspasswd>

Notes:

  1. Q: Do you encounter the following errors when you start the listener?
Error listening on: (ADDRESS=(PROTOCOL=TCP)(Host=newhost)(Port=1521))
TNS-12532: TNS:invalid argument
TNS-12560: TNS:protocol adapter error
TNS-00502: Invalid argument
IBM/AIX RISC System/6000 Error: 515: Error 515 occurred.

  A: Check $ORACLE_HOME/network/admin/PROD_newhost/sqlnet.ora to insure it is using new values:

OLD: tcp.invited_nodes=(oldhost.olddomain, newhost.newdomain)
NEW: tcp.invited_nodes=(newhost.newdomain)

     2.  Q: Do you encounter the following errors in Jinitiator console when you try to start form applications?

java.lang.NoClassDefFoundError: org/apache/regexp/RESyntaxException
at oracle.ewt.lwAWT.lwText.LWTextField.getText(LWTextField.java:196)
at oracle.ewt.lwAWT.lwText.LWTextField._getDisplayString(LWTextField.java:787)

A: Check $OA_HTML/bin/appsweb_PROD_newhost.cfg for the value of ‘archive2’. It should be as follow:

archive2=,/OA_JAVA/regexp.jar

     3.  Q: Do you encounter the following errors in Jinitiator console when you try to start form applications?

java.lang.Error: RE internal error: Corrupt program
at org.apache.regexp.RE.internalError(RE.java:820)
at org.apache.regexp.RE.matchNodes(RE.java:1414)

A: Made the following change:

# cd $JAVA_TOP
# mv org org.back

 References:

1. How to change the hostname of an Applications Tier using AutoConfig [Metalink 341322.1]

2. How to change the hostname and/or port of the Database Tier using AutoConfig [Metalink 338003.1]

Tidak ada komentar:

Posting Komentar