加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

超实用的Oracle数据库自动备份脚本

发布时间:2018-12-31 02:28:29 所属栏目:MySql教程 来源:智能运维小讲堂
导读:概述 数据是应用的核心部分,程序坏了换台机器重新发布就可以,但数据一旦丢失,造成的损失将不可挽回,程序发布到生产后,数据的备份便显得尤为重要,由于不一定所有的服务均有资金完成高级的备份如RAC和DG,在我们只有一台数据库服务器的,暂时采取最简

概述

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

超实用的Oracle数据库自动备份脚本

一、备份脚本

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

  1. #变量  
  2. sysname=填写自己的系统名称  
  3. syspath=/home/oracle/databak/$sysname  
  4. v_date=$(date '+%Y%m%d%H%M%S')  
  5. #日志目录  
  6. logfile=${syspath}/backup.${v_date}.log  
  7. #打印开始时间  
  8. echo backup_time>>${logfile}  
  9. date '+%Y-%m-%d %H:%M:%S' >> ${logfile}  
  10. echo "backup jcd">>${logfile}  
  11. echo "start_time">>${logfile}  
  12. date '+%Y-%m-%d %H:%M:%S' >> ${logfile} 

2、进入oracle目录,设置oracle的参数

  1. #进入oracle目录,设置oracle变量  
  2. cd /home/11g/app/oracle/product/11.2.0  
  3. export ORACLE_HOME=/home/11g/app/oracle/product/11.2.0/db_1  
  4. export PATH=$PATH:/home/11g/app/oracle/product/11.2.0/db_1/bin  
  5. export ORACLE_SID=SID名称 

3、导出数据

  1. echo $syspath  
  2. v_date=$(date '+%Y%m%d%H%M%S')  
  3. filename=$syspath/jcd${v_date}.dmp  
  4. #导出命令  
  5. exp username/password file=${filename} compress=n >> ${logfile}  
  6. echo "end_time">>${logfile}  
  7. date '+%Y-%m-%d %H:%M:%S'>>${logfile} 

4、压缩dump包

  1. gzip ${filename} 

5、使用scp,将压缩后的包传递到备份服务器,注意备份服务器上目录需要预先创建

  1. scp ${filename}.gz remot_name@remot_ip:/home/weblogic/databak/备份目录 

二、设定脚本执行时间

我们设定规则为每天凌晨2点执行一次,采用crontab来进行处理

执行crontab -e,,设定如下规则

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

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

【编辑推荐】

  1. 数据库运维的那些难题,我们用机器学习解决了
  2. 12月数据库榜单,整体排名稳定如昨,Oracle 分数接连下降
  3. 黑客攻击数据库的六大手段
  4. 2018年12月全球数据库排行榜:Oracle惨不忍睹!
  5. 记一次生产数据库"意外"重启的经历
  6. ERP技术全接触:数据库、编程和前端技术
【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读