按星期备份ORACLE数据库脚本,超实用的Oracle数据库自动备份脚本

概述

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

b9c399d184d3e5d5f9b8f14cf169978c.png

一、备份脚本

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值