| 錯誤現象 | 根因 | 解決辦法 |
|---|---|---|
| RMAN.msb not found / Oracle_HOME 未識別 | Cron 環境變量缺失 | Shell 腳本中显式 export ORACLE_HOME、ORACLE_SID、NLS_LANG |
| standard in must be a tty | Cron 禁用 su/管道 | 將 su 命令移入 Shell 腳本內部執行 |
| could not open CMDFILE "backup_ar.rcv" | 相對路徑失效 | RMAN cmdfile 必須使用絕對路徑 |
0 12,18 * * * /home/oracle/bak_sh/backup_ar.sh
export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
export ORACLE_SID=test
export LANG=en_US.UTF-8
$ORACLE_HOME/bin/rman cmdfile=/home/oracle/bak_sh/backup_ar.rcv
CONNECT TARGET /
CONNECT CATALOG rman/rman@rman
RUN {
ALLOCATE CHANNEL d1 DEVICE TYPE DISK;
SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT';
BACKUP ARCHIVELOG ALL DELETE INPUT
FORMAT '/opt/rmanback/full_%u_%p_%c.ac' FILESPERSET=3;
RELEASE CHANNEL d1;
}