</pre><p>备份方案1:全部进行备份</p><p></p><p>在目录的任意位置新建文件夹,以用来存放备份的文件,笔者建立的为/mnt/oracleBackup/ ,该文件夹专门存放备份了的数据库文件。</p><p>在目录的任意位置新建文件 ,文件名为:backup.sh</p><p>笔者简历的目录是:/mnt/oracle/backupScript/backup.sh</p><p>然后backup.sh文件为以下内容:</p><p></p><pre name="code" class="plain">#! /bin/sh
export LANG="en_US.UTF-8"
export NLS_LANG="Simplified Chinese_china".ZHS16GBK
export ORACLE_BASE=/mnt/oracle/app //这个需要修改为你自己的OracleBase
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 //这个需要修改为你自己的ORACLE_HOME
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
# set backup fileformat
# set delete file
backuptime=`date +"%Y%m%d%H"`
deletetime=`date -d "1 month ago" +"%Y%m%d%H"`
#
rm -f /mnt/oracleBackup/orcl_$deletetime.dmp
rm -f /mnt/oracleBackup/orcl_$deletetime.log
exp 数据库名/密码 file=/mnt/oracleBackup/orcl_$backuptime.dmp
log=/mnt/oracleBackup/orcl_$backuptime.log full=y
保存之后,测试下是否可用
sh /mnt/oracle/backupScript/backup.sh
如果成功,在/mnt/oracleBackup/ 文件夹下应该有文件产生了。
需要每天定时备份?
打开/etc/crontab在最后一行加入(vi /etc/crontab)
10 2 * * * oracle /mnt/oracle/backupScript/backup.sh //表示每天早上2:10分进行备份
定时操作执行不成功?
1.可能环境变量没配置成功,把环境变量直接带上
crontab -u oracle -e
10 2 * * * /etc/profile;/bin/sh /mnt/oracle/backupScript/backup.sh
2.还是不行?查看脚本运行日志,把上面命令修改为如下
10 2 * * * /etc/profile;/bin/sh /mnt/oracle/backupScript/backup.sh >> /tmp/cronLog.log 2>&1运行好之后即可在/tmp/cronLog.log查看日志,看有什么问题再解决
3.修改备份输出的文件夹的权限,笔者的是chmod 777 -R /mnt/oracleBackup
重启下cron,命令如下
/etc/rc.d/init.d/crond restart