While restoring a Oracle Standard Edition database using Litespeed Engine for Oracle (LEO) the following error comes up:
RMAN> restore database;
Starting restore at 19-MAY-09
allocated channel: ORA_SBT_TAPE_1
channel ORA_SBT_TAPE_1: sid=12 devtype=SBT_TAPE
channel ORA_SBT_TAPE_1: LiteSpeed Engine for Oracle
released channel: ORA_SBT_TAPE_1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 05/19/2009 13:47:39
RMAN-06181: multiple channels require Enterprise Edition
RMAN> show channel;
RMAN configuration parameters are:
CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' FORMAT '/oracle/backup/%d_DB_%u_%s_%p';
Bug in Oracle 9.2.0.7
This is a RMAN issue and not a LEO issue.
On Oracle Metalink you can find the follow article (Doc ID: 351616.1):
RMAN Operations in RMAN Result in Error RMAN-06181 When Using Standard Edition
Applies to: Oracle Server - Standard Edition - Version: 9.2.0.7
This problem can occur on any platform.
Symptoms
When using configured channels, and not explicitly using ALLOCATE CHANNEL in a run block, RMAN commands can result in RMAN-6181.
In Standard Edition, you are not allowed to use multiple channels, and even though your PARALLELISM for the device type is set to 1, you still get the error.
It has been reported on DELETE, CROSSCHECK, REPORT, RESTORE, RECOVER and DUPLICATE.
Cause
This is due to an unpublished bug in our software where RMAN in Standard edition is allocating the configured channel + disk channels. This is causing the error to be raised. The bug is fixed in Oracle 10g and in Oracle 9i 9.2.0.8 patchset. No backport to previous patchsets exists.
The new behavior will be that we raise the error only for BACKUP when multiple channels are allocated. For the other commands, we will allow the allocation of the channels, but will only use one and not run the operation in parallel. A warning will be written to reflex that, and can be ignored.
Solution
For all commands except DUPLICATE, the workaround is to add DEVICE TYPE clause to the command. ie DELETE NOPROMPT OBSOLETE DEVICE TYPE SBT;
For DUPLICATE, it will raise the error on the auxiliary channels, so you will have to explicitly allocate those channels.
run { allocate auxiliary channel sbt1 device type sbt; duplicate target database to newdb device type sbt; }
Bug is permanently fixed in 9.2.0.8 and all 10g releases.