I got ” ORA-07217: sltln: environment variable cannot be evaluated ” error in Oracle database during catalog files.
ORA-07217: sltln: environment variable cannot be evaluated
Details of error are as follows.
RMAN> catalog start with '/backup/datafiles'; searching for all files that match the pattern /backup/datafiles RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of catalog command at 12/14/2020 22:16:10 ORA-07217: sltln: environment variable cannot be evaluated. RMAN>
The ORA-07217 error is related with the one of the database files. Database File name with $ sign as part of the name. ‘<PATH>/<XXX$_XXXXX.dbf’.
Remove the unrelated files under Catalog directory.
Oracle is trying to evaluate a part of the datafile name as an environment variable rather than as part of the filename.
To solve this error, Rename the database file without using OS environment variables in the file name.
If you got this error on DDBOOST, you should apply the following actions.
In the environment the ORACLE_HOME is not set and the channel allocation was to handle it. It was determined that
when the tape channel completed the backup and deallocated the $ORACLE_HOME env variable so it could no longer be translated to complete the disk backup.
This is a vendor issue DDBOOST development have been alerted to the issue
and are working on a solution at the time of writing this note.
CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE'; CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET; CONFIGURE DEVICE TYPE 'SBT_TAPE' PARALLELISM 2 BACKUP TYPE TO BACKUPSET; CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'BLKSIZE=1048576,SBT_LIBRARY=/<oracle_home>/lib/libddobk.so,ENV=(STORAGE_UNIT=<name>,BACKUP_HOST=<host_name>,ORACLE_HOME=<oracle_home>)'; RMAN> RUN { backup archivelog all not backed up 1 times tag='ARCH_BACKUP' FORMAT '%d_%U.arch'; delete noprompt archivelog all completed before 'sysdate-1'; } RMAN-03090: Starting backup at 07/28/2014 15:57:43 RMAN-03033: current log archived RMAN-06009: using target database control file instead of recovery catalog RMAN-08030: allocated channel: ORA_SBT_TAPE_1 RMAN-08500: channel ORA_SBT_TAPE_1: SID=1070 device type=SBT_TAPE RMAN-08526: channel ORA_SBT_TAPE_1: Data Domain Boost API RMAN-08030: allocated channel: ORA_SBT_TAPE_2 RMAN-08500: channel ORA_SBT_TAPE_2: SID=11 device type=SBT_TAPE RMAN-08526: channel ORA_SBT_TAPE_2: Data Domain Boost API RMAN-01005: skipping archived logs of thread 1 from sequence 248570 to 248928; already backed up RMAN-08009: channel ORA_SBT_TAPE_1: starting archived log backup set RMAN-08014: channel ORA_SBT_TAPE_1: specifying archived log(s) in backup set RMAN-08504: input archived log thread=1 sequence=248929 RECID=6119 STAMP=854121379 RMAN-08038: channel ORA_SBT_TAPE_1: starting piece 1 at 07/28/2014 15:57:47 RMAN-08009: channel ORA_SBT_TAPE_2: starting archived log backup set RMAN-08014: channel ORA_SBT_TAPE_2: specifying archived log(s) in backup set RMAN-08504: input archived log thread=1 sequence=248930 RECID=6120 STAMP=854121380 RMAN-08504: input archived log thread=1 sequence=248931 RECID=6121 STAMP=854121381 RMAN-08504: input archived log thread=1 sequence=248932 RECID=6122 STAMP=854121381 RMAN-08504: input archived log thread=1 sequence=248933 RECID=6123 STAMP=854121382 RMAN-08038: channel ORA_SBT_TAPE_2: starting piece 1 at 07/28/2014 15:57:47 RMAN-08044: channel ORA_SBT_TAPE_1: finished piece 1 at 07/28/2014 15:57:48 RMAN-08530: piece handle=<piece_name> tag=ARCH_BACKUP comment=API Version 2.0,MMS Version 1.1.1.0 RMAN-08540: channel ORA_SBT_TAPE_1: backup set complete, elapsed time: 00:00:01 RMAN-08009: channel ORA_SBT_TAPE_1: starting archived log backup set RMAN-08014: channel ORA_SBT_TAPE_1: specifying archived log(s) in backup set RMAN-08504: input archived log thread=1 sequence=248934 RECID=6124 STAMP=854121383 RMAN-08504: input archived log thread=1 sequence=248935 RECID=6125 STAMP=854121463 RMAN-08038: channel ORA_SBT_TAPE_1: starting piece 1 at 07/28/2014 15:57:48 RMAN-08044: channel ORA_SBT_TAPE_2: finished piece 1 at 07/28/2014 15:57:48 RMAN-08530: piece handle=<piece_name> tag=ARCH_BACKUP comment=API Version 2.0,MMS Version 1.1.1.0 RMAN-08540: channel ORA_SBT_TAPE_2: backup set complete, elapsed time: 00:00:01 RMAN-08044: channel ORA_SBT_TAPE_1: finished piece 1 at 07/28/2014 15:57:49 RMAN-08530: piece handle=<piece_name> tag=ARCH_BACKUP comment=API Version 2.0,MMS Version 1.1.1.0 RMAN-08540: channel ORA_SBT_TAPE_1: backup set complete, elapsed time: 00:00:01 RMAN-03091: Finished backup at 07/28/2014 15:57:49 RMAN-03090: Starting Control File and SPFILE Autobackup at 07/28/2014 15:57:49 RMAN-08503: piece handle=<piece_name> comment=API Version 2.0,MMS Version 1.1.1.0 RMAN-03091: Finished Control File and SPFILE Autobackup at 07/28/2014 15:57:50 RMAN-08031: released channel: ORA_SBT_TAPE_1 RMAN-08031: released channel: ORA_SBT_TAPE_2 RMAN-08030: allocated channel: ORA_DISK_1 RMAN-08500: channel ORA_DISK_1: SID=1070 device type=DISK RMAN-08030: allocated channel: ORA_DISK_2 RMAN-08500: channel ORA_DISK_2: SID=11 device type=DISK RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03009: failure of delete command on ORA_DISK_1 channel at 07/28/2014 15:57:59 ORA-07217: sltln: environment variable cannot be evaluated. RMAN> **end-of-file**
Workaround:
1. Enable BACKUP_TAPE_IO_SLAVES=TRUE
or
Split the scripts so the tape backup runs to completion and then the disk backup script is called after.
Note: We will update this note with the EMC Doc ID once it becomes available.
Do you want to learn Oracle Database for Beginners, then Click and read the following articles.
Oracle Database Tutorials for Beginners ( Junior Oracle DBA )