财经新闻

当前位置:首页 > 新闻中心 > 财经新闻

oracle-exp增量备份与还原

Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP、EXPDP/IMPDP)、热备份和冷备份。导出备件是一种逻辑备份,冷备份和热备份是物理备份。

exp支持增量备份,而expdp不支持增量备份

exp/imp增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何suchazz.com" target="_blank" class="yzm-keyword-link">www.suchazz.com" target="_blank" class="yzm-keyword-link">suchazz.com" target="_blank" class="yzm-keyword-link">问题。导出文件名缺省为export.dmp,如果不希望自己的输出文件定名为export.dmp,必须在命令行中指出要用的文件名。

增量导出包括三种类型: 完全备份,累积备份,增量备份

下面简单三种备份的用法以及区别:

1,完全备份:顾名思义,导出整个数据库所有数据

exp system/manager inctype=complete file=sys_all_6.dmp log=sys_all_6.log

//exp system/manager inctype=complete file=64-sys_all_6.dmp log=sys_all_6.log

2,累积备份:导出上次“完全备份”后数据库变化的信息

exp system/manager inctype=cumulative file=sys_cumulative_1.dmp log=sys_cumulative_1.log

3,增量备份:备份上次“备份”后变化的信息

exp system/manager inctype=incremental file=sys_cumulative_3.dmp log=sys_cumulative_3.log

例如我设置一个oracle备份策略:

周六:完全备份

周日:增量备份

周一:增量备份

周二:增量备份

周三:累积备份

周四:增量备份

周五:增量备份

那么当周六我的数据库被破坏了(备份之前),恢复数据库的流程呢,那就是:

第一,重新生成数据库结构

create tablespace [数据库名称] datafile '[数据库文件路径]\zhouzhou.dbf' size 200M[数据库文件默认大小];

alter user [用户名] default tablespace [表空间名称]; 

第二,创建附加回滚

参考第一步,表空间大小设置足够;

第三,完全备份导入(周六)

imp system/manager inctype=RESTORE FULL=y FILE=周六完全备份文件

第四,累积备份导入(周三)

imp  system/manager inctype=RESTORE FULL=y FILE=周三累积备份文件

第五,增量备份导入(周四)

imp system/manager inctype=RESTORE FULL=y FILE=周四累积备份文件

第六,增量备份导入(周五)

imp system/manager inctype=RESTORE FULL=y FILE=周五累积备份文件


利用cron定时备份数据库:
    linux、Unix提供了定时服务cron程序,能够在确定的时间中执行一系列任务,因此数据库的备份必须和cron合作来完成,或者使用/etc下的daily,weekly,monthly文件做定时的数据库备份操作。
    例如:编写Oracle逻辑备份的sh文件,并用cron程序来制定备份的时间。
    i. 编辑完全备份的脚本文件(exp_comp.sh):
    rq='date +"%m%d"'
    su - oracle -c "exp system/manager full=y inctype=complete file=/oracle/
    export/db_comp$rq.dmp"
    ii. 编辑累计备份的脚本文件(exp_cumu.sh):
    rq=' date +"%m%d"'
    su - oracle -c"exp system/manager full=y inctype=cumulative file=/oracle
    /export/db_cumu$rq.dmp"
    iii. 编辑增量备份的脚本文件(exp_incr.sh):
    rq='date +"%m%d" '
    su - oracle -c"exp system/manager full=y inctype=incremental file=/oracle
    /export/db_incr$rq.dmp"

文章评论

表情

共 0 条评论,查看全部
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~

评论排行榜