Sometimes all current backups are marked as expired when performing a crosscheck backup while backupsets physically exist and these backupsets are not expired according to Media Manager like Legato or Netbackup. You should first check the Parms used in allocate channel command are correct, if they are correct you should enable the debug for RMAN for more details.
RMAN> DEBUG ON;
RMAN> ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE 'sbt_tape' SEND 'NB_ORA_CLIENT=OR-11, NB_ORA_SERV=mg-2' trace 1;
RMAN> crosscheck backup;
RMAN> DEBUG OFF;
Check sbtio.log in user_dump_dest location which will have the errors during the time of crosscheck.
Possible Reasons:
1- Some times errors are due to the SBT library, enabling debug can provide more insight.
RMAN> DEBUG ON;
RMAN> ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE 'sbt_tape' SEND 'NB_ORA_CLIENT=OR-11, NB_ORA_SERV=mg-2' trace 1;
RMAN> crosscheck backup;
RMAN> DEBUG OFF;
Check sbtio.log in user_dump_dest location which will have the errors during the time of crosscheck.
Possible Reasons:
1- Some times errors are due to the SBT library, enabling debug can provide more insight.
2- CROSSCHECK was run with the wrong PARMS settings. RMAN will query the media manager and get response back that the backup piece cannot be found. It will then set the status of the piece to Expired.
RMAN doesn't have a concept of what media manager it is using. As long as you specify device type SBT, it's up to the user to make sure that the configuration and PARMS settings are correct. RMAN will just query the media manager generically, as it only knows that the backup was made to SBT.