During my upgrade from 32bit to 64bit, as described in my last post, I hit an unexpected issue. After migrating, the environment wouldn’t start up successfully. By successfully, I mean all services being available.
As part of my upgrade to 32bit I migrated the application to new servers, thus new server names, etc. I quickly noticed in FND_NODES, FND_DATABASES, tnsnames files, etc that there were still references to the old servers as well as the new. Since I already migrated the database I couldn’t use the standard way to deregister a tier.
Example, to deregister an application tier it is:
perl $AD_TOP/bin/adgentns.pl appspass=<APPSpwd> \
contextfile=<CONTEXT> –removeserver
So the question is, how do I deregister a tier if I’ve already moved it? Manually using the FND_NET_SERVICES package.
First execute the following query:
select NAME, SERVER_TYPE from FND_APP_SERVERS, FND_NODES where FND_APP_SERVERS.NODE_ID = FND_NODES.NODE_ID and SERVER_TYPE in ('DB',’APPS"’) and FND_NODES.NODE_NAME=upper('hostname');
Substitute hostname with the name of your old servers. Sample output:
NAME SERVER_TYPE
---------------------- ------------------------------
myserver_VIS_APPS APPS
myserver_VIS_DB DB
The next step is to call FND_NET_SERVICES.remove_server(SYSTEM_NAME, SERVER_NAME); to remove them. Example:
begin
FND_NET_SERVICES.remove_server( 'VIS', 'myserver_VIS_DB');
end;
begin
FND_NET_SERVICES.remove_server('VIS', ‘myserver_VIS_APPS');
end;
The last step is to run autoconfig on both the dbTier and appsTier.
Once I hit that issue, in my first development pass, I could have modified my steps to deregister the tiers. However, I didn’t want to modify the original environment in any way. Worst case scenario, if some issues were encountered during the migration or testing phase, I could rollback to the original environment.
No comments:
Post a Comment