{"id":219,"date":"2012-09-29T22:43:13","date_gmt":"2012-09-29T20:43:13","guid":{"rendered":"http:\/\/clemente.pamplona.name\/dba\/?p=219"},"modified":"2012-10-20T20:04:30","modified_gmt":"2012-10-20T18:04:30","slug":"error-rman-06172-recuperando-del-autobackup","status":"publish","type":"post","link":"http:\/\/clemente.pamplona.name\/dba\/error-rman-06172-recuperando-del-autobackup\/","title":{"rendered":"Error  RMAN-06172 recuperando del autobackup"},"content":{"rendered":"<p>En la\u00a0<a title=\"Recuperar un spfile borrado\" href=\"http:\/\/clemente.pamplona.name\/dba\/?p=206\">entrada anterior<\/a>\u00a0 vimos como recuperar un spfile desde el backup con rman.<\/p>\n<p>Desgraciadamente no siempre todo funciona a la primera, y , como Murphy nunca falla, el error inusual siempre tiene que tocarnos a nosotros. La teor\u00eda nos dice que\u00a0 para recuperar un spfile o un controlfile de rman solamente hay que hacer<\/p>\n<pre>RMAN&gt; restore spfile from autobackup;\r\n\r\n<\/pre>\n<p>Pero que ocurre si no funciona?<\/p>\n<p>La recuperacion tanto del controlfile como del spfile puede complicarse si recibimos un\u00a0RMAN-06172 . La salida del comando ser\u00e1 algo similar a esto :<\/p>\n<pre>Starting restore at 28\/09\/12\r\nallocatedchannel: ORA_DISK_1\r\nchannel ORA_DISK_1: sid=85 instance=pruebas devtype=DISK\r\nrecovery area destination: +DG_FRA\r\ndatabase name (ordatabaseuniquename) used for search: PRUEBAS\r\nchannel ORA_DISK_1: no autobackupsfound in the recovery area\r\nchannel ORA_DISK_1: looking for autobackup on day: 20120928\r\nchannel ORA_DISK_1: looking for autobackup on day: 20120927\r\nchannel ORA_DISK_1: looking for autobackup on day: 20120926\r\nchannel ORA_DISK_1: looking for autobackup on day: 20120925\r\nchannel ORA_DISK_1: looking for autobackup on day: 20120924\r\nchannel ORA_DISK_1: looking for autobackup on day: 20120923\r\nchannel ORA_DISK_1: looking for autobackup on day: 20120922\r\nChannel ORA_DISK_1: no autobackup in 7 daysfound\r\nRMAN-00571:\u00a0\u00a0 =================================\r\nRMAN-00569: == ERROR MESSAGE STACK FOLLOWS\r\nRMAN-00571: ===================================\r\nRMAN-03002: failure of restorecommand at 09\/28\/2012 11:40:37\r\nRMAN-06172: no autobackup found or\u00a0 specified handle is not a valid copy or piece<\/pre>\n<p>Llegados a este punto lo primero que tenemos que comprobar es si reamente tenemos alg\u00fan backup de nuestro spfile.<\/p>\n<p>RMAN por defecto hace una copia de controlfile y spfile cada vez que se lleva a backup el tablespace system, as\u00ed pues, si tenemos un backup v\u00e1lido en cinta de este tablespace deberemos de tener un backup del spfile.\u00a0 Para consultar donde est\u00e1 esta backup, nos conectaremos desde\u00a0 rman y ejecutaremos la consulta<\/p>\n<pre>RMAN &gt;List backup;<\/pre>\n<p>Este comando nos volcar\u00e1 mucha informaci\u00f3n ordenada cronol\u00f3gicamente, con lo que nosotros tendremos que buscar en la parte inferior el registro del \u00faltimo d\u00eda de backup donde est\u00e9 el spfile.<\/p>\n<p>El registro dir\u00e1 algo como:<\/p>\n<pre>BS Key\u00a0 Type LV SizeDeviceTypeElapsed Time Completion Time\r\n------- ---- -- ---------- ----------- ------------ ---------------\r\n797503\u00a0 Incr 0\u00a0 5.44G\u00a0\u00a0\u00a0\u00a0\u00a0 SBT_TAPE\u00a0\u00a0\u00a0 00:03:52\u00a0\u00a0\u00a0\u00a0 27\/09\/12\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 BP Key: 797556\u00a0\u00a0 Status: AVAILABLE\u00a0 Compressed: NO\u00a0 Tag: TAG20120926T210038\r\nHandle: intranet_backup&lt;pruebas_8084:795042038:1&gt;.dbf\u00a0\u00a0 Media:\r\nList of Datafiles in backup set 797503\r\n\u00a0 File LV TypeCkp SCN\u00a0\u00a0\u00a0 Ckp Time Name\r\n\u00a0 ---- -- ---- ---------- -------- ----\r\n\u00a0 1\u00a0\u00a0\u00a0 0\u00a0 Incr 139540429\u00a0 26\/09\/12 +DG_DAT\/pruebas\/datafile\/system.257.713298945\r\n\u00a0 2\u00a0\u00a0\u00a0 0\u00a0 Incr 139540429\u00a0 26\/09\/12 +DG_DAT\/pruebas\/datafile\/undotbs1.262.713298945\r\n\u00a0 3\u00a0\u00a0\u00a0 0\u00a0 Incr 139540429\u00a0 26\/09\/12 +DG_DAT\/pruebas\/datafile\/sysaux.261.713298945\r\n\u00a0 4\u00a0\u00a0\u00a0 0\u00a0 Incr 139540429\u00a0 26\/09\/12 +DG_DAT\/pruebas\/datafile\/undotbs2.264.713298947\r\n\u00a0 5\u00a0\u00a0\u00a0 0\u00a0 Incr 139540429\u00a0 26\/09\/12 +DG_DAT\/pruebas\/datafile\/users.345.713298947\r\n\u00a0 6\u00a0\u00a0\u00a0 0\u00a0 Incr 139540429\u00a0 26\/09\/12 +DG_DAT\/pruebas\/datafile\/pruebas.260.730901167\r\n\r\nBS Key\u00a0 Type LV SizeDeviceTypeElapsed Time Completion Time\r\n------- ---- -- ---------- ----------- ------------ ---------------\r\n797504Incr 0\u00a0 15.00M\u00a0\u00a0\u00a0\u00a0 SBT_TAPE\u00a0\u00a0\u00a0 00:00:06\u00a0\u00a0\u00a0\u00a0 27\/09\/12\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 BP Key: 797557\u00a0\u00a0 Status: AVAILABLE\u00a0 Compressed: NO\u00a0 Tag: TAG20120926T210038\r\nHandle:pruebas_backup&lt;pruebas_8085:795042273:1&gt;.dbf\u00a0\u00a0 Media:\r\n\u00a0 Control File Included: Ckp SCN: 139541276\u00a0\u00a0\u00a0 Ckp time: 27\/09\/12\r\nSPFILE Included: Modification time: 27\/09\/12<\/pre>\n<p>Aqu\u00ed podemos ver como el 27 del 9 hicimos backup del tablespace system en el backupset 797504 lo que provoca que el RMAN haga backup de el SPFILE en el backupset\u00a0 797504 en un fichero que el software de backup tiene identificado como\u00a0 \u201cpruebas_backup&lt;pruebas_8085:795042273:1&gt;.dbf\u201d<\/p>\n<p>Luego, si que tenemos respaldado el spfile.<\/p>\n<p>\u00bfQue hacemos ahora para recuperarlo?<\/p>\n<p>Simplemente tendremos que ejecutar el comando de restauraci\u00f3n indicando exactamente desde el fichero en el que queremos hacer la copia.<\/p>\n<p>Vamos a rizar un poco mas el rizo y hagamos que la copia no est\u00e9 ya en\u00a0 la FRA,sino que el contenido ya est\u00e1 en cinta. Lo primero que tendremos que hacer es localizar un canal a cinta, para ello lo m\u00e1s sencillo es buscar el script de backup y copiar los par\u00e1mteros espec\u00edficos de\u00a0 la l\u00ednea del <em>allocate channel<\/em> .<\/p>\n<p>En nuestro caso el resultado ser\u00e1 :<\/p>\n<pre>allocate channel 'dev_0' type 'sbt_tape'\u00a0\u00a0 \r\nparms 'ENV=(OB2BARTYPE=Oracle8,OB2APPNAME=pruebas,OB2BARLIST=pruebas_backup)';\r\n\r\n<\/pre>\n<p>As\u00ed pues, ya tenemos la l\u00ednea que nos conectar\u00e1 con el software de backup, ahora tenemos que indicarle el nombre del fichero del cual queremos sacar el spfile, en nuestro caso hemos visto\u00a0 que era\u00a0 <em>\u201cpruebas_backup&lt;pruebas_8085:795042273:1&gt;.dbf\u201d .<\/em><\/p>\n<p>Con esto solamente nos queda hacer un bloque run de RMAN que nos recupere el spfile a una ubicaci\u00f3n alternativa:<\/p>\n<pre>run {\r\nallocate channel 'dev_0' type 'sbt_tape'\r\nparms 'ENV=(OB2BARTYPE=Oracle8,OB2APPNAME=pruebas,OB2BARLIST=pruebas_backup)';\r\nrestore\u00a0 spfile to '\/tmp\/spfile_restaurado_cinta.ora' from 'pruebas_backup&lt;pruebas_8085:795042273:1&gt;.dbf';\r\n\u00a0}\r\n\r\n<\/pre>\n<p>Nos conectaremos a\u00a0 nuestra base de datos target\u00a0 y cat\u00e1logo y ejecutamos nuestro bloque run,con el resultado:<\/p>\n<pre>run {\r\nallocate channel 'dev_0' type 'sbt_tape'\r\nparms 'ENV=(OB2BARTYPE=Oracle8,OB2APPNAME=pruebas,OB2BARLIST=pruebas_backup)';\r\nrestore\u00a0 spfile to '\/tmp\/spfile_restaurado_cinta.ora' from 'pruebas_backup&lt;pruebas_8085:795042273:1&gt;.dbf';\r\n}\r\n3&gt;allocatechannel 'dev_0' type 'sbt_tape'\r\nparms 'ENV=(OB2BARTYPE=Oracle8,OB2APPNAME=pruebas,OB2BARLIST=pruebas_backup)';\r\n4&gt;restorespfileto '\/tmp\/spfile_restaurado_cinta.ora' from 'pruebas_backup&lt;pruebas_8085:795042273:1&gt;.dbf';\r\n5&gt; }\r\nallocatedchannel: dev_0\r\nchannel dev_0: sid=147 instance=pruebas1 devtype=SBT_TAPE\r\nchannel dev_0: Data Protector A.06.11\/PHSS_40470\/PHSS_40471\/DPSOL_00391\/DPLNX_\r\nStartingrestore at 28\/09\/12\r\nchannel dev_0: autobackupfound: pruebas_backup&lt;pruebas_8085:795042273:1&gt;.dbf\r\n[Normal] From: OB2BAR_SBT_CHANNEL@server.local \"pruebas\"\u00a0 Time: 09\/28\/12 12:29:09\r\nStarting OB2BAR Restore: server.local:pruebas_backup&lt;pruebas_8085:795042273:1&gt;.dbf \"Oracle8\"\r\n[Normal] From: OB2BAR_SBT_CHANNEL@server.local \"pruebas\"\u00a0 Time: 09\/28\/12 12:29:09\r\nStarting OB2BAR Restore: server.local:pruebas_backup&lt;pruebas_8085:795042273:1&gt;.dbf \"Oracle8\"\r\n[Normal] From: OB2BAR_SBT_CHANNEL@server.local \"pruebas\"\u00a0 Time: 09\/28\/12 12:29:10\r\nCompleted OB2BAR Restore: server.local:pruebas_backup&lt;pruebas_8085:795042273:1&gt;.dbf \"Oracle8\"\r\n[Normal] From: OB2BAR_SBT_CHANNEL@server.local \"pruebas\"\u00a0 Time: 09\/28\/12 12:29:10\r\nCompleted OB2BAR Restore: server.local:pruebas_backup&lt;pruebas_8085:795042273:1&gt;.dbf \"Oracle8\"\r\nchannel dev_0: SPFILE restorefromautobackup complete\r\nFinishedrestore at 28\/09\/12\r\nreleasedchannel: dev_0\r\nRecovery Manager complete..<\/pre>\n<p>Ahora solamente tenemos que buscar el fichero <em>\/tmp\/spfile_restaurado_cinta.ora<\/em> donde tenemos la imagen del\u00a0 spfile recuperada del backup.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En la\u00a0entrada anterior\u00a0 vimos como recuperar un spfile desde el backup con rman. Desgraciadamente no siempre todo funciona a la primera, y , como Murphy nunca falla, el error inusual siempre tiene que tocarnos a nosotros. La teor\u00eda nos dice &hellip; <a href=\"http:\/\/clemente.pamplona.name\/dba\/error-rman-06172-recuperando-del-autobackup\/\">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":[6],"tags":[246,32,23,31,28],"class_list":["post-219","post","type-post","status-publish","format-standard","hentry","category-backup","tag-backup","tag-controlfile","tag-rman","tag-rman-06172","tag-spfile"],"_links":{"self":[{"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/posts\/219","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=219"}],"version-history":[{"count":8,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/posts\/219\/revisions"}],"predecessor-version":[{"id":262,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/posts\/219\/revisions\/262"}],"wp:attachment":[{"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/media?parent=219"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/categories?post=219"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/tags?post=219"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}