{"id":1313,"date":"2015-09-05T19:24:16","date_gmt":"2015-09-05T17:24:16","guid":{"rendered":"http:\/\/clemente.pamplona.name\/dba\/?p=1313"},"modified":"2015-11-21T19:38:32","modified_gmt":"2015-11-21T18:38:32","slug":"acciones-comunes-sobre-el-asm","status":"publish","type":"post","link":"http:\/\/clemente.pamplona.name\/dba\/acciones-comunes-sobre-el-asm\/","title":{"rendered":"Acciones comunes sobre el ASM"},"content":{"rendered":"<p>Hoy vamos a ver un ejemplo de los comando seas habituales que solemos hacer en un ASM <\/p>\n<h1>Nombre  de los diskgroups <\/h1>\n<p>ASMCMD<\/p>\n<pre>\r\nASMCMD> lsdg\r\n<\/pre>\n<p>SQLPLUS<\/p>\n<pre>\r\nSQL> column name format a20;\r\nSQL> \u00a0select NAME,ALLOCATION_UNIT_SIZE,STATE,TYPE,TOTAL_MB,FREE_MB from v$asm_diskgroup\r\nNAME\u00a0\u00a0\u00a0 \u00a0     \u00a0ALLOCATION_UNIT_SIZE STATE\u00a0\u00a0\u00a0 \u00a0\u00a0TYPE \u00a0\u00a0\u00a0\u00a0TOTAL_MB\u00a0\u00a0\u00a0 FREE_MB\r\n---------- -------------------- ---------- ------ ---------- ----------\r\nASMFS\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0 \u00a0\u00a0 1048576 \t  MOUNTED \u00a0\u00a0\u00a0EXTERN\u00a0\u00a0\u00a0 1019\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0403\r\nDATA01_PRUEBA\u00a0\u00a0\u00a0  1048576\t  MOUNTED \u00a0\u00a0\u00a0EXTERN\u00a0\u00a0\u00a0 2246\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0267\r\nOCRVOTING\u00a0\u00a0\u00a0 \u00a0\u00a0 \u00a0 1048576\t  MOUNTED \u00a0\u00a0\u00a0EXTERN\u00a0\u00a0\u00a0 1019\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0623\r\nREDO\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0   1048576\t  MOUNTED \u00a0\u00a0\u00a0EXTERN\u00a0\u00a0\u00a0  499\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0404\r\n<\/pre>\n<h1>Discos en un diskgroup<\/h1>\n<p>ASMCMD<\/p>\n<pre>\r\nASMCMD> lsdsk -p -G DATA01_PRUEBA\r\nGroup_Num \u00a0Disk_Num \u00a0\u00a0\u00a0\u00a0\u00a0Incarn \u00a0Mount_Stat \u00a0Header_Stat \u00a0Mode_Stat \u00a0State \u00a0\u00a0Path\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a02 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a01 \u00a03915953579 \u00a0CACHED \u00a0\u00a0\u00a0\u00a0\u00a0MEMBER \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0ONLINE \u00a0\u00a0\u00a0\u00a0NORMAL \u00a0\/dev\/oracleasm\/disks\/ASM01\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a02 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a00 \u00a03915953576 \u00a0CACHED \u00a0\u00a0\u00a0\u00a0\u00a0MEMBER \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0ONLINE \u00a0\u00a0\u00a0\u00a0NORMAL \u00a0\/dev\/oracleasm\/disks\/DATA_PRUEBA\r\nASMCMD> lsdsk -G DATA01_PRUEBA\r\nPath\r\n\/dev\/oracleasm\/disks\/ASM01\r\n\/dev\/oracleasm\/disks\/DATA_PRUEBA\r\n<\/pre>\n<p>SQLPLUS<\/p>\n<pre>\r\nSQL> select PATH,STATE,NAME from v$asm_disk where name like '%PRUEBA%';\r\nPATH\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \t\t\u00a0\u00a0\u00a0 STATE\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0NAME\r\n---------------------------------------- ---------- --------------------\r\n\/dev\/oracleasm\/disks\/DATA_PRUEBA\u00a0\u00a0\u00a0 NORMAL \u00a0\u00a0\u00a0\u00a0DATA01_PRUEBA_0000\r\n\/dev\/oracleasm\/disks\/ASM01\u00a0\u00a0\u00a0 \u00a0     NORMAL \u00a0\u00a0\u00a0\u00a0DATA01_PRUEBA_0001\r\n<\/pre>\n<h1>Discos candidatos<\/h1>\n<p>ASMCMD<\/p>\n<pre>\r\nASMCMD> lsdsk --candidate -p\r\nGroup_Num \u00a0Disk_Num \u00a0\u00a0\u00a0\u00a0\u00a0Incarn \u00a0Mount_Stat \u00a0Header_Stat \u00a0Mode_Stat \u00a0State \u00a0\u00a0Path\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a05 \u00a03915953571 \u00a0CLOSED \u00a0\u00a0\u00a0\u00a0\u00a0FORMER \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0ONLINE \u00a0\u00a0\u00a0\u00a0NORMAL \u00a0\/dev\/oracleasm\/disks\/ASM02\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a04 \u00a03915953570 \u00a0CLOSED \u00a0\u00a0\u00a0\u00a0\u00a0FORMER \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0ONLINE \u00a0\u00a0\u00a0\u00a0NORMAL  \/dev\/oracleasm\/disks\/ASM03\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a01 \u00a03915953567 \u00a0CLOSED \u00a0\u00a0\u00a0\u00a0\u00a0PROVISIONED \u00a0ONLINE \u00a0\u00a0\u00a0\u00a0NORMAL \u00a0\/dev\/oracleasm\/disks\/ASM04\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a00 \u00a03915953566 \u00a0CLOSED \u00a0\u00a0\u00a0\u00a0\u00a0PROVISIONED \u00a0ONLINE \u00a0\u00a0\u00a0\u00a0NORMAL \/dev\/oracleasm\/disks\/ASM05\r\n<\/pre>\n<p>SQLPLUS<\/p>\n<pre>\r\ncolumn state format a10;\r\ncolumn HEADER_STATUS format a20;\r\ncolumn path format a30;\r\nSQL> select STATE,PATH,HEADER_STATUS from v$asm_disk where header_status !='MEMBER';\r\nSTATE\u00a0\u00a0\u00a0 PATH\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\t\u00a0HEADER_STATUS\r\n-------- -------------------------------------------------- ------------\r\nNORMAL\u00a0\u00a0\u00a0 \/dev\/oracleasm\/disks\/ASM05\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0PROVISIONED\r\nNORMAL\u00a0\u00a0\u00a0 \/dev\/oracleasm\/disks\/ASM02\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0FORMER\r\nNORMAL\u00a0\u00a0\u00a0 \/dev\/oracleasm\/disks\/ASM03\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0FORMER\r\nNORMAL\u00a0\u00a0\u00a0 \/dev\/oracleasm\/disks\/ASM04\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0PROVISIONED\r\n<\/pre>\n<h1>Eliminar un  Diskgroup <\/h1>\n<p>Para poder eliminar un diskgroup este debe de estar montado.<br \/>\nEn caso de querer eliminarlo desmontado deberemos de ponerel flag \u201cforc\u00e9\u201d<\/p>\n<pre>\r\nSQL> drop diskgroup FSARCHPRUEBA force including contents;\r\nDiskgroup dropped.\r\n<\/pre>\n<h1>Creaci\u00f3n de Diskgroup <\/h1>\n<p>En este caso creamos un grupo de redundancia HIGH, por lo que necesitamos 3 failure groups<br \/>\nSQLPLUS<\/p>\n<pre>\r\nCREATE DISKGROUP DATA HIGH REDUNDANCY\r\n\u00a0FAILGROUP controller1 DISK\r\n\u00a0\u00a0\u00a0'\/dev\/oracleasm\/disks\/ASM01' NAME ASM01,\r\n\u00a0\u00a0\u00a0'\/dev\/oracleasm\/disks\/ASM02' NAME ASM02\r\nFAILGROUP controller2 DISK\r\n\u00a0\u00a0\u00a0'\/dev\/oracleasm\/disks\/ASM03' NAME ASM03,\r\n\u00a0\u00a0\u00a0'\/dev\/oracleasm\/disks\/ASM04' NAME ASM04\r\nFAILGROUP controller3 DISK\r\n\u00a0\u00a0\u00a0'\/dev\/oracleasm\/disks\/ASM05' NAME ASM05\r\n\u00a0ATTRIBUTE 'au_size'='4M',\r\n\u00a0\u00a0\u00a0'compatible.asm' = '11.2',\r\n\u00a0\u00a0\u00a0'compatible.rdbms' = '11.2';\r\n<\/pre>\n<p>Ahora creamos un grupo con external <\/p>\n<pre>\r\nCREATE DISKGROUP REDO EXTERNAL REDUNDANCY\r\nDISK \u00a0'\/dev\/oracleasm\/disks\/REDO01' NAME REDO01\r\nATTRIBUTE 'au_size'='4M',\r\n\u00a0\u00a0'compatible.asm' = '11.2',\r\n\u00a0\u00a0'compatible.rdbms' = '11.2';\r\n<\/pre>\n<p>ASMCMD<br \/>\nEn asmcmd la creaci\u00f3n del diskgroup se hace mediante el comando mkdg, pero los par\u00e1metros han de ser pasados en un fichero xml<\/p>\n<h1>A\u00f1adir un disco <\/h1>\n<p>ASMCMD  (Se hace mediante la sintaxsis en xml)<br \/>\nChdg fichero-cambios.xml<br \/>\nSQLPLUS<\/p>\n<pre>\r\nSQL> alter diskgroup DATA01_PRUEBA add disk '\/dev\/oracleasm\/disks\/ASM05';\r\nDiskgroup altered.\r\nSQL> select PATH,STATE,NAME from v$asm_disk where name like '%PRUEBA%';\r\nPATH\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \t\t\u00a0\u00a0STATE \u00a0\u00a0\u00a0NAME\r\n-------------------------------------------------- -------- ------------------------------\r\n\/dev\/oracleasm\/disks\/DATA_PRUEBA\u00a0\u00a0\u00a0 \u00a0 \u00a0\u00a0NORMAL \u00a0\u00a0DATA01_PRUEBA_0000\r\n\/dev\/oracleasm\/disks\/ASM05\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0NORMAL \u00a0\u00a0DATA01_PRUEBA_0002\r\n\/dev\/oracleasm\/disks\/ASM01\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0NORMAL \u00a0\u00a0DATA01_PRUEBA_0001\r\nQuitamos un disco \r\n<\/pre>\n<p>ASMCMD  (Se hace mediante la sintaxsis en xml)<br \/>\nchdg fichero-cambios.xml<br \/>\nSQLPLUS<br \/>\nPara eliminarse se usa  la columna NAME y no PATH<br \/>\n<PRE><br \/>\nSQL> alter diskgroup DATA01_PRUEBA drop disk DATA01_PRUEBA_0001;<br \/>\nDiskgroup altered.<\/p>\n<h1>Comprobar ficheros abiertos de en ASM<\/h1>\n<pre>\r\nASMCMD> lsof\r\nDB_Name \u00a0Instance_Name \u00a0Path \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n+ASM \u00a0\u00a0\u00a0\u00a0+ASM2 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0+ocrvoting.255.4294967295 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\nasmvol \u00a0\u00a0+ASM2 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0+asmfs\/ADVMFS1.256.888838797 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\nprueba \u00a0\u00a0prueba2 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0+data01_prueba\/prueba\/controlfile\/current.256.888313451 \u00a0\r\nprueba \u00a0\u00a0prueba2 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0+data01_prueba\/prueba\/datafile\/sysaux.260.888313489 \u00a0\u00a0\u00a0\u00a0\u00a0\r\nprueba \u00a0\u00a0prueba2 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0+data01_prueba\/prueba\/datafile\/system.259.888313463 \u00a0\u00a0\u00a0\u00a0\u00a0\r\nprueba \u00a0\u00a0prueba2 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0+data01_prueba\/prueba\/datafile\/undotbs1.261.888313519 \u00a0\u00a0\u00a0\r\nprueba \u00a0\u00a0prueba2 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0+data01_prueba\/prueba\/datafile\/undotbs2.267.888578953 \u00a0\u00a0\u00a0\r\nprueba \u00a0\u00a0prueba2 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0+data01_prueba\/prueba\/datafile\/users.263.888313549 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\nprueba \u00a0\u00a0prueba2 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0+data01_prueba\/prueba\/onlinelog\/group_1.257.888313455 \u00a0\u00a0\u00a0\r\nprueba \u00a0\u00a0prueba2 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0+data01_prueba\/prueba\/onlinelog\/group_2.258.888313459 \u00a0\u00a0\u00a0\r\nprueba \u00a0\u00a0prueba2 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0+data01_prueba\/prueba\/onlinelog\/group_3.264.888315899 \u00a0\u00a0\u00a0\r\nprueba \u00a0\u00a0prueba2 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0+data01_prueba\/prueba\/onlinelog\/group_4.265.888315903 \u00a0\u00a0\u00a0\r\nprueba \u00a0\u00a0prueba2 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0+data01_prueba\/prueba\/tempfile\/temp.262.888313531 \u00a0\r\n\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Hoy vamos a ver un ejemplo de los comando seas habituales que solemos hacer en un ASM Nombre de los diskgroups ASMCMD ASMCMD> lsdg SQLPLUS SQL> column name format a20; SQL> \u00a0select NAME,ALLOCATION_UNIT_SIZE,STATE,TYPE,TOTAL_MB,FREE_MB from v$asm_diskgroup NAME\u00a0\u00a0\u00a0 \u00a0 \u00a0ALLOCATION_UNIT_SIZE STATE\u00a0\u00a0\u00a0 \u00a0\u00a0TYPE &hellip; <a href=\"http:\/\/clemente.pamplona.name\/dba\/acciones-comunes-sobre-el-asm\/\">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,60,42,199,49],"tags":[132,259,252,247],"class_list":["post-1313","post","type-post","status-publish","format-standard","hentry","category-11g","category-12c","category-asm","category-oracle","category-rac","tag-asm-2","tag-asmcmd","tag-rac","tag-sqlplus"],"_links":{"self":[{"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/posts\/1313","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=1313"}],"version-history":[{"count":5,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/posts\/1313\/revisions"}],"predecessor-version":[{"id":1318,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/posts\/1313\/revisions\/1318"}],"wp:attachment":[{"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/media?parent=1313"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/categories?post=1313"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/tags?post=1313"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}