I recently had a challenge with SBT_TAPE interface in RMAN. We were testing a few backups with a new tape solution. For example cloning databases with RMAN and a tape library.
After we finished, the tape was disconnected from the server but the backup information where still in the RMAN repository (controlfile).
In general you should always have a catalog database when backing up databases directly to tape. This makes your live much easier when restoring a controlfile from backup. But that’s a different story.
After some time these test backups caused problems because RMAN wanted to delete them (delete obsolete). Reattaching the tape library would have caused a lot of work. So I was looking for a different solution.
There is a tape driver which emulates a folder on disk as a sbt_tape interface. You can allocate such a channel with the following command:
allocate channel for maintenance device type 'SBT_TAPE' parms="SBT_LIBRARY=oracle.disksbt, ENV=(BACKUP_DIR=/orabackup)";
This will fake /orabackup as a tape pool.
Now I was able to mark the test backups as expired using the chrosscheck command and delete them afterwards.