热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

oracle什么是冷备份和热备份,有什么区别-mysql教程

oracle什么是冷备份和热备份,有什么区别

oracle 什么是冷备份和热备份,有什么区别

oracle 什么是冷备份和热备份,有什么区别

对于oracle只有物理备份和逻辑备份

  物理备份:是将实际组成数据库的操作系统文件从一处拷贝到另一处的备份过程,通常是从磁盘到磁带。

  逻辑备份:是利用SQL语言从数据库中抽取数据并存于二进制文件的过程。

  第一类为物理备份,该方法实现数据库的完整恢复,但数据库必须运行在归挡模式下(业务数据库在非归挡模式下运行),且需要极大的外部存储设备,例如磁带库,具体包括冷备份和热备份。冷备份和热备份是物理备份(也称低级备份),它涉及到组成数据库的文件,但不考虑逻辑内容。

  第二类备份方式为逻辑备份,业务数据库采用此种方式,此方法不需要数据库运行在归挡模式下,不但备份简单,而且可以不需要外部存储设备,包括导出/导入(EXPORT/IMPORT)。这种方法包括读取一系列的数据库日志,并写入文件中,这些日志的读取与其所处位置无关。

  (一)、导出/导入(Export/Import)

  利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回Oracle数据库中去。

  1、 简单导出数据(Export)和导入数据(Import)

  Oracle支持三种类型的输出:

  (1)表方式(T方式),将指定表的数据导出。

  (2)用户方式(U方式),将指定用户的所有对象及数据导出。

  (3)全库方式(Full方式),将数据库中的所有对象导出。

  数据导出(Import)的过程是数据导入(Export)的逆过程,它们的数据流向不同。

  2、 增量导出/导入

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

  增量导出包括三个类型:

  (1)“完全”增量导出(Complete)

  即备份整个数据库,比如:

  $exp system/manager inctype=complete file=990702.dmp

  (2) “增量型”增量导出

  备份上一次备份后改变的数据。比如:

  $exp system/manager inctype=incremental file=990702.dmp

  (3) “累计型”增量导出(Cumulative)

  累计型导出方式只是导出自上次“完全” 导出之后数据库中变化了的信息。比如:

  $exp system/manager inctype=cumulative file=990702.dmp

  数据库管理员可以排定一个备份日程表,用数据导出的三个不同方式合理高效地完成。

  比如数据库的备份任务可作如下安排:

  星期一:完全导出(A)

  星期二:增量导出(B)

  星期三:增量导出(C)

  星期四:增量导出(D)

  星期五:累计导出(E)

  星期六:增量导出(F)

  星期日:增量导出(G)

  如果在星期日,数据库遭到意外破坏,数据库管理员可按以下步骤来恢复数据库:

  第一步:用命令CREATE DATABASE重新生成数据库结构;

  第二步:创建一个足够大的附加回段。

  第三步:完全增量导入A:

  $imp system./manager inctype= RECTORE FULL=Y FILE=A

  第四步:累计增量导入E:

  $imp system/manager inctype= RECTORE FULL=Y FILE =E

  第五步:最近增量导入F:

  $imp system/manager inctype=RESTORE FULL=Y FILE=F
  
  
  (二)、 冷备份

  冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份是将关键性文件拷贝到另外位置的一种说法。对于备份Oracle信息而言,冷备份是最快和最安全的方法。冷备份的优点是:

  1.是非常快速的备份方法(只需拷贝文件)

  2.容易归档(简单拷贝即可)

  3.容易恢复到某个时间点上(只需将文件再拷贝回去)

  4.能与归档方法相结合,作数据库“最新状态”的恢复。

  5.低度维护,高度安全。

  但冷备份也有如下不足:

  1.单独使用时,只能提供到“某一时间点上”的恢复。

  2.在实施备份的全过程中,数据库必须要作备份而不能作其它工作。也就是说,在冷备份过程中,数据库必须是关闭状态。

  3.若磁盘空间有限,只能拷贝到磁带等其它外部存储设备上,速度会很慢。

  4.不能按表或按用户恢复。

  如果可能的话(主要看效率),应将信息备份到磁盘上,然后启动数据库(使用户可以工作)并将所备份的信息拷贝到磁带上(拷贝的同时,数据库也可以工作)。冷备份中必须拷贝的文件包括:

  1.所有数据文件

  2.所有控制文件

  3.所有联机REDO LOG文件

  4.Init.ora文件(可选)。

  值得注意的是冷备份必须在数据库关闭的情况下进行,当数据库处于打开状态时,执行数据库文件系统备份是无效的

  下面是做冷备份的完整例子:

  (1) 关闭数据库$sqldba lmode=y

  SQLDBA >connect internal;

  SQLDBA >shutdown normal;

  (2) 用拷贝命令备份全部的时间文件、重做日志文件、控制文件、初始化参数文件

  SQLDBA >! cp

  (3) 重启Oracle数据库

  $sqldba lmode=y

  SQLDBA >connect internal;

  SQLDBA >startup;

  (三)、 热备份

  热备份是在数据库运行的情况下,采用archivelog mode方式备份数据的方法。所以,如果你有昨天夜里的一个冷备份而且又有今天的热备份文件,在发生问题时,就可以利用这些资料恢复更多的信息。

  热备份的要求是:

  1. 热备份工作必需要求数据库在Archivelog 方式下操作,在SQLDBA状态下用alter database archivelog|noarchivelog命令可改变备份的模式。

  2. 热备份只能在数据库不使用或使用率低的情况下进行。

  3. 热备份需要大量的档案空间。

  一般情况,Oracle 以循环的方式写入Online redo log 文件,当填满第一个redo log文件后写第二个,直至最后一个,最后一个被填满后,后台进程LGWR就覆盖第一个,在Archivelog方式下,后台进程ARCH在每一个redo log 文件被覆盖前,给它作一个拷贝,一般,这些文档的redo log 文件被写入磁盘或磁带中。如果磁盘空间够用,建议使用磁盘,这样可大大减少完成备份所需的时间。

  在作热备份之前,要将config.ora文件中的log_archive_start 设为true 将log_archive_dest一旦数据库运行在archivelog状态下,就可以做备份了。热备份的命令文件由三部分组成:

  1.数据文件一个表空间一个表空间地备份。

  (1)设置表空间为备份状态

  (2)备份表空间的数据文件

  (3)恢复表空间为正常状态

  2.备份归档log文件。

  (1)临时停止归档进程

  (2)log下那些在archive redo log目标目录中的文件

  (3)重新启动archive进程

  (4)备份归档的redo log 文件

  3.用alter database backup controlfile命令来备份拷贝文件

  热备份的优点是:

  1.可在表空间或数据文件级备份,备份时间短。

  2.备份时数据库仍可使用。

  3.可达到秒级恢复(恢复到某一时间点上)。

  4.可对几乎所有数据库实体作恢复。

  5.恢复是快速的,在大多数情况下在数据库仍工作时恢复。

  热备份的不足是:

  1.不能出错,否则后果严重。

  2.若热备份不成功,所得结果不可用于时间点的恢复。

  3.因难于维护,所以要特别仔细小心,不允许“以失败而告终”。

推荐阅读
  • mysql 分库分表策略_【数据库】分库分表策略
    关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。当单表的数据量达到1000W或100G以后,由于查询维度较多, ... [详细]
  • 应用程序配置详解
    本文介绍了配置文件的关键特性及其在不同场景下的应用,重点探讨了Machine.Config和Web.Config两种主要配置文件的用途和配置方法。文章还详细解释了如何利用XML格式的配置文件来调整应用程序的行为,包括自定义配置、错误处理、身份验证和授权设置。 ... [详细]
  • Web安全入门:MySQL基础操作与SQL注入防范
    本文详细介绍了MySQL数据库的基础操作命令,包括数据库和表的基本管理,以及数据的增删查改等常用操作。同时,针对Web安全领域常见的SQL注入问题,提供了初步的理解和防范措施。 ... [详细]
  • 解析程序员与软件工程师的角色差异
    本文深入探讨了程序员与软件工程师之间的主要区别,包括它们的职业定位、技能要求以及工作内容等方面的不同,旨在帮助读者更好地理解这两个角色的特点。 ... [详细]
  • 本文探讨了为何DataWindow.NET在PowerBuilder 11之后版本中不再被支持,并提供了一种在PB12.5中恢复此功能的解决方案。欢迎交流与反馈。 ... [详细]
  • 本文档详细介绍了服务器与应用系统迁移的策略与实施步骤。迁移不仅涉及数据的转移,还包括环境配置、应用兼容性测试等多个方面,旨在确保迁移过程的顺利进行及迁移后的系统稳定运行。 ... [详细]
  • 本文详细解析了工业机器人控制柜内部的关键组件及其作用,包括轴计算机、安全面板、电容、驱动器、动力线、SMB线、跟踪板及外部轴上的电源装置等,旨在为读者提供全面的技术指导。 ... [详细]
  • 本文基于https://major.io/2014/05/13/coreos-vs-project-atomic-a-review/的内容,对CoreOS和Atomic两个操作系统进行了详细的对比,涵盖部署、管理和安全性等多个方面。 ... [详细]
  • 芬兰安全情报局(Supo)发布的2016年度情报活动报告揭示,国家资助的黑客团体APT28在进行间谍活动时几乎不加掩饰,显示出极高的嚣张程度。 ... [详细]
  • 在安装Ubuntu 12.04后,用户可能会遇到系统菜单中缺少休眠(Hibernate)选项的问题。这通常是由于某些程序的错误导致系统默认禁用了此功能。本文将详细介绍如何恢复和使用休眠选项。 ... [详细]
  • 解决ArcEngine中IEngineEditor编辑ArcSDE数据时遇到的0x8004021F错误
    本文探讨了一款自定义GIS插件系统从Personal GeoDatabase迁移到ArcSDE数据源过程中遇到的编辑错误,详细分析了错误原因及解决策略。 ... [详细]
  • 本文介绍了如何从给定的JSON响应中正确地提取产品标题等信息。 ... [详细]
  • 在软件开发领域,测试是确保产品质量的关键环节。本文旨在深入探讨两种特定的测试方法——冒烟测试与随机测试,解析它们的特点、实施方式及应用场景。 ... [详细]
  • Python linecache模块:高效读取文件特定行
    linecache模块提供了一种简便的方法来快速访问文件中的特定行,无需通过复杂的文件操作流程。用户只需导入该模块并调用相关方法即可轻松获取所需信息。 ... [详细]
  • 使用LINQ优化WinForms中CheckedListBox的操作
    本文介绍如何利用LINQ扩展方法解决WinForms中CheckedListBox控件的常见操作问题,包括获取选中项的文本并用分隔符连接,以及根据字符串初始化选中状态。 ... [详细]
author-avatar
Becky30712701
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有