超实用的Oracle数据库自动备份脚本概述数据是应用的核心部分,程序坏了换台机器重新发布就可以,但数据一旦丢失,造成的损失将不可挽回,程序发 布到生产后,数据的备份便显得尤为重要,由于不一定所有的服务均有资金完成高级的备份如RAC和DG,在我们只有一台数据库服务器的,暂时 采取最简单的备份策略,export出dmp进行保存。一、备份脚本1、初始化变量,记录开始日志#变量??http://www.gw 638.cnsysname=填写自己的系统名称??syspath=/home/oracle/databak/$sysname??v _date=$(date?''+%Y%m%d%H%M%S'')??#日志目录??logfile=${syspath}/backup.$ {v_date}.log??#打印开始时间??echo?backup_time>>${logfile}??date?''+%Y-%m -%d?%H:%M:%S''?>>?${logfile}??echo?"backup?jcd">>${logfile}??echo? "start_time">>${logfile}??date?''+%Y-%m-%d?%H:%M:%S''?>>?${logfile} ?2、进入oracle目录,设置oracle的参数#进入oracle目录,设置oracle变量??cd?/home/11g/app /oracle/product/11.2.0??export?ORACLE_HOME=/home/11g/app/oracle/p roduct/11.2.0/db_1??export?PATH=$PATH:/home/11g/app/oracle/produc t/11.2.0/db_1/bin??export?ORACLE_SID=SID名称?3、导出数据echo?$syspath??v _date=$(date?''+%Y%m%d%H%M%S'')??filename=$syspath/jcd${v_date}.dmp ??#导出命令??exp?username/password?file=${filename}?compress=n?>>?${l ogfile}??echo?"end_time">>${logfile}??date?''+%Y-%m-%d?%H:%M:%S''>> ${logfile}?4、压缩dump包gzip?${filename}?5、使用scp,将压缩后的包传递到备份服务器,注意备份服 务器上目录需要预先创建scp?${filename}.gz?remot_name@remot_ip:/home/weblogic /databak/备份目录?二、设定脚本执行时间我们设定规则为每天凌晨2点执行一次,采用crontab来进行处理执行crontab -e,设定如下规则:http://www.f-1.cc0?2????sh?/home/oracle/db.sh?大家可以参 照上面去写一个适合自己生产数据库的一个脚本,定期备份。 |
|