{"id":492,"date":"2009-08-27T10:39:40","date_gmt":"2009-08-27T15:39:40","guid":{"rendered":"http:\/\/appcrawler.com\/wordpress\/?p=492"},"modified":"2011-07-06T10:14:51","modified_gmt":"2011-07-06T15:14:51","slug":"cant-add-a-service-already-registered-with-the-listener","status":"publish","type":"post","link":"http:\/\/appcrawler.com\/wordpress\/2009\/08\/27\/cant-add-a-service-already-registered-with-the-listener\/","title":{"rendered":"Can\u2019t add a service already registered with the listener"},"content":{"rendered":"<p>This morning, while testing on a two node 10.2.0.3 EE SLES 10 cluster, I found that using srvctl to remove a service from the clusterware does not necessarily stop the service and de-register it from the listener.  I&#8217;m not sure if this is officially documented, but it will be now&#8230;at least in my book \ud83d\ude42<\/p>\n<p>I do not show it below, but I had a service with the same name (reqman) as the one to be added running, but deleted it shortly before the steps shown below.<\/p>\n<p>We first show that we add the reqman service and show it is registered, but not running&#8230;<\/p>\n<pre lang=\"text\">\r\n09:44:47 oracle@racperf01 ~ >srvctl add service -d perfrac -s reqman -u -r perfrac1\r\n\r\n09:44:55 oracle@racperf01 ~ >.\/crsstat.ksh\r\nHA Resource                                   Target     State\r\n-----------                                   ------     -----\r\nora.perfrac.db                                ONLINE     ONLINE on racperf01\r\nora.perfrac.perfcnx.cs                        ONLINE     ONLINE on racperf01\r\nora.perfrac.perfcnx.perfrac1.srv              ONLINE     ONLINE on racperf01\r\nora.perfrac.perfrac1.inst                     ONLINE     ONLINE on racperf01\r\nora.perfrac.perfrac2.inst                     ONLINE     ONLINE on racperf02\r\nora.perfrac.reqman.cs                         ONLINE     ONLINE on racperf02\r\nora.perfrac.reqman.perfrac1.srv               OFFLINE    OFFLINE\r\nora.perfrac.reqman.perfrac2.srv               ONLINE     ONLINE on racperf02\r\nora.racperf01.ASM1.asm                        ONLINE     ONLINE on racperf01\r\nora.racperf01.LISTENER_ASM_RACPERF01.lsnr     ONLINE     ONLINE on racperf01\r\nora.racperf01.LISTENER_RACPERF01.lsnr         ONLINE     ONLINE on racperf01\r\nora.racperf01.gsd                             ONLINE     ONLINE on racperf01\r\nora.racperf01.ons                             ONLINE     ONLINE on racperf01\r\nora.racperf01.vip                             ONLINE     ONLINE on racperf01\r\nora.racperf02.ASM2.asm                        ONLINE     ONLINE on racperf02\r\nora.racperf02.LISTENER_ASM_RACPERF02.lsnr     ONLINE     ONLINE on racperf02\r\nora.racperf02.LISTENER_RACPERF02.lsnr         ONLINE     ONLINE on racperf02\r\nora.racperf02.gsd                             ONLINE     ONLINE on racperf02\r\nora.racperf02.ons                             ONLINE     ONLINE on racperf02\r\nora.racperf02.vip                             ONLINE     ONLINE on racperf02\r\n<\/pre>\n<p>&#8230;and we then attempt to start our new service&#8230;<\/p>\n<pre lang=\"text\">\r\n09:44:57 oracle@racperf01 ~ >srvctl start service -d perfrac -s reqman -i perfrac1\r\nPRKP-1030 : Failed to start the service reqman.\r\nCRS-0215: Could not start resource 'ora.perfrac.reqman.perfrac1.srv'.\r\n<\/pre>\n<p>&#8230;and when we see we cannot, we find our service is still registered with the listener&#8230;<\/p>\n<pre lang=\"text\">\r\n09:45:29 oracle@racperf01 ~ >lsnrctl status LISTENER_RACPERF01\r\n\r\nLSNRCTL for Linux: Version 10.2.0.3.0 - Production on 27-AUG-2009 09:45:31\r\n\r\nCopyright (c) 1991, 2006, Oracle.  All rights reserved.\r\n\r\nConnecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=racperf01-vip.fake.domain)(PORT=2484)(IP=FIRST)))\r\nSTATUS of the LISTENER\r\n------------------------\r\nAlias                     LISTENER_RACPERF01\r\nVersion                   TNSLSNR for Linux: Version 10.2.0.3.0 - Production\r\nStart Date                24-AUG-2009 13:05:46\r\nUptime                    2 days 20 hr. 39 min. 45 sec\r\nTrace Level               off\r\nSecurity                  ON: Local OS Authentication\r\nSNMP                      OFF\r\nListener Parameter File   \/u01\/app\/oracle\/product\/10.2.0\/network\/admin\/listener.ora\r\nListener Log File         \/u01\/app\/oracle\/product\/10.2.0\/network\/log\/listener_racperf01.log\r\nListening Endpoints Summary...\r\n  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.113.187)(PORT=2484)))\r\n  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.113.185)(PORT=2484)))\r\nServices Summary...\r\nService \"PLSExtProc\" has 1 instance(s).\r\n  Instance \"PLSExtProc\", status UNKNOWN, has 1 handler(s) for this service...<b>\r\nService \"ReqMan.fake.domain\" has 1 instance(s).\r\n  Instance \"perfrac1\", status READY, has 1 handler(s) for this service...<\/b>\r\nService \"perfcnx.fake.domain\" has 1 instance(s).\r\n  Instance \"perfrac1\", status READY, has 1 handler(s) for this service...\r\nService \"perfrac.fake.domain\" has 1 instance(s).\r\n  Instance \"perfrac1\", status READY, has 1 handler(s) for this service...\r\nService \"perfracXDB.fake.domain\" has 1 instance(s).\r\n  Instance \"perfrac1\", status READY, has 1 handler(s) for this service...\r\nService \"pfan.fake.domain\" has 1 instance(s).\r\n  Instance \"perfrac1\", status READY, has 1 handler(s) for this service...\r\nService \"prdrac.fake.domain\" has 1 instance(s).\r\n  Instance \"perfrac1\", status READY, has 1 handler(s) for this service...\r\nService \"prdrac_XPT.fake.domain\" has 1 instance(s).\r\n  Instance \"perfrac1\", status READY, has 1 handler(s) for this service...\r\nThe command completed successfully\r\n<\/pre>\n<p>&#8230;so we log into the database instance on which we would like our service to be reflected as running in the clusterware and stop the service&#8230;<\/p>\n<pre lang=\"sql\">\r\n10:04:33 oracle@racperf01 ~ >sqlplus \/ as sysdba\r\n\r\nSQL*Plus: Release 10.2.0.3.0 - Production on Thu Aug 27 10:04:36 2009\r\n\r\nCopyright (c) 1982, 2006, Oracle.  All Rights Reserved.\r\n\r\n\r\nConnected to:\r\nOracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production\r\nWith the Partitioning, Real Application Clusters, OLAP and Data Mining options\r\n\r\nSQL> exec dbms_service.stop_service('ReqMan')\r\n\r\nPL\/SQL procedure successfully completed.\r\n\r\nElapsed: 00:00:00.01\r\nSQL> exit\r\n<\/pre>\n<p>&#8230;and find we can now start our service using srvctl&#8230;<\/p>\n<pre lang=\"text\">\r\n10:04:49 oracle@racperf01 ~ >srvctl start service -d perfrac -s reqman -i perfrac1\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>This morning, while testing on a two node 10.2.0.3 EE SLES 10 cluster, I found that using srvctl to remove a service from the clusterware does not necessarily stop the service and de-register it from the listener. I&#8217;m not sure&hellip;<\/p>\n<p class=\"more-link-p\"><a class=\"more-link\" href=\"http:\/\/appcrawler.com\/wordpress\/2009\/08\/27\/cant-add-a-service-already-registered-with-the-listener\/\">Read more &rarr;<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"footnotes":""},"categories":[19,22],"tags":[],"_links":{"self":[{"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/posts\/492"}],"collection":[{"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/comments?post=492"}],"version-history":[{"count":10,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/posts\/492\/revisions"}],"predecessor-version":[{"id":1350,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/posts\/492\/revisions\/1350"}],"wp:attachment":[{"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/media?parent=492"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/categories?post=492"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/tags?post=492"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}