目录

1.前置知识点

2.备份概述

(1)备份的原则

(2)数据库备份的应用

(3)数据库备份类型

①逻辑备份

②物理备份

3.恢复概述


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

1.前置知识点

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

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

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

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

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

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

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

2.备份概述

(1)备份的原则

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

(2)数据库备份的应用

  • 实例失败
  • 磁盘失败

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

(3)数据库备份类型

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

①逻辑备份

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

三种模式:

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

导出备份的三种类型:

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

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

②物理备份

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

脱机备份:

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

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

select * from v$datafile;

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

select * from v$logfile;

正常关闭要备份的实例:

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;

从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'

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

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

(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数据库之备份与恢复(二)相关推荐

  1. Oracle数据库逻辑备份与恢复(3)——数据泵(expdp、impdp)

    Oracle数据库逻辑备份与恢复(3)--数据泵(expdp.impdp) 使用数据泵技术(expdp.impdp)导出和导入数据比使用exp.imp命令导出和导入数据速度要快,原因是数据泵技术可以使 ...

  2. Oracle 数据库的备份与恢复

    Oracle 数据库的备份与恢复 转自:http://blog.163.com/zhanghb-go/blog/static/42373899200810651146374/ 2006-09-28 1 ...

  3. Oracle数据库的备份与恢复技术

    Oracle数据库的备份与恢复技术 郑永生 (华能德州电厂信息中心,德州 253024)     摘 要 确保数据安全是每一位数据库DBA的必要工作,根据数据的重要性和软硬件条件制定可行的备份恢复方案 ...

  4. Oracle数据库的备份与恢复常用方法 详解

    Oracle数据库的备份与恢复 在Oracle数据库的使用过程中,备份与恢复是经常遇到的操作.Oracle中的备份分为两大类:逻辑备份和物理备份.其中物理备份又分为两类:冷备份和热备份.本节将简要讲述 ...

  5. oracle数据库迁移方案二

    记录欲迁移库的sid,是否为归档模式(查看方法:以sys用户登入sqlplus后运行archive log list,建库时默认为非归档模式)以及如下文件的存放位置:参数文件,密码文件,控制文件,日志 ...

  6. oracle 差分备份,Oracle数据库RMAN备份与恢复:备份与恢复(手机搬家)

    摘要:针对Oracle数据库,说明备份与恢复的重要性,讨论了如何定制恰当的备份策略,以RMAN为例,分别从改变数据库的归档模式.创建RMAN用户并授权,创建恢复目录并注册目标数据库,备份与恢复数据库文 ...

  7. Oracle数据库学习(二):SQL developer客户端下载、安装与连接Oralce 11g数据库

    SQL developer客户端下载.安装及连接Oracle数据库 本文采用自带jre的安装包,无需自己配置相关jdk文件 1.1 SQL developer客户端下载 下载 百度网盘:链接:http ...

  8. 教室信息管理系统mysql_教师信息管理系统(方式一:数据库为oracle数据库;方式二:存储在文件中)...

    方式一: 运行截图 数据库的sql语句: /* Navicat Oracle Data Transfer Oracle Client Version : 12.1.0.2.0 Source Serve ...

  9. Oracle数据库基础(二)

    一.Oracle字符串操作 1.1 字符串类型 1.1.1 CHAR 和 VARCHAR2 类型 表示字符串数据类型,用来在表中存放字符串信息,比如姓名,职业,地址等. CHAR存放定长字符,即存不满 ...

最新文章

  1. MATLAB双纵坐标绘图(重要)
  2. 设置timeout限制在爬虫中的运用
  3. mysql names gb2312_mysql_query(set names gb2312)设置客户端字符集
  4. [转]测试的三重境界
  5. 金融标准化“十四五”规划突出数据安全
  6. HTTP Server:从头开始构建简单HTTP服务器需要了解的所有内容
  7. codesmith oracle 64,CodeSmith OracleModel写法
  8. excel冻结窗口怎么设置_excel冻结多行怎么设置-和冻结首行一样哦
  9. 树莓派基于motion的usb摄像头监控
  10. deb 中标麒麟_麒麟动态·亿图软件登陆银河麒麟桌面三部曲之——项目管理软件 - 银河麒麟操作系统 麒麟操作系统 中标麒麟 麒麟软件官方网站...
  11. Linux系统下如何显示隐藏文件
  12. boost之lexical_cast使用
  13. 列表表达式爬取红牛分公司数据
  14. Qiime2 软件安装
  15. 用Selenium爬取网页简单操作
  16. 移动web开发要点总结
  17. libcurl 库的编译
  18. Android RTL布局适配
  19. 纯css实现优惠券效果
  20. 学习淘淘商城第二课(搭建Maven工程)

热门文章

  1. 【Vivado使用】从0开始 综合后生成门级网表
  2. C/C++开发,根据磁盘或网卡创建软件License约束(c++)
  3. Subsonic学习
  4. 植物大战僵尸以及超级玛丽源码分享
  5. HOG+SVM实现交通路标识别
  6. Eclipse配置gradle插件教程
  7. 转:MATLAB2018b
  8. ctype.h 详解
  9. 光标跟随放大镜js特效代码
  10. 电脑cpu风扇转一下就停无法开机_win7系统电脑开机cpu风扇转一下就停下来怎么办...