It was weird to get ORA-19554: error allocating device, device type: SBT_TAPE, device name: error for this operation because it says device_type=disk and I was pretty sure that default device type is configured to disk because we are not doing tape backups. when I check with show all the default device type was disk as shown in the output below.
What was the reason. At first, I was thinking having default compressed backup set on disk channels causes this problem but After a search I found this thread on Oracle Forums I saw that The line which says
CONFIGURE CHANNEL DEVICE TYPE ‘SBT_TAPE’ MAXPIECESIZE 4 G;
causes this problem even if you set default device type. RMAN configuration file was updated through enterprise manager. When you set 4GB backup piece through manager it updates configuration file for both.
When you remove this configuration with the command below it will let you to do maintenance over disk channels.
CONFIGURE CHANNEL DEVICE TYPE ‘SBT_TAPE’ CLEAR;
Crosscheck command now works through disk channel
Edited: If you dont want to remove this parameter and still want to do crosscheck with disk channels you should try the following command. (if you doing this over gui you have to write this command instead of the one produced by EM)
ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK;
Thanks to Michael T. Dihn for his comment.
Database Version is 10.2.0.2