1. 程式人生 > >crontab執行rman備份報錯問題解決

crontab執行rman備份報錯問題解決

crontab總是無法執行成功,反覆實驗了N次解決。
總結教訓如下:
1.rman指令碼中的要設定oracle環境變數,要寫rman絕對路徑

[[email protected] rman_backup_oracle]# cat his_rman_back.sh 
#!/bin/bash
#su - oracle
source /home/oracle/.bash_profile
export now=`date +%Y_%m_%d_%H:%M`
export ORACLE_SID=ZSQ
/home/oracle/app/oracle/product/12.2.0/dbhome_1/bin/rman target / log=/home/oracle/rman_backup_oracle/DB_Full_Backup_$now
<< EOF RUN { backup device type disk tag 'DBFULL' database; backup device type disk tag 'DBFULL' archivelog all not backed up delete all input; ALLOCATE CHANNEL CH1 DEVICE TYPE DISK; ALLOCATE CHANNEL CH2 DEVICE TYPE DISK; crosscheck backup; delete noprompt expired backup; report obsolete; delete noprompt obsolete; RELEASE CHANNEL CH1; RELEASE CHANNEL CH2; } exit
EOF

2.rman指令碼的要有在oracle使用者下的執行許可權,這個很重要的。我自己就是犯了這個錯誤。

chmod a+x  /home/oracle/rman_backup_oracle/his_rman_back.sh 

3.如有必要檢查 crond程序,重啟crond.

一點一點從日誌上推問題。三板斧簡單而有效。