During an RMAN restore of a backup made to a networker server the restore fails retrieving a backup piece:
restore datafile 2; channel ORA_SBT_TAPE_1: starting datafile backup set restore channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set channel ORA_SBT_TAPE_1: restoring datafile 00002 to +DATA/dwh/datafile/sysaux.257.764502905 channel ORA_SBT_TAPE_1: reading from backup piece DWH_fqnacfte_1_1 channel ORA_SBT_TAPE_1: ORA-19870: error while restoring backup piece DWH_fqnacfte_1_1 ORA-19507: failed to retrieve sequential file, handle="DWH_fqnacfte_1_1", parms="" ORA-27029: skgfrtrv: sbtrestore returned error ORA-19511: Error received from media manager layer, error text: Could not locate the LNM save file 'DWH_fqnacfte_1_1' on server 'nsrserverhost'. (2:9:2)
Lets´s check if the backup set exists on the server:
root@nsrserverhost # mminfo -a -v -r name,ssid,cloneid,savetime,client,state,location,ssretent,ssbrowse,ssflags -q client=clientname | grep DWH_fqnacfte_1_1 RMAN:DWH_fqnacfte_1_1 3349640857 1336374016 05/07/12 clientname E JUKEBOX 05/14/12 05/14/12 vrEF RMAN:DWH_fqnacfte_1_1 3349640857 1336374016 05/07/12 clientname JUKEBOX 05/14/12 05/14/12 vrEF
So we can see the save set actually exists but is marked “Expired” (E). So let´s try to change that back:
nsrmm -S 3349640857 -w 07/28/12 -e 07/28/12 Cannot change browse/retention time of recyclable save set 3349640857 root@nsrserverhost # nsrmm -o notrecyclable -v -S 3349640857 Save set 3349640857 cannot be marked as notrecyclable. Please specify the ssid/cloneid of the particular clone instance.
root@nsrserverhost # nsrmm -o notrecyclable -v -S 3349640857/1336374016 Mark save set copy 3349640857/1336374016 as not recyclable? y
root@nsrserverhost # nsrmm -S 3349640857 -w 07/28/12 -e 07/28/12 Cannot exceed the browse time of a recoverable save set 3349640857
Does not work as the information is already purged from the client database. In that case we need to restore the client index from a date before the expiry and change the browse and retention:
root@nsrserverhost # nsrck -L7 -t 05/07/12 clientname nsrck: checking index for 'clientname' 9343:nsrck: The file index for client 'clientname' will be recovered. Requesting 1 recover session(s) from server. Recover completion time: Tue May 15 19:22:37 2012 nsrck: /var/nsr/index/clientname contains 69 records occupying 37 KB nsrck: Completed checking 1 client(s) root@scrkva16 # mminfo -a -v -r name,ssid,cloneid,savetime,client,state,location,ssretent,ssbrowse,ssflags -q client=scrdwh02 | grep DWHKVASY_fqnacfte_1_1 RMAN:DWH_fqnacfte_1_1 3349640857 1336374016 05/07/12 clientname JUKEBOX 05/23/12 05/23/12 vF RMAN:DWH_fqnacfte_1_1 3349640857 1336374016 05/07/12 clientname JUKEBOX 05/23/12 05/23/12 vF
root@nsrserverhost # nsrmm -S 3349640857 -w 07/28/12 -e 07/28/12
And now the restore works as expected:
restore datafile 2; channel ORA_SBT_TAPE_1: starting datafile backup set restore channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set channel ORA_SBT_TAPE_1: restoring datafile 00002 to +DATA/dwh/datafile/sysaux.257.764502905 channel ORA_SBT_TAPE_1: reading from backup piece DWH_fqnacfte_1_1