词条信息

admin
超级管理员
版本创建者 发短消息   
简易百科旧版 >> 超实用的Oracle数据库自动备份脚本 >> 历史版本

最新历史版本 :超实用的Oracle数据库自动备份脚本 返回词条



目录

概述回目录


数据是应用的核心部分,程序坏了换台机器重新发布就可以,但数据一旦丢失,造成的损失将不可挽回,程序发布到生产后,数据的备份便显得尤为重要,由于不一定所有的服务均有资金完成高级的备份如RAC和DG,在我们只有一台数据库服务器的,暂时采取最简单的备份策略,export出dmp进行保存。



一、备份脚本回目录


1、初始化变量,记录开始日志

#变量  

sysname=填写自己的系统名称  

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/product/11.2.0/db_1  

export PATH=$PATH:/home/11g/app/oracle/product/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 >> ${logfile}  

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,设定如下规则


0 2 * * * sh /home/oracle/db.sh 


大家可以参照上面去写一个适合自己生产数据库的一个脚本,定期备份。