利用EXP每天晚上12点自动备份Oracle
参考资料:Oracle 9i 联机文档
作者邮箱:[email]ministorager@gmail.com[/email]
平台描述
这篇文档我所使用的是LinuxCentos 4.5/Oracle 9i
在数据库中我创建了两个database,一个是db2,一个是bbk
在这里我用EXP自动备份bbk的数据,注意环境变量的设置。
Step01>
创建EXP备份脚本,脚本名称为:bbk_exp.sh
脚本内容:
export DISPLAY=192.168.0.1:0.0
export ORACLE_BASE=/u01/
export ORACLE_HOME=/u01/oracle
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=bbk
export ORACLE_TERM=xterm
export LD_ASSUME_KERNEL=2.4.19
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH
export NLS_LANG=american_america.UTF8 
backupfile=dbback$(date +%y%m%d).dmp
/u01/oracle/bin/exp "sys/oracle as sysdba" file=/u01/oradata/backup/$backupfile
提示:这里192.168.0.1这个IP是因为我用的VM,所以设置这个IP,你可以根据你的情况设置,比如说localhost或者127.0.0.1或者你的真实IP。
这里的(file=/u01/oradata/backup/$backupfile)backup目录需要你自己去创建,注意要以oracle身份去创建,保证它可读可写!
这里的(export NLS_LANG=american_america.UTF8)UTF8要和你数据库里的字符集一致,不然会报错,查看当前数据库系统的字符集语句:
select * from v$nls_parameters where parameter='NLS_CHARACTERSET';
Step02>
把创建好的备份脚本,放到系统计划任务中:
这里要以Oracle用户登陆
Crontab  -e 
然后在编辑状态中加入:
01  23  *  *  *  /u01/oracle/dbs/ bbk_exp.sh> /dev/null
保存退出,重新启动crontab服务:service crond restart
到这里利用EXP每天晚上12点自动备份Oracle成功测试通过。
感谢你的阅读!