Oracle 数据库的备份与恢复

文章目录

1. 为什么要数据备份

造成数据丢失的主要原因:

  • 介质故障。
  • ⽤户的错误操作。
  • 服务器的彻底崩溃。
  • 计算机病毒。
  • 不可预料的因素

2. 故障类型

  1. 语句故障
    执⾏SQL语句过程发⽣的逻辑故障可导致语句故障。如果⽤户编写的SQL语句⽆效,就会发⽣语句故障。Oracle可⾃我修复语句故障,撤销语句产⽣的⽽印象,并将控制权交给应⽤程序。
  2. 用户进程故障
    当⽤户程序出错⽽⽆法访问Oracle数据库时,就会发⽣⽤户进程故障。⽤户进程故障只会导致当前⽤户⽆法操作数据库,但不会印象其他⽤户进程,当⽤户进程出现故障时,进程监控程序(PMON)会⾃动执⾏进程恢复。
  3. 实例故障
    当Oracle 数据库实例由于硬件或软件问题⽽⽆法继续运⾏时,就会发⽣实例故障。硬件问题包括意外断电,⽽然间问题可能是服务器操作系统崩溃。如果发现实例故障,Oracle会⾃动完成实例修复。实例修复将数据库恢复到与故障之前的事务⼀致状态,Oracle会⾃动回滚未提交的数据。
  4. 介质故障
    介质故障是当⼀个数据库⽂件或者磁盘不能读或者不能写时出现的故障。

3.备份类型

3.1 从物理角度与逻辑角度分类

  1. 物理备份
    对数据库操作系统的物理⽂件(如数据⽂件、控制⽂件和⽇志⽂件等)的备份。物理备份⼜可分为脱机备份(冷备份)和联机备份(热备份),前者是在关闭数据库的时候进⾏的,后者对运⾏在归档⽇志⽅式的数据库进⾏备份
  2. 逻辑备份
    对数据库逻辑组件(如表和存储过程等数据对象)的备份。

3.2 从数据库的状态分类:

  1. 冷备份
    冷备份数据库是将数据库关闭之后备份所有的关键性⽂件包括:数据⽂件、控制⽂件、联机REDO LOG⽂件,将其拷⻉到另外的位置。此外冷备份也可以包含对参数⽂件和⼝令⽂件的备份。冷备份实际也是⼀种物理备份。
  2. 热备份
    热备份是在数据库运⾏的情况下,采⽤archive log mode⽅式备份数据库的方法。

3.3 从数据库的备份策略角度分类

  1. 完全备份
    每次对数据进⾏完整备份。
  2. 增量备份
    只有那些在上次完全备份或者增量备份后备修改的⽂件才会被备份。
    优点是备份数据量⼩,需要的时间短。缺点是恢复的时候需要依赖之前的备份记录,出问题的⻛险较⼤。
    例如:如果在星期⼀进⾏完全备份,在星期⼆至星期五进⾏增量备份。如果星期五数据被破坏了,则数据恢复需要星期⼀的完全备份和从星期⼆⾄星期五的所有增量备份。
  3. 差异备份
    备份那些从上次完全备份之后被修改过得⽂件。因此从差异备份中恢复数据的时间⻓短,因此只需要两份数据(最后⼀次完全备份和最后⼀次差异备份),缺点是每次备份的时间较⻓。
    例如:如果在星期⼀进⾏完全备份,在星期⼆到星期五进⾏了差异备份,如果星期五数据被破坏了,则数据恢复只需要星期的完全备份和星期四的差量备份。

4. 冷备份

以DBA⽤户或特权⽤户登录,查询动态性能视图v$datafile、v$controlfile、v$logfile可以分别列出数据库的数据⽂、控制⽂件以及⽇志⽂件。将其拷⻉到另外的位置。
此外冷备份也可以包含对参数⽂件和⼝令⽂件的备份。

select name from v\$datafile;
select name from v\$controlfile;
select * from v\$logfile;
cd $ORACLE_HOME/dbs

5. 热备份

热备份也叫联机备份,它是指数据库处于open状态下,对数据库的数据⽂件、控制⽂
件、参数⽂件、密码⽂件等进⾏⼀系列备份操作(其中数据⽂件是必须备份的)。

  • 它要求数据库处在归档模式下。
  • 在热备时,是可以进⾏DML操作的

热备份的过程
冻结块头–>控制SCN在备份时不发⽣变化,并产⽣检查点,发⽣在置于备份状态的时候
进⾏物理拷⻉
解冻块头–>让SCN可以变化(当对SCN解冻后,系统会⾃动更新SCN⾄最新的状态

备份可存储为

  • 映像副本:指的是数据或归档⽇志⽂件的副本
  • 备份集 :指的是⼀个或多个⼆进制⽂件的集合,其中包含⼀个或多个数据⽂件、控制⽂件、服务器参数⽂件或归档⽇志文件。
    在这里插入图片描述
    物理备份:数据库级别的备份与恢复
    逻辑备份
    在这里插入图片描述
    备份操作的内部流程
    可以采⽤交互⽅式执⾏⽤户管理的备份。但通常需要编写执⾏备份的脚本。
    以下是脚本必须执⾏的⼀些操作:
  • 查询 v$datafile以确定需要备份的数据⽂件及其当前状态
  • 查询 v$logfile以标识联机重做⽇志⽂件
  • 查询 v$controlfile以标识要备份的控制⽂件
  • 将每个表空间置于联机备份模式下
  • 查询 v$backup以查看哪些数据⽂件包含在联机备份模式下的表空间中
  • 发出操作系统复制命令,以将数据⽂件复制到备份位置。

6. RMAN—— Recovery Manager

RMAN是ORACLE提供的恢复和备份具,是随Oracle服务器软件⼀同安装的⼯具软件,它可以⽤来备份和恢复数据库⽂件、归档⽇志和控制⽂件,⽤来执⾏完全或不完全的数据库恢复。
RMAN具有独特的优势:跳过未使⽤的数据块。

在这里插入图片描述
RMAN环境⾄少包括两部分

  • ⽬标数据库:即需要进⾏备份和恢复的数据库。
  • RMAN客户端:默认存放于$ORACLE_HOME/bin⽬录下的可执⾏程序,⽤于执⾏
    RMAN命令进⾏数据库备份和恢复操作。

6.1 备份集和备份片

Backup sets 备份集合.

  • 包括⼀个或多个数据⽂件或归档⽇
  • 以oracle专有的格式保存
  • 有⼀个完全的所有的备份⽚集合构成
  • 构成⼀个完全备份或增量备份

Backup pieces备份⽚

  • ⼀个备份集由若⼲个备份⽚组成。
  • 每个备份⽚是⼀个单独的输出⽂件。
  • ⼀个备份⽚的⼤⼩是有限制的;如果没有⼤⼩的限制,备份集就只由⼀个备份⽚构成。
  • 备份⽚的⼤⼩不能⼤于使⽤的⽂件系统所⽀持
    的⽂件⻓度的最⼤

6.2 镜像备份 copy

镜像备份是独⽴⽂件(数据⽂件、归档⽇志、控制⽂件)的备份。
类似操作系统级的⽂件备份。它不是备份集或备份⽚,也没有被压缩。

6.3 完全备份

完全备份是⼀个或多个数据⽂件中使⽤过的数据块的的备份。没有使⽤过的数据块是不被备份的,也就是说,oracle进⾏备份集合的压缩。

6.4 差异/增量备份(Differential)

0 全备
1 差异增量 上次全备或LV1⾄今的增量(⽆论是否有,有N次LV2的备份,⼀律从上次lv1或0⾄今的变化)0/1 ~ NOW
2 累积增量 上次任意级别备份⾄今的增量(任意⼀次备份⾄今)0/1/2 ~ NOW

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值