{"id":777,"date":"2013-12-17T22:03:22","date_gmt":"2013-12-17T21:03:22","guid":{"rendered":"http:\/\/clemente.pamplona.name\/dba\/?p=777"},"modified":"2013-12-30T08:37:17","modified_gmt":"2013-12-30T07:37:17","slug":"estado-del-clusterracgrid-tabulado","status":"publish","type":"post","link":"http:\/\/clemente.pamplona.name\/dba\/estado-del-clusterracgrid-tabulado\/","title":{"rendered":"Estado del Cluster\/Rac\/Grid  tabulado"},"content":{"rendered":"<p><strong>Nos hemos mudado a bloger!<br \/>\nEl contenido actualizado de esta entrada lo tienes en:<br \/>\n<a href\"http:\/\/dba.pamplona.name\/2013\/12\/estado-del-clusterracgrid-tabulado.html\">http:\/\/dba.pamplona.name\/2013\/12\/estado-del-clusterracgrid-tabulado.html<\/a><br \/>\n<\/strong><br \/>\nHoy vamos a ver una entrada de esas sencillas para hacernos la vida mas f\u00e1cil.<\/p>\n<p>Cuando ejecutamos el comando para ver el estado de un cluster, nos solemos encontrar con esto :<\/p>\n<pre>\r\ngrid@rac1:\/opt\/oracle\/10.2\/CRS\/bin$ crs_stat -t\r\nName Type Target State Host\r\n------------------------------------------------------------\r\nora....SM1.asm application ONLINE ONLINE oradb1\r\nora....D1.lsnr application ONLINE ONLINE oradb1\r\nora.oradb1.gsd application ONLINE ONLINE oradb1\r\nora.oradb1.ons application ONLINE ONLINE oradb1\r\nora.oradb1.vip application ONLINE ONLINE oradb1\r\nora....SM2.asm application ONLINE ONLINE oradb2\r\nora....D2.lsnr application ONLINE ONLINE oradb2\r\nora.oradb2.gsd application ONLINE ONLINE oradb2\r\nora.oradb2.ons application ONLINE ONLINE oradb2\r\nora.oradb2.vip application ONLINE ONLINE oradb2\r\nora....robd.db application ONLINE ONLINE oradb1\r\nora....dmin.cs application OFFLINE OFFLINE\r\nora....bd1.srv application OFFLINE OFFLINE\r\nora....ckup.cs application OFFLINE OFFLINE\r\nora....bd2.srv application OFFLINE OFFLINE\r\nora....atch.cs application OFFLINE OFFLINE\r\nora....bd2.srv application OFFLINE OFFLINE\r\nora....oltp.cs application OFFLINE OFFLINE\r\nora....bd1.srv application OFFLINE OFFLINE\r\nora....bd2.srv application OFFLINE OFFLINE\r\nora....d1.inst application ONLINE ONLINE oradb1\r\nora....d2.inst application ONLINE ONLINE oradb2\r\n<\/pre>\n<p>Realmente no nos sirve de mucho ya que  queda todo api\u00f1ado,y no nos permite saber que componente est\u00e1 arrancado y cual eta parado.<br \/>\nNavegando por internet vi en un par de webs (perd\u00f3n pero no recuerdo el lugar) el siguiente scipt en ksh<\/p>\n<pre>\r\n!\/usr\/bin\/ksh\r\n#\r\n#  $GRID_HOME debe de estar definido en el entorno \r\n#\r\nRSC_KEY=$1\r\nQSTAT=-u\r\nAWK=\/bin\/awk\r\n# Table header:echo \"\"\r\n$AWK \\\r\n'BEGIN {printf \"%-45s %-10s %-18s\\n\", \"HA Resource\", \"Target\", \"State\";\r\nprintf \"%-45s %-10s %-18s\\n\", \"-----------\", \"------\", \"-----\";}'\r\n# Table body:\r\n$GRID_HOME\/bin\/crs_stat $QSTAT | $AWK \\\r\n'BEGIN { FS=\"=\"; state = 0; }\r\n$1~\/NAME\/ && $2~\/'$RSC_KEY'\/ {appname = $2; state=1};\r\nstate == 0 {next;}\r\n$1~\/TARGET\/ && state == 1 {apptarget = $2; state=2;}\r\n$1~\/STATE\/ && state == 2 {appstate = $2; state=3;}\r\nstate == 3 {printf \"%-45s %-10s %-18s\\n\", appname, apptarget, appstate; state=0;}'\r\n<\/pre>\n<p>Este script nos devuelve una salida limpia al estilo de :<\/p>\n<pre>\r\ngrid@rac1:\/opt\/oracle\/10.2\/CRS\/bin$ .\/crsstat.sh\r\nHA Resource                         Target     State\r\n-----------                         ------     -----\r\nora.oradb1.ASM1.asm                ONLINE     ONLINE on oradb1\r\nora.oradb1.LISTENER_oradb1.lsnr    ONLINE     ONLINE on oradb1\r\nora.oradb1.gsd                     ONLINE     ONLINE on oradb1\r\nora.oradb1.ons                     ONLINE     ONLINE on oradb1\r\nora.oradb1.vip                     ONLINE     ONLINE on oradb1\r\nora.oradb2.ASM2.asm                ONLINE     ONLINE on oradb2\r\nora.oradb2.LISTENER_oradb2.lsnr    ONLINE     ONLINE on oradb2\r\nora.oradb2.gsd                     ONLINE     ONLINE on oradb2\r\nora.oradb2.ons                     ONLINE     ONLINE on oradb2\r\nora.oradb2.vip                     ONLINE     ONLINE on oradb2\r\nora.rac.db                         ONLINE     ONLINE on oradb1\r\nora.rac_admin.cs                   OFFLINE    OFFLINE\r\nora.rac_admin.rac1.srv             OFFLINE    OFFLINE\r\nora.rac_backup.cs                  OFFLINE    OFFLINE\r\nora.rac_backup.rac2.srv            OFFLINE    OFFLINE\r\nora.rac_batch.cs                   OFFLINE    OFFLINE\r\nora.rac_batch.rac2.srv             OFFLINE    OFFLINE\r\nora.rac_oltp.cs                    OFFLINE    OFFLINE\r\nora.rac_oltp.rac1.srv              OFFLINE    OFFLINE\r\nora.rac_oltp.rac2.srv              OFFLINE    OFFLINE\r\nora.rac.rac1.inst                   ONLINE     ONLINE on oradb1\r\nora.rac.rac2.inst                   ONLINE     ONLINE on oradb2\r\n<\/pre>\n<p><strong>Nota<\/strong> posteriormente me he encontrado con que era un script documentado por Oracle en la nota\u00a0259301.1 :<br \/>\n <a href=\"<a href=\"https:\/\/support.oracle.com\/epmos\/faces\/SearchDocDisplay?_adf.ctrl-state=140mq69r3n_9&#038;_afrLoop=220491693361708\"<\/a>CRS and 10g\/11.1 Real Application Clusters (Doc ID 259301.1)<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nos hemos mudado a bloger! El contenido actualizado de esta entrada lo tienes en: http:\/\/dba.pamplona.name\/2013\/12\/estado-del-clusterracgrid-tabulado.html Hoy vamos a ver una entrada de esas sencillas para hacernos la vida mas f\u00e1cil. Cuando ejecutamos el comando para ver el estado de un &hellip; <a href=\"http:\/\/clemente.pamplona.name\/dba\/estado-del-clusterracgrid-tabulado\/\">Sigue leyendo <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,42,43,49,13],"tags":[249,129,40,36,252],"class_list":["post-777","post","type-post","status-publish","format-standard","hentry","category-11g","category-asm","category-grid","category-rac","category-scripting","tag-11g","tag-crs_stat","tag-linux","tag-oracleasm","tag-rac"],"_links":{"self":[{"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/posts\/777","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/comments?post=777"}],"version-history":[{"count":9,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/posts\/777\/revisions"}],"predecessor-version":[{"id":834,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/posts\/777\/revisions\/834"}],"wp:attachment":[{"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/media?parent=777"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/categories?post=777"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/tags?post=777"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}