简单的exp全备份脚本及部署过程(step by step)

源于以前同事的备份需求,现在我很少用exp,基本上是rman+standby了
需求:每天数据库exp全备份+自动删除7天前的备份,系统只保留当前7天的备份。从我以前的经验来说,很多公司都有这样的备份需求,数据量小,完整性要求不高,用exp备份是合理,比较简单,不需要专业的dba来部署
目标:我想实现这样的功能,只要会简单的linux命令就能实现oracle exp的自动备份

 
环境:linux as3+oracle9i
具体的步骤:
1.邮件设置
[root@sxapp1 mail]# cd /etc/mail
[root@sxapp1 mail]# mv submit.cf submit.cfbak
[root@sxapp1 spool]# chmod a+wrx mqueue/
[root@sxapp1 mail]# echo "sdsdssd"|mail -s "sda" westlife_xu@eyou.com

2.建立备份目录
[root@sxapp1 mail]# su - oracle
[oracle@sxapp1 oracle]$ mkdir -p /home/oracle/phy_backup/data --备份文件存放目录
[oracle@sxapp1 oracle]$ mkdir -p /home/oracle/phy_backup/log  --备份的log路径
[oracle@sxapp1 oracle]$ cd /home/oracle/phy_backup
3.备份脚本编写,测试(脚本要根据需求微调,我已经测试通过了)
[oracle@sxapp1 phy_backup]$ vi exp.sh
#!/bin/sh
. /home/oracle/.bash_profile
#define variable......
backup_date=`date +%Y%m%d`
bak_home=/home                           --df -k里面必须能看见
backup_dest=/home/oracle/phy_backup/data --根据需要填写
backup_log=/home/oracle/phy_backup/log   --根据需要填写
RECIPT='westlife_xu@eyou.com'            --报警邮件设置
--检查磁盘空间
# Check local disk space..................................
USED=` df -k|grep $bak_home|awk '{print $5}'|awk -F% '{print $1}'`
if [ $USED -gt 85 ]; then
       echo "Disk space is full/243/254please check it"|mail -s "exp full backup failed"  $RECIPT
       exit 1
fi
--开始备份
#starting exp backup.....
exp system/abc123 full=y buffer=65536   file=$backup_dest/data_$backup_date.dmp  log=$backup_log/data_$backup_date.log
--删除过期的备份文件
# delete expired  backup ...
list=` find $backup_dest -mtime +7`
echo $list
rm -f $list
if [ $? -ne 0 ]; then
       cat $backup_log/data_$backup_date.log|mail -s "exp full backup failed,please check it"  $RECIPT
       exit 1
fi
cat $backup_log/data_$backup_date.log|mail -s "$backup_date exp log "  $RECIPT
~
"exp.sh" 37L, 1237C 已写入 
[oracle@sxapp1 phy_backup]$ chmod a+x exp.sh  --授予可执行权限                                 
[oracle@sxapp1 phy_backup]$ ./exp.sh          --执行备份脚本
Export: Release 9.2.0.7.0 - Production on Thu Dec 14 14:37:53 2006
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

Connected to: Oracle9i Enterprise Edition Release 9.2.0.7.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.7.0 - Production
Export done in ZHS16CGB231280 character set and AL16UTF16 NCHAR character set
About to export the entire database ...
. exporting tablespace definitions
. exporting profiles
. exporting user definitions
. exporting roles
. exporting resource costs
. exporting rollback segment definitions
. exporting database links
. exporting sequence numbers
. exporting directory aliases
. exporting context namespaces
。。。。。。。。。。。。
看脚本是否顺利的运行,备份之后应该会收到备份的log,检查log是否备份正常。如果正常的话就可以做个crontab了,自动执行计划
[oracle@sxapp1 phy_backup]$ crontab -e
#min  hour  day  month  dayofweek  command
0      2     *    *        *      /home/oracle/phy_backup/exp.sh
表示每天2点开始执行exp备份。
提示:
备份脚本至少要具备:1.磁盘空间的检查 2.备份log的完整记录 3.备份失败时的报警机制。 本不可能去整理的东西居然整理出来了,希望对别人能有点帮助。
http://xujt82.spaces.live.com/blog/cns!1EB2C64171792704!225.entry

简单的exp全备份脚本及部署过程(step by step)相关推荐

  1. mysql/postgres数据库全备份脚本

    mysql/postgres数据库全备份脚本 亲测可用,已使用在项目中 #!/bin/bash # 基础路径 base_path="/home/sql_back/postgres/" ...

  2. mysql+代码备份,一个很简单的MYSQL数据库备份脚本代码

    假设有三个库 m_site,m_bbs,m_cms. #!/bin/sh # # MySQL Backup Scripts. # Created by david. # # Created time: ...

  3. linux svn 增量备份脚本,svn全量和增量备份详解(示例代码)

    1.svn的安装: yum安装: yum install -y subversion mkdir /data/svn svnadmin create project-1 svnadmin create ...

  4. 【原创】rman 全库备份脚本

    rman 全库备份脚本 run { allocate channel d1 type disk; allocate channel d2 type disk; backup full database ...

  5. 数据库(二)tab补全功能,使数据库支持简体中文,日志管理,备份脚本

    一.如何在MySQL数据库中使用tab键补全功能 1.修改主配置文件/etc/my.cnf vim /etc/my.cnf [mysql] #no-auto-rehash auto-rehash 2. ...

  6. mysql 增量备份脚本_MySQL自动化(全量+增量)备份脚本

    一.MySQL的日常备份方案: 全备+增量备份: 1.周日凌晨三点进行全备: 2.周一到周日增量备份. 不是往常的周日全备份,周一到周六增量备份,这样如果周日数据库在完全备份前出问题,恢复完成后,会少 ...

  7. MYSQL增量备份和全量备份脚本分享

    mysql的全量备份与增量备份 全量备份:可以使用mysqldump直接备份整个库或者是备份其中某一个库或者一个库中的某个表. 增量备份:增量备份是针对于数据库的bin-log日志进行备份的,需要开始 ...

  8. Linux下超简单的Mysql自动备份+定期删除之前备份文件脚本

    引言: 前段时间闹得沸沸扬扬的"微盟"事件,让人们更加明白了数据安全的重要性.一个企业数据丢失会付出很大的代价,最坏的情况下,丢失数据可能会导致企业的崩溃.根据国家档案与记录管理局 ...

  9. mysql异机备份脚本_mysqldump使用rsync异地全量备份数据库

    Mysql 做了本机,同机房全量备份后,想同时做一份异地备份,考虑异地机房的网络不稳定性,使用 rsync 来同步备份的文件: 同机房异机备份,内网速度快可以使用scp,或者mysqldump备份脚本 ...

最新文章

  1. 就很突然,电脑里多出了一个文件......
  2. mybatis实现批量更新
  3. C#最受欢迎功能 -- C#1至C#7
  4. Jenkins中安装Credentials Binding插件实现凭证管理与安装Git插件和拉取代码构建项目
  5. java set 接口_【Java提高十七】Set接口集合详解
  6. [BZOJ3203][SDOI2013]保护出题人(凸包+三分)
  7. 信息学奥赛一本通(1398:短信计费)
  8. Ubuntu 20.04 上搭建 LEMP/LAMP 环境运行 WordPress
  9. groovy学习(四)io
  10. 学python需要c-为什么我建议每个开发人员都需要学 Python ?
  11. 网站采集软件,全自动网站文章采集器,一键网页数据抓取
  12. SPSS19.0实战之聚类分析(转载)
  13. WYSE S10、WYSE V90、HP T5740瘦客机评测
  14. IcedTea6 1.7.6、1.8.3和1.9.2补丁程序信息泄漏
  15. python-patterns
  16. 小伙伴要我给他介绍一些非常酷炫而有趣又容易上手的前端框架
  17. 手把手教你学Python之波士顿房价预测(scikit-learn的应用)
  18. C++标准库(第二版,作者_NicolaiMJosuttis)_第六章标准模板库_概述
  19. 移动双臂机器人仿真[0]--概述
  20. 计算机关机后系统更新,电脑关机的时候一直在安装更新,已经一天了,还没更新完,也关不了机,怎么办...

热门文章

  1. jquery的get和post请求
  2. linux修改py内容,python中修改文件行内容
  3. mysql工作实用经验_SQL SERVER实用经验技巧集 [一]_mysql
  4. 【建议收藏】找不到免费的角色动画?来试试mixamo
  5. OpenShift 4.10 不可变新特性 - 利用 MachineConfig 发现节点配置漂移
  6. 使用Span T 提高C#代码的性能
  7. HtmlEditor在Blazor中编写
  8. Microsoft Edge 83 稳定版发布
  9. 微软正在开发基于 Rust 的安全编程语言
  10. W3C 宣布:WebAuthn 成为正式 Web 标准