1

我有一个计划在每天早上 1.25 执行的 cronjob。该脚本假设删除前一天在 Oracle DB 中创建的存档日志。但它没有按预期执行。但是当我在命令提示符下手动执行它时,它会按预期执行并删除存档日志。我希望问题出在脚本作为 cronjob 连接到 RMAN 时。但我不知道如何解决它,请帮助我。以下是我使用的东西

操作系统是 Susei linux

cron 安排如下

25 01 * * * /x01/rman_backup/mahesh/logde.sh

logde.sh 中的内容

ORACLE_HOME=/x01/oracle/app/oracle/product/11.2.0/db_1
ORACLE_SID=sec
PATH=$ORACLE_HOME/bin:$PATH

/x01/oracle/app/oracle/product/11.2.0/db_1/bin/rman cmdfile=/x01/rman_backup/mahesh  /logdelete.rcv

logdelete.rcv 中的内容

connect target /
run
{
delete archivelog all completed before 'trunc(sysdate)';
crosscheck archivelog all;

}
exit;
4

1 回答 1

-1

必须使用 EXPORT 设置环境变量,否则环境不会设置

export ORACLE_HOME=/x01/oracle/app/oracle/product/11.2.0/db_1
export ORACLE_SID=sec
export PATH=$ORACLE_HOME/bin:$PATH

另外我建议通过提及 sh 或 ksh 来使用您想要执行的 shell

25 01 * * * sh /x01/rman_backup/mahesh/logde.sh

请查看以下 URL 了解更多信息 https://oracle-base.com/articles/misc/oracle-shell-scripting

于 2019-05-01T23:08:54.100 回答