How to change IP address for Oracle E-business EBS 11i/R12 server:
- Make sure that your EBS instance services are cleanly down.1- Change the IP at the OS level
2- Ping the server name and ensure you are pinging the new IP
ping <server_name> (it should show the new IP) => Otherwise make sure that your entries in /etc/hosts file matches the new IP
3- Start the DB listener
lsnrctl start $ORACLE_SID
4- Start the DB
SQL> startup
select NODE_NAME, STATUS, NODE_MODE, NODE_ID,SERVER_ADDRESS, HOST, DOMAIN, WEBHOST, VIRTUAL_IP from fnd_nodes where node_name = upper('hostname');
eg.
SQL> select NODE_NAME, STATUS, NODE_MODE, NODE_ID,SERVER_ADDRESS, HOST, DOMAIN, WEBHOST, VIRTUAL_IP from apps.fnd_nodes where node_name = upper('erptestdb02');
NODE_NAME S N NODE_ID SERVER_ADDRES HOST DOMAIN WEBHOST VIRTUAL_IP
------------- - - ---------- ------------- ------------ ---------------- ----------------------------- ---------------
ERPTESTDB02 Y O 8120 10.30.10.176 erptestdb02 rsteel.com erptestdb02.rsteel.com erptestdb02
a- As the OS owner on the affected node run:
perl $AD_TOP/bin/adgentns.pl appspass=apps contextfile=$CONTEXT_FILE -removeserver
Then,
b- connect to sqlplus as apps user
c- Locate the System Name :
The System name is the database name
select DB_NAME from FND_DATABASES;
d- Locate the server name corresponding to the tier in question :
Query on the server :
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('hostname');
eg.
col name for a30
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('erptestdb02');
SQL>
NAME SERVER_TYPE
------------------------------ ------------------------------
erptestdb02_STAGE8_DB DB
SQL>
e- Run the following PL/SQL block :
begin
FND_NET_SERVICES.remove_server('<SYSTEM_NAME>','<SERVER_NAME>');
end;
/
commit;
eg.
SQL> begin
FND_NET_SERVICES.remove_server('STAGE8','ERPTESTDB02_STAGE8_APPS');
end;
/
PL/SQL procedure successfully completed.
SQL> commit;
Commit complete.
SQL> select NAME, SERVER_TYPE from apps.FND_APP_SERVERS, apps.FND_NODES
where FND_APP_SERVERS.NODE_ID = FND_NODES.NODE_ID and
SERVER_TYPE='APPS' and FND_NODES.NODE_NAME=upper('erptestdb02');
no rows selected
SQL>
a- Ensure you can connect as apps/apps from the affected node.
b- Run AC as the DB file owner - oruser.
$ORACLE_HOME/appsutil/bin/adconfig.sh
c- Run AC as the MT file owner - apuser.
$AD_TOP/bin/adconfig.sh
d- Source your newly updated environment files inside your shell terminal.
- DB-Tier Environment. ($ORACLE_HOME/$CONTEXT_NAME.env)
- MT-Tier Environment. ($APPL_TOP/APPS$CONTEXT_NAME.env)
select NODE_NAME, STATUS, NODE_MODE, NODE_ID,SERVER_ADDRESS, HOST, DOMAIN, WEBHOST, VIRTUAL_IP from apps.fnd_nodes where node_name = upper('erptestdb02');
eg.
SQL> select NODE_NAME, STATUS, NODE_MODE, NODE_ID,SERVER_ADDRESS, HOST, DOMAIN, WEBHOST, VIRTUAL_IP from apps.fnd_nodes where node_name = upper('erptestdb02');
NODE_NAME S N NODE_ID SERVER_ADDRES HOST DOMAIN WEBHOST VIRTUAL_IP
------------- - - ---------- ------------- ------------ ---------------- ----------------------------- ---------------
ERPTESTDB02 Y O 8120 10.30.11.176 erptestdb02 rsteel.com erptestdb02.rsteel.com erptestdb02
SQL>
8- Start MT services and do your health check.
1. Open a new shell and source the APPS Environment. ($APPL_TOP/APPS<SID>_<HOST>.env)
2. Start "sqlplus" and execute following commands :
Regards,
Mohamed
eg.
SQL> select NODE_NAME, STATUS, NODE_MODE, NODE_ID,SERVER_ADDRESS, HOST, DOMAIN, WEBHOST, VIRTUAL_IP from apps.fnd_nodes where node_name = upper('erptestdb02');
NODE_NAME S N NODE_ID SERVER_ADDRES HOST DOMAIN WEBHOST VIRTUAL_IP
------------- - - ---------- ------------- ------------ ---------------- ----------------------------- ---------------
ERPTESTDB02 Y O 8120 10.30.10.176 erptestdb02 rsteel.com erptestdb02.rsteel.com erptestdb02
5- De-register the server which has the new IP:
Run the following command to remove the old IP address from Oracle Applications tables:a- As the OS owner on the affected node run:
perl $AD_TOP/bin/adgentns.pl appspass=apps contextfile=$CONTEXT_FILE -removeserver
Then,
b- connect to sqlplus as apps user
c- Locate the System Name :
The System name is the database name
select DB_NAME from FND_DATABASES;
d- Locate the server name corresponding to the tier in question :
Query on the server :
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('hostname');
eg.
col name for a30
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('erptestdb02');
SQL>
NAME SERVER_TYPE
------------------------------ ------------------------------
erptestdb02_STAGE8_DB DB
SQL>
e- Run the following PL/SQL block :
begin
FND_NET_SERVICES.remove_server('<SYSTEM_NAME>','<SERVER_NAME>');
end;
/
commit;
eg.
SQL> begin
FND_NET_SERVICES.remove_server('STAGE8','ERPTESTDB02_STAGE8_APPS');
end;
/
PL/SQL procedure successfully completed.
SQL> commit;
Commit complete.
SQL> select NAME, SERVER_TYPE from apps.FND_APP_SERVERS, apps.FND_NODES
where FND_APP_SERVERS.NODE_ID = FND_NODES.NODE_ID and
SERVER_TYPE='APPS' and FND_NODES.NODE_NAME=upper('erptestdb02');
no rows selected
SQL>
6- Run autoconfig to populate the new IP Address
a- Ensure you can connect as apps/apps from the affected node.
b- Run AC as the DB file owner - oruser.
$ORACLE_HOME/appsutil/bin/adconfig.sh
c- Run AC as the MT file owner - apuser.
$AD_TOP/bin/adconfig.sh
d- Source your newly updated environment files inside your shell terminal.
- DB-Tier Environment. ($ORACLE_HOME/$CONTEXT_NAME.env)
- MT-Tier Environment. ($APPL_TOP/APPS$CONTEXT_NAME.env)
7- Confirm the IP address has been changed to the new value changed in step 1:
select NODE_NAME, STATUS, NODE_MODE, NODE_ID,SERVER_ADDRESS, HOST, DOMAIN, WEBHOST, VIRTUAL_IP from apps.fnd_nodes where node_name = upper('erptestdb02');
eg.
SQL> select NODE_NAME, STATUS, NODE_MODE, NODE_ID,SERVER_ADDRESS, HOST, DOMAIN, WEBHOST, VIRTUAL_IP from apps.fnd_nodes where node_name = upper('erptestdb02');
NODE_NAME S N NODE_ID SERVER_ADDRES HOST DOMAIN WEBHOST VIRTUAL_IP
------------- - - ---------- ------------- ------------ ---------------- ----------------------------- ---------------
ERPTESTDB02 Y O 8120 10.30.11.176 erptestdb02 rsteel.com erptestdb02.rsteel.com erptestdb02
SQL>
8- Start MT services and do your health check.
- Issues you may face:
> Autoconfig may fail with the following error:
...
Updating s_tnsmode to 'generateTNS'
UpdateContext exited with status: 0
AC-50480: Internal error occurred: java.lang.Exception: Error while generating listener.ora.
Error generating tnsnames.ora from the database, temporary tnsnames.ora will be generated using
templates
Instantiating Tools tnsnames.ora
Tools tnsnames.ora instantiated
Web tnsnames.ora instantiated
adgentns.pl exiting with status 512
ERRORCODE = 512 ERRORCODE_END
...
Updating s_tnsmode to 'generateTNS'
UpdateContext exited with status: 0
AC-50480: Internal error occurred: java.lang.Exception: Error while generating listener.ora.
Error generating tnsnames.ora from the database, temporary tnsnames.ora will be generated using
templates
Instantiating Tools tnsnames.ora
Tools tnsnames.ora instantiated
Web tnsnames.ora instantiated
adgentns.pl exiting with status 512
ERRORCODE = 512 ERRORCODE_END
...
Solution
1. Open a new shell and source the APPS Environment. ($APPL_TOP/APPS<SID>_<HOST>.env)
2. Start "sqlplus" and execute following commands :
$ sqlplus apps/<Password>
SQL> exec fnd_conc_clone.setup_clean
3. Open a new terminal or shell and source the DB-Tier Environment. ($ORACLE_HOME/$CONTEXT_NAME.env)
4. Execute Autoconfig on the DB Tier. ($ORACLE_HOME/appsutil/bin/adconfig.sh)
5. Switch back to the APPS environment or start a new shell and source the APPS environment. ($APPL_TOP/APPS$CONTEXT_NAME.env)
6. Execute Autoconfig at the Apps Tier. ($AD_TOP/bin/adconfig.sh)
7. Check the Autoconfig log for any errors and ensure that the services start correctly.
Regards,
Mohamed
No comments:
Post a Comment