{"id":1179,"date":"2015-02-19T09:24:29","date_gmt":"2015-02-19T08:24:29","guid":{"rendered":"http:\/\/clemente.pamplona.name\/dba\/?p=1179"},"modified":"2015-02-19T09:25:57","modified_gmt":"2015-02-19T08:25:57","slug":"purgando-diag-con-adrci","status":"publish","type":"post","link":"http:\/\/clemente.pamplona.name\/dba\/purgando-diag-con-adrci\/","title":{"rendered":"Purgando diag con adrci"},"content":{"rendered":"<p>Hoy vamos a ver una entrada sencillita en la que haremos un bash-script que nos limpie de manera ordenada el contenido del  diag <\/p>\n<p>El comando ADRCi permite la ejecuci\u00f3n de comandos batch bien sea mediante la cl\u00e1usula <b> exec<\/b> o bien contenidos en un fichero de texto separados por <i>punto y coma<\/i>.<br \/>\nLo que vamos ha hacer es ejecutar para cada uno de los homes del la base de datos, asm y listener, el comando <b> purge<\/b> para cada uno de los tipos de elementos que guarda el <\/i>diagnostics_dest<\/i><\/p>\n<p>En nuestro caso, usaremos el modo <i>script<\/i> pero pod\u00edamos haber puesto todos los comandos en una l\u00ednea separada por puntos y coma y el funcionamiento ser\u00eda el mismo.<\/p>\n<p>El script que vacia el <\/i>diagnostics_dest<\/i> para todo lo anterior a X d\u00edas es:<\/p>\n<pre>\r\n#!\/bin\/bash\r\n#\r\n# Script que purga del ADRCLI  para  $1 DIAS\r\n#\r\n#\r\n#\r\n#\r\nexport ORAENV_ASK=NO\r\n. oraenv  1>\/dev\/null\r\n# Salida de debug\r\nDEBUG=0\r\n\r\n #Comprobamos que se ha llamado de manera correcta\r\nif  [ $# -ne 1 ]; then\r\necho \"Uso Purgar_logs DIAS \"\r\nexit 3;\r\nfi\r\n\r\n# Inicializamos valores para el script\r\nexport TEMPORAL=\/var\/tmp\/purgar_temporal_$$.log\r\nexport DIAS=$(($1*1440))\r\n\r\n## Comenzamos la ejecucion\r\nif [ $DEBUG -eq 1 ]; then\r\n        echo \"DEBUG: ORACLE_BASE=$ORACLE_BASE\"\r\n        echo \"DEBUG: TEMPORAL= ${TEMPORAL} \"\r\n        echo \"DEBUG: Dias= $2   en min $DIAS\"\r\nfi\r\n# Comenzamos las iteraciones\r\nadrci_homes=( $(adrci exec=\"show homes\" | grep -e rdbms -e asm -e tnslsnr))\r\n   for adrci_home in ${adrci_homes[@]}\r\n   do\r\n          #Generamos el fichero de comandos\r\n         echo \"set home ${adrci_home} ;\" > ${TEMPORAL}\r\n         echo \"echo \\\"Purgamos en  ${adrci_home} \\\"\"  >> ${TEMPORAL}\r\n         echo \"purge -age ${DIAS} -type ALERT ;\" >> ${TEMPORAL}\r\n         echo \"purge -age ${DIAS} -type TRACE ;\" >> ${TEMPORAL}\r\n         echo \"purge -age ${DIAS} -type INCIDENT ;\" >> ${TEMPORAL}\r\n         echo \"purge -age ${DIAS} -type HM ;\" >> ${TEMPORAL}\r\n         echo \"purge -age ${DIAS} -type  utscdmp;\" >> ${TEMPORAL}\r\n         echo \"purge -age ${DIAS} -type  cdump;\" >> ${TEMPORAL}\r\n         echo \"exit; \" >> ${TEMPORAL}\r\n\r\n       if [ $DEBUG -eq 1 ]; then\r\n        echo \"DEBUG: \"\r\n        echo \"DEBUG:  adrci SCRIPT=${TEMPORAL}\"\r\n        echo \"DEBUG: EL etemporal es \"\r\n        echo \"DEBUG: -inicio temporal-\"\r\n         cat ${TEMPORAL}\r\n         echo \"DEBUG: -fin temporal-\"\r\n        fi\r\n        adrci  SCRIPT=${TEMPORAL}\r\n         rm ${TEMPORAL}\r\n    done #Fin del bucle\r\n\r\n<\/pre>\n<p>Como v\u00e9is, es extremadamente sencillo, y bastante mas limpio que hacer el borrado a mano<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hoy vamos a ver una entrada sencillita en la que haremos un bash-script que nos limpie de manera ordenada el contenido del diag El comando ADRCi permite la ejecuci\u00f3n de comandos batch bien sea mediante la cl\u00e1usula exec o bien &hellip; <a href=\"http:\/\/clemente.pamplona.name\/dba\/purgando-diag-con-adrci\/\">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,199,86,13],"tags":[179,210,209,248,73],"class_list":["post-1179","post","type-post","status-publish","format-standard","hentry","category-11g","category-12c","category-oracle","category-oracle-linux","category-scripting","tag-adrci","tag-bash","tag-diag","tag-dummie","tag-scripts"],"_links":{"self":[{"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/posts\/1179","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=1179"}],"version-history":[{"count":3,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/posts\/1179\/revisions"}],"predecessor-version":[{"id":1182,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/posts\/1179\/revisions\/1182"}],"wp:attachment":[{"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/media?parent=1179"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/categories?post=1179"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/tags?post=1179"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}