高压射流 白蛋白:Redhat en 5.5利用crontab实现对Oracle数据库的定时备份

来源:百度文库 编辑:中财网 时间:2024/04/29 03:24:36

Redhat en 5.5利用crontab实现对Oracle数据库的定时备份

Oracle 2010-12-20 16:36:49 阅读59 评论0   字号: 订阅

       假设数据库的拥有者为DATATEST,数据库的用户为DATATEST,其口令为tiger,
Oracle数据库的参数$ORACLE_HOME为/u01/app/oracle/product/11.1.0/db_1
,$ORACLE_SID为DATATEST,则实现步骤如下:

1、建立实现备份的shell
在/u01/app/oracle/scripts目录下用vi命令建立文件backup.sh,其内容为:
ORACLE_SID=DATATEST
ORACLE_BASE=/u01/app/oracle
ORACLE_TERM=xterm
ORACLE_HOME=/u01/app/oracle/product/11.1.0/db_1
export ORACLE_SID

D=$(date +%y%m%d);
export D;
$ORACLE_HOME/bin/exp DATATEST/tiger file=/u01/app/databack/${D}.dmp owner=DATATEST

注意:这里D=$(date +%y%m%d); 是确保你每个备份文件以日期名字.例如:060814.dmp 060815.dmp
如果想每天把备份文件覆盖那么把 ${D}.dmp 这里用固定的名字例如: backup.dmp

使用chmod命令修改backup.sh的属性为可执行:
chmod +x backup.sh
到此,具有备份功能的可执行文件(shell)backup.sh已经建成。其执行结果是将scott所拥有的ORACLE对象备份到/usr/oracle中的backup.dmp中,读者可以直接运行它来看看效果。值得注意的是,backup.sh中Oracle的两个环境参数一定要声明,否则系统会报错。下一步将开始建立oracle用户的Crontab文件。

2、查看Crontab的使用权限
使用超级用户(root)的身份登录,在/usr/var/adm/cron下通过vi命令查看cron.deny文件,如果数据库的拥有者oracle被列在里面,将其删除即可。

3、建立oracle的Crontab文件
用oracle用户登录,通过使用命令crontab –e oracle开始建立oracle用户的Crontab文件。其内容为:
00 02 * * * "/u01/app/oracle/scripts/backup.sh"
存盘退出后,你会发现在/var/spool/cron/crontabs中新增了一个名为oracle文件,其作用是在每天的2:00运行“/usr/oracle/backup.sh”。
到此大功告成,系统会将每次备份的信息通过mail的形式发送给oracle用户。
在进行以上操作时,建议将/var/spool/cron/crontabs中其他用户(尤其是root)的Crontab文件进行备份,以免误操作对系统产生影响。