Most installations performed by the Oracle Universal Installer (OUI) selects port numbers only that are freely available on the host. However, one service that always fixes its port number during installation is the ONS service (Oracle Notification Service). As part of setting up the High Availability features for the Single Sign-On system, I have installed Oracle Cluster Ready Services (CRS) on Linux platform to convert the existing Metadata repository into a highly available database cluster. The installation completed successfully, however configuring the Virtual IPs was a problem (vipca). The ons service on the Node2 refuses to start.
Upon further investigation, I found the OUI assigned 6200 as the ONS port ( $CRS_ORACLE_HOME/opmn/conf/ons.config ), which is already in use by a different Oracle software on the same host.
- Login to the cluster node2 where ONS service did not start
- srvctl stop nodeapps -n node2
- $CRS_ORACLE_HOME/bin/racgons.bin remove_config node2:6200
- $CRS_ORACLE_HOME/bin/racgons.bin add_config node2:6299 ( non-default port )
- Update $CRS_ORACLE_HOME/opmn/conf/ons.config and replace the remoteport=6200 with remoteport=6299
- Run $CRS_ORACLE_HOME/bin/vipca again (It should complete successfully this time)
- $CRS_ORACLE_HOME/crs_stat -t ( Verify ONS service is ONLINE )
As a best practice, one should install new Oracle software with all existing applications up and running so that the OUI only chooses port numbers that are not in use. However, it does not seem to be the case for the ONS port, because the OUI always sticks to the 6200. As a good practice, one can avoid problems during future Oracle installations on a given host by changing the ONS port from the default 6200 to a non-default value in the current installation.