It is funny when I ran "opmnctl startall" and saw "opmnctl: opmn start failed" in the screen. ONS (oracle name service) port conflict is the reason this time.
Note: it is not the only reason. You have to check out your logs to see what goes wrong. The first log in troubleshooting OPMN is $ORACLE_HOME/opmn/logs/ipm.log then the latest logs there.
Note: it is not the only reason. You have to check out your logs to see what goes wrong. The first log in troubleshooting OPMN is $ORACLE_HOME/opmn/logs/ipm.log then the latest logs there.
> opmnctl startall
opmnctl: starting opmn and all managed processes…
opmnctl: opmn start failed
opmnctl: starting opmn and all managed processes…
opmnctl: opmn start failed
> opmnctl start opmn
opmnctl: opmn start failed
opmnctl: opmn start failed
1) Check out logs
I found someone else occupied port number which oracle notification server (ONS) supposed to use .
> cd $ORACLE_HOME/opmn/logs
> tail -10 ons.log
08/06/20 17:49:20 [4] ONS server initiated
08/06/20 17:49:20 [2] BIND (Address already in use)
08/06/20 17:49:20 [2] 127.0.0.1:6102 – listener BIND failed
08/06/20 17:49:20 [4] Listener thread -203437152: 127.0.0.1:6102 (0x442) terminating
08/06/20 17:49:20 [1] Local listener terminated
08/06/20 17:49:54 [4] ONS server initiated
08/06/20 17:49:54 [2] BIND (Address already in use)
08/06/20 17:49:54 [2] 127.0.0.1:6102 – listener BIND failed
08/06/20 17:49:54 [4] Listener thread -201921632: 127.0.0.1:6102 (0x442) terminating
08/06/20 17:49:54 [1] Local listener terminated
08/06/20 17:49:20 [4] ONS server initiated
08/06/20 17:49:20 [2] BIND (Address already in use)
08/06/20 17:49:20 [2] 127.0.0.1:6102 – listener BIND failed
08/06/20 17:49:20 [4] Listener thread -203437152: 127.0.0.1:6102 (0x442) terminating
08/06/20 17:49:20 [1] Local listener terminated
08/06/20 17:49:54 [4] ONS server initiated
08/06/20 17:49:54 [2] BIND (Address already in use)
08/06/20 17:49:54 [2] 127.0.0.1:6102 – listener BIND failed
08/06/20 17:49:54 [4] Listener thread -201921632: 127.0.0.1:6102 (0x442) terminating
08/06/20 17:49:54 [1] Local listener terminated
Haha, is there anybody using that port already?
> netstat -an |grep 6102
tcp 0 0 127.0.0.1:6102 127.0.0.1:6102 ESTABLISHED
tcp 0 0 127.0.0.1:6102 127.0.0.1:6102 ESTABLISHED
And what is my port number?
> grep 6102 $ORACLE_HOME/install/*.ini
Oracle Notification Server Local port = 6102
Oracle Notification Server Local port = 6102
2) Change port number in my Oracle application server
Stop all processes
> opmnctl stopall /*skip because it is down now */
> $ORACLE_HOME/bin/emctl stop iasconsole
…
…
Stopping Oracle Enterprise Manager 10g Application Server Control … … Stopped.
Change port number in opmn.xml
> vi $ORACLE_HOME/opmn/conf/opmn.xml
grep -i local $ORACLE_HOME/opmn/conf/opmn.xml
<port local="6106" remote="6201" request="6006"/>
<port local="6106" remote="6201" request="6006"/>
> opmnctl start
opmnctl: opmn started
Update opmn configuration
> opmnctl reload
opmnctl: reconfiguring opmn…
opmnctl: opmn reloaded successfully…
opmnctl: reconfiguring opmn…
opmnctl: opmn reloaded successfully…
> opmnctl startproc ias-component=OID
opmnctl: starting opmn managed processes…
opmnctl: starting opmn managed processes…
> opmnctl startall
opmnctl: starting opmn and all managed processes…
opmnctl: starting opmn and all managed processes…
Update DCM, not only works for opmn component, hehe
> $ORACLE_HOME/dcm/bin/dcmctl updateConfig -ct opmn
Conclusion
Use non-default port number in application server is better idea when working on shared server. Too many hands always give you surprise.
I really liked ur post..it was very helpful for me..keep posting..
Great Post, its really helpful.
Thanks a Ton..!!