linux下不能自动备份oracle数据库

我用root用户进入系统
1、在home目录下新建了bak.sh脚本文件,内容如下:
#!/bin/sh
export ORACLE_BASE = /u01/oracle;
ORACLE_HOME = /u01/oracle; export ORACLE_HOME
ORACLE_SID = orcl; export ORACLE_SID
ORACLE_TERM = xterm; export ORACLE_TERM
LD_LIBRARY_PATH=$ORACLE_HOME/lib export LD_LIBRARY_PATH
PATH=$PATH:/lib:/usr/bin:/usr/sbin:/root:/u01/oracle/bin
PATH=$PATH:/u01/oracle/bin:$ORACLE_HOME/bin
export PATH
CLASSPATH=$ORACLE_HOME/JDK/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
LANG=EN.us; export LANG
exp pms/123456 file=/backup/pms'date+'%Y%m%d''.dmp log=/backup/pms'date+'%Y%m%d''.log
[root@50005227-ts home]#chown -R oracle:oinstall bak.sh
[root@50005227-ts home]#chmod +x bak.sh
[root@50005227-ts home]#vi /etc/crontab
30 0 * * * oracle /home/bak.sh
4、我重启crontab服务
[root@50005227-ts home]#/etc/rc.d/init.d/crond restart
大家说的我都试过了,还是不行呀!!!!怎么办呀!

第1个回答  2010-09-07
用ORACLE用户执行这个BAK.SH脚本

要看看对/BACKUP目录是不是有可写的权限。

另外就是 BAK.SH这个脚本,最好放在 /home/oracle/ 这个目录下,免得oracle用户访问不到。

另外,30 0 * * * 是 每天0点30开始备份,你这个机器时钟,难道是0点?
第2个回答  2010-09-07
你的思路是正确的,但那里出错还比较难查,你先看看系统的email,作业执行出错系统都会自动发一份email的。
第3个回答  2010-09-08
30 0 * * * su - oracle -c /home/bak.sh