https://blog.csdn.net/zcb_data/article/details/80280892 oracle exp增量备份实验 https://blog.csdn.net/sinat_16741503/article/details/72876092 Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP、EXPDP/IMPDP)、热备份和冷备份。 导出备件是一种逻辑备份,冷备份和热备份是物理备份。 exp支持增量备份,而expdp不支持增量备份。 exp/imp增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。 在进行此种导出时,系统不要求回答任何问题。 导出文件名缺省为export.dmp ,如果不希望自己的输出文件定名为 export.dmp,必须在命令行中指出要用的文件名。 增量导出包括三种类型: 完全备份,累积备份,增量备份。 执行增量备份必须满足下列条件: 1.只对完整数据库备份有效,且第一次需要full=y参数,以后需要inctype=incremental参数。 2. 用户必须有EXP_FULL_DATABASE的系统角色。 下面简单三种备份的用法以及区别: 1,完全备份:顾名思义,导出整个数据库所有数据 exp system/oracle inctype=complete file=full.dmp log=full.log 2,累积备份:导出上次“完全备份”后数据库变化的信息 exp system/oracle inctype=cumulative file=cumulative_1.dmp log=sys_cumulative_1.log 3,增量备份:备份上次“备份”后变化的信息 exp system/oracle inctype=incremental file=sys_cumulative_3.dmp log=sys_cumulative_3.log 例如我设置一个oracle备份策略: 周六:完全备份 周日:增量备份 周一:增量备份 周二:增量备份 周三:累积备份 周四:增量备份 周五:增量备份 那么当周六我的数据库被破坏了(备份之前),恢复数据库的流程呢,那就是: 第一,用命令CREATE DATABASE重新生成数据库结构。 第二,创建一个足够大的附加回段。 第三,完全备份导入(周六) imp system/oracle inctype=RESTORE FULL=y FILE=周六完全备份文件 第四,累积备份导入(周三) impsystem/oracle inctype=RESTORE FULL=y FILE=周三累积备份文件 第五,增量备份导入(周四) impsystem/oracle inctype=RESTORE FULL=y FILE=周四累积备份文件 第六,增量备份导入(周五) impsystem/oracle inctype=RESTORE FULL=y FILE=周五累积备份文件 注意:使用这种方式对oracle数据库进行备份的,有一个弊端,就是最后一次备份到数据库宕机前的数据会丢失。 --下面给大家附上一段博主自己写的完全备份策略脚本,累积备份和增量备份修改部分参数后即可: #!/bin/bash #oracle数据库备份用脚本,该脚本对全库进行备份,每周六1:00执行 ############################## ##author-------***### ############################## if [ -f ~/.bash_profile ]; then . ~/.bash_profile fi set -e last_day=`date -d "-7 day" +%Y%m%d` #上次数据备份时间 stime=`date +%s` echo `date +"%F %T"`################### 全库备份开始################## cd /mnt/sd02/oracle_bak_68/ #备份数据存放目录 /data/app/oracle/product/11.2.0/dbhome_1/bin/exp system/oracle inctype=complete file=sys_all_`date +%Y%m%d`.dmp log=sys_all_`date +%Y%m%d`.log #声明exp路径,有些环境下不声明在定时任务中报错找不到该命令 rm sys_all_${last_day}.dmp rm sys_all_${last_day}.log #删除上周完全备份文件 etime=`date +%s` s=`echo "scale=0; ($etime - $stime)%60" | bc` m=`echo "scale=0; ($etime - $stime)/60%60" | bc` h=`echo "scale=0; ($etime - $stime)/60/60" | bc` echo `date +"%F %T"`################全库备份结束##################### echo `date +"%F %T"` end 脚本执行耗时 $h 小时 $m 分钟 $s 秒 --定时任务中备份策略设置如下: ####全库备份用脚本,每周六早上一点执行 01 01 * * 6 sh /home/oracle/zcb/oracle_all_bak.sh >>/home/oracle/zcb/log/oracle_ a ll_`date +"\%Y\%m\%d"`.log 2>&1 ####增量备份脚本,每周日,周一,周二,周四,周五 执行 00 01 * * 0 sh /home/oracle/zcb/oracle_incremental_bak.sh >>/home/oracle/zcb/log/oracle_in cremental_`date +"\%Y\%m\%d"`.log 2>&1 00 01 * * 1 sh /home/oracle/zcb/oracle_incremental_bak.sh >>/home/oracle/zcb/log/oracle_in cremental_`date +"\%Y\%m\%d"`.log 2>&1 00 01 * * 2 sh /home/oracle/zcb/oracle_incremental_bak.sh >>/home/oracle/zcb/log/oracle_in cremental_`date +"\%Y\%m\%d"`.log 2>&1 00 02 * * 4 sh /home/oracle/zcb/oracle_incremental_bak.sh >>/home/oracle/zcb/log/oracle_in cremental_`date +"\%Y\%m\%d"`.log 2>&1 00 01 * * 5 sh /home/oracle/zcb/oracle_incremental_bak.sh >>/home/oracle/zcb/log/oracle_in cremental_`date +"\%Y\%m\%d"`.log 2>&1 ####累积备份脚本,每周三执行 00 01 * * 3 sh /home/oracle/zcb/oracle_cumulative_bak.sh >>/home/oracle/zcb/log/oracle_cu mulative_`date +"\%Y\%m\%d"`.log 2>&1
oracle数据库备份之exp增量备份
来源:这里教程网
时间:2026-03-03 13:13:59
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 关于多租户架构
关于多租户架构
26-03-03 - oracle数据库备份之exp增量备份
oracle数据库备份之exp增量备份
26-03-03 - 在Oracle DG Standby库上启用flashback database功能
- Oracle切换undo表空间操作步骤
Oracle切换undo表空间操作步骤
26-03-03 - Oracle EBS 企业税改方案(一)-业务需求整理及基础设置篇
Oracle EBS 企业税改方案(一)-业务需求整理及基础设置篇
26-03-03 - Oracle EBS 企业税改方案(二)-未结销售订单
Oracle EBS 企业税改方案(二)-未结销售订单
26-03-03 - Oracle EBS 企业税改方案(三)-未结采购单据及部分AP Invoices税率调整
- 《三国杀》开发商游卡新作《元夜十二谈》公布,号称“新志怪民俗策略 RPG”
- 6-oracle_表关联
6-oracle_表关联
26-03-03 - 微星 RTX 5070《魔兽世界:至暗之夜》虚空限定版 OC 显卡上市,5999 元
