AIX SHELL RMAN 脚本报错

. ~/.profileLOCAL_BACKUP_DIR=/oradata/rman/rmanBACKUP_LOG=/oradata/rman/log/rmanlogREMAINED_DAY=1DATE_TAG=`date +%Y%m%d`RMAN=${ORACLE_HOME}/bin/rmanexport LOCAL_BACKUP_DIRexport BACKUP_LOGexport REMAINED_DAYexport DATE_TAGexport RMANecho " ">> $BACKU...显示全部


. ~/.profile
LOCAL_BACKUP_DIR=/oradata/rman/rman
BACKUP_LOG=/oradata/rman/log/rmanlog
REMAINED_DAY=1
DATE_TAG=`date +%Y%m%d`
RMAN=${ORACLE_HOME}/bin/rman
export LOCAL_BACKUP_DIR
export BACKUP_LOG
export REMAINED_DAY
export DATE_TAG
export RMAN
echo " ">> $BACKUP_LOG$DATE_TAG
echo " ">> $BACKUP_LOG$DATE_TAG
echo "  ---------  Begin to remove old rman backupset at (`date '+%m/%d/%Y-%H:%M:%S'`)  ----------" > $BACKUP_LOG$DATE_TAG
cd $LOCAL_BACKUP_DIR
find ./ -type d -mtime +$REMAINED_DAY > /tmp/tmp_rman.log
for dir in `cat /tmp/tmp_rman.log`
        do
            rm -fr $dir
        done
echo "  ---------  Finished removing old rman backupset at (`date '+%m/%d/%Y-%H:%M:%S'`)  ----------" >> $BACKUP_LOG$DATE_TAG
rmandate=`date +%Y%m%d`
if test ! -d $LOCAL_BACKUP_DIR/${rmandate};then
  cd $LOCAL_BACKUP_DIR
  mkdir ${rmandate}
  if [ $? -eq 0 ] ;then
     echo "Backup directory created successfully!" >> $BACKUP_LOG$DATE_TAG
  else
     echo "ERROR: When create backup directory, error occurred!" >> $BACKUP_LOG$DATE_TAG
     exit 1
  fi
fi
echo "---------  Begin CAS RMAN  backup  at (`date '+%m/%d/%Y-%H:%M:%S'`)  ----------" >> $BACKUP_LOG$DATE_TAG
rman target / nocatalog msglog /oradata/rman/log/log.log <run
{allocate channel ch1  type disk;
set limit channel ch1 kbytes 2000000;
backup   as compressed backupset  format = '$LOCAL_BACKUP_DIR/$rmandate/dbf_%d_%T_%s_%p'
database plus archivelog all delete input
format = '$LOCAL_BACKUP_DIR/$rmandate/arc_%d_%T_%s_%p'
release channel c1;}
run
{backup
format = '$LOCAL_BACKUP_DIR/$rmandate/ctl_%d_%T_%s_%p'
current controlfile;}
run
{backup
format = '$LOCAL_BACKUP_DIR/$rmandate/spfile_%d_%T_%s_%p'
spfile;}
sql "alter database backup controlfile to ''${$LOCAL_BACKUP_DIR}/$rmandate/controlfile_txt_${DATE_TAG}.bak'' reuse";
exit
EOT
cat /oradata/rman/log/log.log >> $BACKUP_LOG$DATE_TAG
rm -rf /oradata/rman/log/log.log
cat
echo " ">> $BACKUP_LOG$DATE_TAG
echo " ">> $BACKUP_LOG$DATE_TAG
echo "---------  End RMAN  backup  at (`date '+%m/%d/%Y-%H:%M:%S'`)  ----------" >> $BACKUP_LOG$DATE_TAG
echo " ">> $BACKUP_LOG$DATE_TAG
echo " ">> $BACKUP_LOG$DATE_TAG

报错如下:rman.sh[41]: $BACEOT: 0403-011 The specified substitution is not valid for this command.

奇怪了
就是这行
rman target / nocatalog msglog /oradata/rman/log/log.log <收起
参与14

查看其它 12 个回答myguangzhou的回答

myguangzhoumyguangzhou技术经理Uniwise
还没解决掉吗?
互联网服务 · 2011-04-20
浏览2519

回答者

myguangzhou
技术经理Uniwise
擅长领域: 服务器AIXUnix

myguangzhou 最近回答过的问题

回答状态

  • 发布时间:2011-04-20
  • 关注会员:1 人
  • 回答浏览:2519
  • X社区推广