Friday

How to deregister the appsTier or dbTier.

 
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: