指令碼:
#!/bin/bash
newfilename=`date +%Y%m%d`.dmp
newlogfilename=`date +%Y%m%d`.log
cd /oracle/backup
exp user/password buffer=102400000 file=/oracle/backup/dump.dmp log=/oracle/backup/dump.log tables=(tablea,table2,table3)
mv dump.dmp $newfilename
mv dump.log $newlogfilename
發現備份失敗.增加錯誤資訊記錄如下
/oracle/10.2/bin/exp user/password buffer=102400000 file=/oracle/backup/dump.dmp log=/oracle/backup/dump.log tables=(tablea,table2,table3) >>exp_msg.log 2>&1
發現提示錯誤如下:
Message 206 not found; No message file for product=RDBMS, facility=EXP: Release 10.2.0.5.0 - Production on Wed Feb 8 13:35:02 2012
Copyright (c) 1982, 2007,
Oracl Invalid format of Export utility name
Verify that ORACLE_HOME is properly set
Export terminated unsuccessfullyEXP-00000: Message 0 not found; No message file for product=RDBMS, facility=EXP
修改後的指令碼:
#!/bin/bash
export ORACLE_BASE=/oracle
export ORACLE_HOME=/oracle/10.2
export ORACLE_SID=DB
newfilename=`date +%Y%m%d`.dmp
newlogfilename=`date +%Y%m%d`.log
cd /oracle/backup
/oracle/10.2/bin/exp user/password buffer=102400000 file=/oracle/backup/dump.dmp log=/oracle/backup/dump.logtables=table1,table2,table3>>exp_msg.log 2>&1
mv dump.dmp $newfilename
mv dump.log $newlogfilename
原因:crontab調度的指令碼中tables選項不能夠使用括弧,但是單獨執行的指令碼則可以有括弧