热门标签 | 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.因难于维护,所以要特别仔细小心,不允许“以失败而告终”。

推荐阅读
  • 本文介绍了adg架构设置在企业数据治理中的应用。随着信息技术的发展,企业IT系统的快速发展使得数据成为企业业务增长的新动力,但同时也带来了数据冗余、数据难发现、效率低下、资源消耗等问题。本文讨论了企业面临的几类尖锐问题,并提出了解决方案,包括确保库表结构与系统测试版本一致、避免数据冗余、快速定位问题等。此外,本文还探讨了adg架构在大版本升级、上云服务和微服务治理方面的应用。通过本文的介绍,读者可以了解到adg架构设置的重要性及其在企业数据治理中的应用。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • MyBatis错题分析解析及注意事项
    本文对MyBatis的错题进行了分析和解析,同时介绍了使用MyBatis时需要注意的一些事项,如resultMap的使用、SqlSession和SqlSessionFactory的获取方式、动态SQL中的else元素和when元素的使用、resource属性和url属性的配置方式、typeAliases的使用方法等。同时还指出了在属性名与查询字段名不一致时需要使用resultMap进行结果映射,而不能使用resultType。 ... [详细]
  • 本文详细介绍了在ASP.NET中获取插入记录的ID的几种方法,包括使用SCOPE_IDENTITY()和IDENT_CURRENT()函数,以及通过ExecuteReader方法执行SQL语句获取ID的步骤。同时,还提供了使用这些方法的示例代码和注意事项。对于需要获取表中最后一个插入操作所产生的ID或马上使用刚插入的新记录ID的开发者来说,本文提供了一些有用的技巧和建议。 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 本文介绍了如何使用python从列表中删除所有的零,并将结果以列表形式输出,同时提供了示例格式。 ... [详细]
  • Linux环境变量函数getenv、putenv、setenv和unsetenv详解
    本文详细解释了Linux中的环境变量函数getenv、putenv、setenv和unsetenv的用法和功能。通过使用这些函数,可以获取、设置和删除环境变量的值。同时给出了相应的函数原型、参数说明和返回值。通过示例代码演示了如何使用getenv函数获取环境变量的值,并打印出来。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • win10电脑蓝屏代码0x000000a5无法进入系统解决方法详解
    许多用户在使用电脑的时候遇到蓝屏问题,重启无法进入系统。本文提供了解决方法:调整BIOS设置、禁用安全启动、重装系统等。如果以上方法都无法解决问题,需要重新安装一个系统。详细步骤请参考正文内容。 ... [详细]
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社区 版权所有