Oracle数据库之备份与恢复(二)

Oracle数据库之备份与恢复(二)Oracle数据库之备份与恢复(二)

目录

1.前置知识点

2.备份概述

(1)备份的原则

(2)数据库备份的应用

(3)数据库备份类型

①逻辑备份 

②物理备份

3.恢复概述


Oracle学习的相关知识点(汇总)

1.前置知识点

在细讲备份,恢复和还原之前,首先大概来区分一下之间的关系。

(1)备份(backup):业务数据的副本,其实就是将数据文件复制一份作为备份,便于以后数据的还原;

(2)还原(restore):利用之前的备份重复覆盖,也就是回到之前备份的某个时间点。

(3)恢复(recover):利用日志文件(归档日志和在线日志)把数据向前回滚回来。

(1)完全恢复:将数据恢复到宕机最后一次提交状态;

(2)不完全恢复:将数据库恢复到指定的某个时间点。

Oracle数据库之备份与恢复(二)

比如上面的图:我们规定每到一个时间节点我们就备份一次数据,但是在上面的“现在这个时间节点”处发生了故障,数据丢失了,那么可以利用前一次的备份时间点2进行还原,但是上面的从“备份时间2”到“现在这个时间节点”段的数据使用日志进行恢复。也可以使用“备份时间点1”的作为还原,但是恢复的话,就是从“备份时间点1”到“现在这个时间节点”。 

2.备份概述

(1)备份的原则

  • 日志文件归档到磁盘。归档日志文件最 好不要与数据库文件或联机重做日志文 件存储在同一个物理磁盘设备上。
  • 如果数据库文件备份到磁盘上,应使用 单独的磁盘或磁盘组保存数据文件的备 份。备份到磁盘上通常可以在较短时间 内恢复。
  • 应保持控制文件的多个备份,控制文件的 备份应置于不同磁盘控制器下的不同磁盘 设备上。增加控制文件可以先关闭数据库, 备份控制文件,改变服务器参数文件的参 数CONTROL_FILES,再重新启动数据库即 可
  • 联机日志文件应为多个,每个组至少 应保持两个成员。日志组的两个成员 不应保存在同一个物理设备上,因为 这将削弱多重日志文件的作用。
  • 保持归档重做日志文件的多个备份, 在多个磁盘上都保留备份。使用服务 器参数文件中的 LOG_ARCHIVE_DUPLEX_DEST和 LOG_ARCHIVE_MIN_SUCCEED_DEST参 数,Oracle会自动双向归档日志文件。
  • 通过在磁盘上保存最小备份和数据库文件 向前回滚所需的所有归档重做日志文件, 在许多情况下可以使得从备份中向前回滚 数据库或数据库文件的过程简化和加速。
  • 增加、重命名、删除日志文件和数据 文件,改变数据库结构和控制文件等 操作都应备份,因为控制文件存放数 据库的模式结构。此外,增加数据文 件后也要备份。
  • 若企业有多个Oracle数据库,则应使用具 有恢复目录的Oracle恢复管理器。这将使 用户备份和恢复过程中的错误引起的风 险最小化。

Oracle数据库之备份与恢复(二) 

 

(2)数据库备份的应用

  • 实例失败
  • 磁盘失败

注意:如果丢失的是归档重做日志文件,就无法恢复。因此,最重要的是使归档重做日志文件目标设备也保持镜 像。归档重做日志文件与联机重做日志文件同等重要。

(3)数据库备份类型

备份一个Oracle数据库有三种标准方式: 导出(Export)(逻辑备份)、 脱机备份(Offline Backup)(冷备份)和 联机备份(Online Backup) (热备份)。其中导出方式是数据库的逻辑备份。脱机备份和联机备份都是物理备份(也称为低级备份)。

①逻辑备份 

逻辑备份。导出是将数据库中数据备份到一个称为“导出转储文件”的二进制系统文件中。

三种模式:

  • 用户模式(user):导出用户所有对象以 及对象中的数据。
  • 表模式(table):导 出用户的所有表或者 用户指定的表。
  • 全局模式(full):导出数据 库中所有对象,包括所有 数据、数据定义和用来重 建数据库的存储对象。

导出备份的三种类型:

  • 完全型:对所有表执行 全数据库导出或仅对上次 导出后修改过的表执行全 数据库导出。
  • 积累型:备份上一次积累型备份 所改变的数据。
  • 增量型:备份上一次备份后改变 的数据。

提示:导入是导出的逆过程,导入时读取导出创建的转储二进制文件以恢复数据。可以导入全部或部分已导出的数据。 如果导入一个完全导出的整个导出转储文件,则所有数据库对象(包括表空间、数据文件和用户)都会在导入 时创建。如果只打算从导出转储文件中导入部分数据,那么表空间、数据文件和将拥有并存储那些数据的用户 必须在导入前设置好。

②物理备份

物理备份是备份数据库文件而不是其逻辑内容。Oracle支持两种不同类型的物理备份:脱 机备份(也称为冷备份)和联机备份(也称为热备份)。

脱机备份:

在数据库已经正常关闭的情况下 进行。数据库正常关闭后会给用户提供一 个完整的数据库。当数据库处于脱机备份 状态时,备份的文件包括所有数据文件、 所有控制文件、所有联机重做日志和服务 器参数文件(可选)。当数据库关闭时, 对所有这些文件进行备份可以提供一个数 据库关闭时的完整镜像。以后可以从备份 中获取整个文件集并恢复数据库的功能。

提示:冷备份一般在SQL PLUS中进行,在进行备份之前,首先确定备份哪些文件,通过v$DATAFILE视图可以获取数据文件的列表;

select * from v$datafile;

Oracle数据库之备份与恢复(二)

通过v$LOGFILE视图可以获取联机重做日志文件的列表:

select * from v$logfile;

Oracle数据库之备份与恢复(二)  

正常关闭要备份的实例:

conn [用户名]/[密码] as sysdba;

shutdown normal;

关于Oracle中的关闭和启动数据库的几种方式(五)

联机备份:

数据库可能要求24小时运行,而且随时会对 数据进行操作。联机备份可以在数据库打开 的情况下进行。一般通过使用ALTER命令改 变表空间的状态来开始进行备份,备份完成 后恢复原来状态,否则重做日志会错配,在 下次启动数据库时引起表空间的修改。进行 联机备份时要求数据库必须在归档方式下操 作,在数据库不使用或使用率低的情况下进 行,同时要有大量的存储空间。

联机备份也称为热备份或者ARCHIVELOG备份,要求数据库运行在ARCHIVELOG方式之下。Oracle系统以循环的方式编写联机重做日志文件,也就是第一个日志文件写满之后,接着从第二日志文件开始写,……直到写满所有的日志文件之后,又从第一个日志文件开始写(覆盖原来的内容)。

以archivelog方式运行: 

第一步:使用管理员的身份连接数据:conn sys/[密码] as sysdba;

第二步:关闭数据库:shutdown immediate;

第三步:启动数据库:startup mount;

第四步:alter database archivelog;

第五步:archive log start;

第六步:alter database open; 

Oracle数据库之备份与恢复(二)Oracle数据库之备份与恢复(二) 

从server manger中显示当前数据库的archivelog:

archive log list;

执行数据库联机备份: 

一旦以archivelog方式打开并对用户可用时,那么就可以进行备份;

  • 将表空间设置为备份状态:alter tablespace system begin backup;
  • 使用操作系统备份表空间中的数据:copy  E:\Oracle\TableSpace\DEMO1.DBF  E:\Oracle\TableSpace\copy
  • 指定结束联机备份:alter tablespace system end backup;
  • 备份归档重做日志文件:archive log start;
  • 备份控制文件:alter database backup controlfile to ‘E:\Oracle\TableSpace\file.bak’

Oracle数据库之备份与恢复(二)

Oracle数据库之备份与恢复(二)

3.恢复概述

恢复分为:实例恢复和介质恢复。

实例恢复:

在数据库实例的运行期间,当意外掉电、后台进程故障或人为中止时出现实例故障,此时需要实例恢复。 如果出现实例故障,由于Oracle实例没有正常关闭,而且当实例发生故障时,服务器可能正在管理对数据库 信息进行处理的事务。

实例恢复的目的就是将数据库恢复到与故障之前的事务一 致的状态。实例恢复只需要联机日志文件,不需要归档日志文件。实例恢复的最大特点是,Oracle在下次数 据库启动时会自动地执行实例恢复。

实例恢复的步骤:

  • 为了解恢复数据文件中没 有记录的数据,进行向前回滚。该数据记录在联机日 志中,包括对回退段的内 容恢复。
  • 回退未提交的事务,按步 骤(1)重新生成回退段 所指定的操作。
  • 释放在发生故障时正在 处理事务所持有的资源。
  • 解决在发生故障时正经历 这一阶段提交的任何悬而 未决的分布事务。

介质恢复:

如果在联机备份时发现实例故障,则需介质恢复。介质恢复主要在由于存储介质发生故障,导致数据文件被 破坏时使用。介质故障是当一个文件或者磁盘不能读取或写入时出现的故障。这种状态下的数据库都是不一 致的,这需要DBA手动进行数据库的恢复。这种恢复有两种形式:完全介质恢复和不完全介质恢复。

  • 完全介质恢复:它使用重做数据或增量备份将数据库更新到最近的时间点,通常在介质故障 损坏数据文件或控制文件后执行完全介质恢复操作。实施完全数据库恢复时,根据数据库文件的破 坏情况,可以使用不同的方法。
  • 不完全介质恢复:是在完全介质恢复不可能或者有特殊要求时进行的介质恢复。

4.导入与导出

(1)导出

Export指定运行期选项
关键字 描述
Userid 执行指定账户的用户名和口令,如果是EXP命令后的第一个参数,则关键字Userid可以省略。
Buffer 用户获取数据行的缓冲区尺寸,默认值随系统而定,通常设定一个高值。
File 导出转储文件的名称。
Full 若设为Y,表示执行Full数据导出。
Tables 导出表的清单,可以执行这些表的Table导出(也就是要导出的表名称)。

EXP USERID=SCOTT/Admin123123@myorcl FULL=N BUFFER=10000 FILE=XSB TABLES=XSB

提示:将表导出之后,可以看到导出的文件是在当前目录下面。

Oracle数据库之备份与恢复(二)

Oracle数据库之备份与恢复(二) 

(2)导入

 

Import指定运行期选项
关键字 描述
Userid 执行指定账户的用户名和口令,如果是imp命令后的第一个参数,则关键字Userid可以不必指定。
Buffer 用户获取数据行的缓冲区尺寸,默认值随系统而定,通常设定一个高值(>100 000)。
File 要导入的导出转储文件名称。
Full Y/N,若设为Y,表示执行Full数据导入,并导出转储文件。
Table 导出表的清单,可以执行这些表的Table导出。

IMP USERID=SCOTT/Admin123123@myorcl FULL=N BUFFER=10000 FILE=XSB TABLE=XSB

Oracle数据库之备份与恢复(二)

Oracle数据库之备份与恢复(二) 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/38758.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注