The link for Grid Control was not Working and it failed to show the login page. In this situation checked the following things:
1. The repository database was up and running
2. The listener was up.
3. OMS server was down.
Tried to stratup the OMS server using opmnctl startall command, but it showed following error in ons.log file:
09/04/08 06:06:18  ONS server initiated 09/04/08 06:06:18  BIND (Address already in use) 09/04/08 06:06:18  127.0.0.1:6104 - listener BIND failed 09/04/08 06:06:18  Listener thread 98311: 127.0.0.1:6104 (0x442) terminating 09/04/08 06:06:18  Local listener terminated
As it showed that the port is busy, now the obvious choice is to check which application is still holding the port. It can be done by using command:
netstat -a|grep <port_number>
i.e netstat -a |grep 6104
and the result was, no application was using this port.
But still this port was shown busy to OMS server, hence failed startup of OMS.
Then I changed the port to a different unused port in opmn.xml file and started the OMS server, it got started with new port number.
After that I stopped the OMS server and again changed the port number back to the original port number which was giving error earlier.
This time OMS started with the old port number as well.