这是RMAN的cmdfile参数文件内容
host "mkdir $DIR";
connect target sys/bsmsys10g@orcl;
SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT';
BACKUP INCREMENTAL LEVEL 0 DATABASE FORMAT '$DIR/DATAFILE_%d_%T_%s_.BKP';
BACKUP ARCHIVELOG ALL FORMAT '$DIR/ARCHIVELOG_%d_%T_%s_.BKP' DELETE INPUT;
第一句可以获取环境变量,后面第四句却就无法获取环境变量了。请问这是怎么回事啊。
如果不用脚本,用rman命令行进去后却又是可以读取这个变量的。
纠结ing…………

解决方案 »

  1.   

    下面是日志文件内容:想贴图片的。太麻烦了。。
    恢复管理器: Release 10.2.0.1.0 - Production on 星期五 4月 22 11:14:04 2011Copyright (c) 1982, 2005, Oracle.  All rights reserved.RMAN> host "mkdir $DIR";
    2> connect target *
    3> SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT';
    4> BACKUP INCREMENTAL LEVEL 0 DATABASE FORMAT '$DIR/DATAFILE_%d_%T_%s_.BKP';
    5> BACKUP ARCHIVELOG ALL FORMAT '$DIR/ARCHIVELOG_%d_%T_%s_.BKP' DELETE INPUT;
    6> 
    主机命令完成连接到目标数据库: ORCL (DBID=1239598842)使用目标数据库控制文件替代恢复目录
    sql 语句: ALTER SYSTEM ARCHIVE LOG CURRENT启动 backup 于 22-4月 -11
    分配的通道: ORA_DISK_1
    通道 ORA_DISK_1: sid=116 devtype=DISK
    通道 ORA_DISK_1: 启动压缩的增量级别 0 数据文件备份集
    通道 ORA_DISK_1: 正在指定备份集中的数据文件
    输入数据文件 fno=00003 name=/usr/app/oracle/oradata/orcl/sysaux01.dbf
    输入数据文件 fno=00001 name=/usr/app/oracle/oradata/orcl/system01.dbf
    输入数据文件 fno=00006 name=/usr/app/oracle/oradata/orcl/test
    输入数据文件 fno=00005 name=/usr/app/oracle/oradata/orcl/example01.dbf
    输入数据文件 fno=00002 name=/usr/app/oracle/oradata/orcl/undotbs01.dbf
    输入数据文件 fno=00004 name=/usr/app/oracle/oradata/orcl/users01.dbf
    通道 ORA_DISK_1: 正在启动段 1 于 22-4月 -11
     MAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03009: backup 命令 (ORA_DISK_1 通道上, 在 04/22/2011 11:14:08 上) 失败
    ORA-07217: sltln: 无法对环境变量求值。恢复管理器完成。