




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
叮叮小文库目 录摘要iiiAbstractiv第一章 绪论11.1 国内外研究动态11.2 容灾备份系统的现状分析1第二章 数据库备份方案32.1 备份文件32.1.1 定义32.1.2 主要的内容42.1.3 优先级别42.1.4文件之间的转化42.2 备份恢复方案42.2.1 备份恢复的分类52.2.2 备份方案的介绍52.3 数据库的备份策略52.3.1 概述5第三章 备份与恢复功能设计与实现63.1 冷备份(脱机备份)63.1.1 定义63.1.2 优点与缺点63.1.3 步骤63.1.4 备份恢复功能设计与实现83.2 热备份恢复(联机备份恢复)103.2.1定义103.2.2 优点与缺点103.2.3 备份设计与实现10第四章 总结38参考文献39谢 辞40Oracle database 备份与恢复摘要:随着信息化的发展,数据对我们日常生活中有着举足轻重的影响。生活不能缺少数据,因此数据的备份和恢复在当前至关重要。它能保证数据的完整性、安全性、一致性。它也使数据在非正常情况下丢失后,还能恢复到事故前的状态,确保损失最少,风险最少。本文主要介绍在Linux服务器端,通过oracle数据库的SQL*plus工具,对oracle数据库进行冷备份恢复(脱机备份)和热备份恢复(联机备份),分别对数据库的参数文件,控制文件,数据文件,日志文件进行备份与恢复。通过模拟不同情况下,数据库文件丢失的情况下,对数据库进行完全恢复和不完全恢复。本文主要详细阐述了不完全恢复时需要注意的要点和不完全恢复的特点。通过本文对备份恢复情况的研究,可以编写相关的数据库备份恢复脚本,简化备份步骤,希望能实现Linux操作系统下,数据库自动备份与恢复。关键词:oracle;备份;恢复Oracle database backup and recoveryAbstract:With the development of information,the data has an important influence in our daily life.Our life cant lack of data,so that data backup and recovery in current is very important.It can guarantee the integrity,the consistency and security of the data . It also can ensure that the data can return to normal statue after lose data.This paper describes the Linux server, oracle database through SQL * plus tools, cold oracle database backup and recovery (offline backup) and hot backup and recovery (online backup), respectively, the parameters of the database files, control files, data files the log files are backed up and restored. By simulating different scenarios, the database files are missing in the case, the database is fully recovered and incomplete recovery. This paper elaborates incomplete recovery points to be noted and incomplete recovery features. Through this case study on backup and recovery, you can write relevant database backup and recovery scripts, simplify backup step, hoping to achieve the Linux operating system, automatic database backup and recovery.Key words:oracle; backup; recovery-叮叮小文库第一章 绪论1.1 国内外研究动态当今的信息时代,数据在现代企业中占有重要的地位,数据安全性就显得尤为重要。随着企业规模的扩展,用户早已认识到保证信息系统的安全不间断工作成为各个行业信息化建设的重要关注点。而且近年来频繁出现的自然灾害或者突发事件也让人们越来越多的注意到,原有意识中的数据备份已经无法满足关键业务对系统的可用性、实时性、安全性的需要。这时,异地容灾解决方案的出现则可通过在不同地点建立备份系统,从而进一步提数据抵抗各种可能安全因素的容灾能力。美国是一个信息技术非常发达的国家,因此很早就有了很高的灾备意识,像美国政府就发布规定:要求所有政府、金融和医疗等机构都必须建立备份数据中心,以确保在遭受恐怖主义攻击、军事打击或自然灾害之后,能够实现快速重建。我国是一个信息产业发展比较晚的国家,但也一直在学习国外的先进经验,颁布了一系列法律法规来规范灾备市场的发展,例如像信息系统灾难恢复规范中就将灾备划分为6个等级。1.2 容灾备份系统的现状分析伴随着IT信息化的推进,组织运营对IT系统的依赖度越来越高,IT系统的可持续化运行,以及IT系统中数据的安全性,已经是对组织运营风险控制产生重大影响。而容灾正是这样一门技术和方案,它可提供一个防止IT系统遭受各种灾难影响破坏的保护系统,为IT系统的可持续化运行和数据安全提供一道保护屏障。而且近年来频繁出现的自然灾害或者突发事件也让人们越来越多的注意到,原有意识中的数据备份已经无法满足关键业务对系统的可用性、实时性、安全性的需要。这时,异地容灾解决方案的出现则可通过在不同地点建立备份系统,从而进一步提数据抵抗各种可能安全因素的容灾能力。 针对这一应用需求,市场上纷纷推出基于SAN的异地容灾软、硬件产品,希望能够为用户提供整套以SAN网络环境和异地实时备份为基础的,高效、可靠的异地容灾解决方案,并且能够为用户提供支持各种操作系统平台、数据库应用和网络应用的系统容灾服务。而本文主要介绍的是Oracle公司的容灾技术。随着Oracle数据库的逐步发展,Oracle数据库被使用于各行各业,使用Oracle数据库的大型公司也随之不断的增加,因而对于Oracle数据库的安全性,人们也有了新的担忧和考虑,因此Oracle数据库备份和恢复技术的研究在国内外如雨后春笋,迅速的不断发展。但是,如果这时发生不可预测的自然灾害以及突发事件,导致整个数据保护体系崩溃时,将给企业带来毁灭性打击。如果企业对数据安全要求很高,就应该搭建容灾系统。-叮叮小文库第二章 数据库备份方案2.1 备份文件2.1.1 定义参数文件:记录数据库的系统配置文件,每当数据库启动,Oracle自动地从参数文件中读取系统参数设置来配置启动数据库。如内存池的分配,允许打开的进程数和会话数等。控制文件:控制文件是二进制文件,数据库的结构、数据文件和日志文件的一些信息都包含在其中。控制文件并不大,但是它在数据空中最重要的文件,只有数据库进程才可以对控制文件的内容进行更新,控制文件内容主要包括数据库的名称(sid),位置,联机、脱机的状态,Redo Log File的名称和位置,每个表空间名称, 归档日志文件的信息,检查点(CheckPoint)信息,重做信息,rman备份信息等等。数据文件:用来存放数据的文件,每个数据库一定是至少含有一个数据文件(system01.dbf),若存在多个数据文件,应该分别存放于不同的磁盘上,这样做不仅能提高数据的存取速度,有利于提高数据库的性能,而且还能高度容灾。重做日志文件:数据库日志文件包括归档的日志和在线的日志, 当数据库被修改是,就会记录在这些文件当中。Oracle数据库必须至少包含两组在线日志,在线日志可以循环使用,当正在写的在线日志被写满后,就会切换到另一组在线日志,后者的内容会被覆盖,这个过程叫作日志切换(Log Switch),在日志切换时会自动触发检查点(CheckPoint),使内存中的数据写到数据文件当中。如果数据库执行了DML语句,就会被记录到日志文件中,并且记录动作是在改变数据前进行的,正是因为日志文件记录了数据库所有的修改操作,因此假如有过去某时间点的备份文件,并且有从备份时间点到现在时间点的所有日志文件,就可以通过在备份文件上“重做”这些日志的方式,把数据文件恢复到当前状态或者当中的任何时点的状态。为了达到防止日志组文件失效的目的,应该对每一个日志组中的每一个日志文件做一份或多份镜像,每个日志组文件和它的备份镜像文件称为其日志组的成员。两个相同的成员应该分别存在不相同的磁盘上,这样做的目的是,可以避免磁盘因外部原因失效时,相同日志组的镜像日志一起失效。2.1.2 主要的内容Pfile:系统的参数文件,可用vim,vi等编辑器进行修改,其文件名一般是init.oraSpfile:二进制参数文件,不能使用编辑器直接进行修改,只可以存放在Oracle的服务器上,可以使用EM网页或指令(alter system|session set parameter_name = values )来修改,文件名通常为Spfile.ora,支持RMAN备份。System01.dbf:记录系统运行的信息,包含所有的数据字典,PL/SQL程序代码及其他系统信息。Sysaux01.dbf:system01.dbf文件的辅助文件,存放数据库系统活动的工具,例如LogMiner。Undotbs01.dbf:存放系统运行时的回退信息,即DML操作后的旧数据信息。Users01.dbf:新建用户未指定存储空间时,默认数据存放的文件。Example01.dbf:存放事例数据信息。2.1.3 优先级别Oracle 启动读取参数文件的顺序,如果个文件都不存在,则Oracle会报错:spfile.ora - spfile.ora -init.ora2.1.4文件之间的转化从spfile来生成pfilecreate pfile from spfile ,执行完毕后,pfile将$ORACLE_HOME/dbs/init$ORACLE_SID.ora也可以指定pfile 的路径:create pfile = from spfile由pfile 生成spfilecreate spfile from pfilecreate spfile from pfile = create spfile = from pfile2.2 备份恢复方案2.2.1 备份恢复的分类按照备份恢复的方式,可以分为逻辑备份、冷备份(脱机备份)、热备份,其中,热备份和冷备份合称为物理备份。按照备份的工具,可以分为EXP/IMP备份、操作系统备份RMAN、第三方工具备份,如VERITAS等。2.2.2 备份方案的介绍逻辑备份是指只备份数据库中的数据但不记录数据物理位置的一种备份。导出为数据库作一个二进制的备份,并且这个备份只能由其姐妹程序imp来读取操作系统备份包括冷备份和热备份。操作系统备份和上面的逻辑备份有本质的区别,它将拷贝整个的数据文件。冷备份在文件级备份开始前数据库必须彻底关闭。热备份是当数据库打开时的操作系统备份。Recovery Manager(RMAN)是一个使DBA能很方便地对数据库执行备份和恢复任务的oracle应用工具,能够提供DBA对企业数据库备份与恢复操作的集中控制。2.3 数据库的备份策略2.3.1 概述争取的备份策略不仅能保证数据库服务器的7*24小时的高性能的运行,还能保证备份与恢复的快速性与可靠性。采用多级备份就是为了减少每天备份所需要的时间,而保证系统有良好的恢复性。恢复时间与备份时间要有一个权衡。比如只要进行一个数据库的全备份,然后就只备份归档也可以保证能把数据库恢复到最新的状态,但是这样的恢复时间将是不可容忍的。第三章 备份与恢复功能设计与实现3.1 冷备份(脱机备份)3.1.1 定义冷备份(脱机备份)是当数据库的一切可以被读取和写入的数据库物理文件(参数文件、控制文件,数据文件等)具有一样的系统改变号(SCN)时才能进行的数据库的一致性备份,数据库保持在同一状态的唯一方法是将数据库正常关闭,因此只在数据库正常关闭情况下的备份才算是一致性备份。冷备份既适用于archivelog模式,也适用于noarchivelog模式。3.1.2 优点与缺点优点:快速并且相对简单的备份方法(因为仅仅需要拷贝文件)。容易恢复至某个时间点上(仅需将文件拷贝回去)。低度维护,高度安全。缺点:单独使用时,只能提供到“某一时间点上”的恢复。在冷备份过程中,数据库必须是关闭状态。3.1.3 步骤(1) 、查看数据库文件物理位置。 图 2.1 数据文件图2.2 控制文件图2.3 日志文件图2.4 参数文件(2) 关闭运行的数据库。(3) 备份参数文件,控制文件,数据文件,日志文件到指定目录下。3.1.4 备份恢复功能设计与实现 (1)建立测试表test,并且插入数据1,恢复后,数据应该还是存在的图2.5 创建测试表图2.6(2)关闭数据库,执行备份图2.7 执行冷备份(3)插入另外一条数据2,恢复时应该丢失的数据图2.8 插入验证信息(4)关闭数据库,删除所有的文件:数据文件,控制文件,参数文件,日志文件图2.9 删除文件(5)启动数据库图2.10 启动数据库(6)恢复冷备份的文件到各自的文件夹图2.11 冷备份的恢复(7)验证冷备份的恢复,数据2丢失,只有数据1,备份后插入的数据不存在。图2.12 验证恢复3.2 热备份恢复(联机备份恢复)3.2.1定义数据库热备份是指数据库在启动运行的状态下,对数据库的控制文件、参数文件、数据文件等进行备份操作。热备份是用户管理备份恢复的一种方式,也是除了RMAN备份之外比较经常使用的一种备份方式。热备份仅仅适用于archivelog状态。3.2.2 优点与缺点优点:可以在表空间或数据文件级备份,备份的时间短。备份时数据库仍可以使用。可达到秒级恢复(恢复到某一时间点上)缺点:不能出错,否则备份数据不可用。备份方法相对复杂,难于维护。3.2.3 备份设计与实现冻结块头-控制SCN在备份时不发生变化进行物理拷贝解冻块头-让SCN可以变化(当对SCN解冻后,系统会自动更新SCN至最新的状态)查看是否在自动归档模式:图2.13 非归档模式如果不是则启动自动归档模式:图2.14 启动归档模式图2.15 在线备份数据文件图2.16 在线备份控制文件图2.17 备份参数文件和重做日志归档文件完全恢复:(1)用户表空间数据文件受损A、查看数据库是否运行在归档模式,确保能把数据完全恢复,如果不是,则设置为自动归档模式图2.18 归档模式B、在用户表空间创建测试表,并且插入测试数据图2.19 插入验证数据C、对users表空间数据文件进行热备份图2.20 备份用户空间D、插入热备份后的另外一条数据,验证热备份完全恢复图2.21 插入测试数据E、关闭数据库,删除用户表空间文件,模拟出错图2.22 模拟故障查表v$recover_file,用户数据文件需要恢复图2.23 查看需要回复的数据文件如果实际中,数据库需要对外服务,但是用户数据文件尚未修复,可以选择先把数据文件离线再进行修复。图2.24 离线数据文件图2.25 恢复离线的数据文件F、查看验证热备份的数据,确认是否完全恢复,重做数据文件到当前的时间点,确保备份后的数据还在,前提是要处于归档模式,切归档重做文件都没被删除图2.26 查看热备份的效果(2)用户表空间数据文件受损且无备份的恢复第一种情况,先删除数据文件,在触发检查点A、创建用户表空间做测试图2.27 创建测试数据B、删除用户表空间,模拟故障,表格还在的原因是因为数据已经缓存到内存了,查找内容实际是在内存找图2.28 模拟故障C、当触发检查点,内存数据会写盘,然而查找数据的话,没改变数据内容,写盘的时候不需要修改内容,故数据文件test.dbf不存在也不会报错,但是再查找表的内容的时候,要从磁盘读,因此发现了数据文件不存在图2.29 数据文件故障D、关闭系统,然后启动后发现,数据文件处于recover状态图2.30 recover状态的数据文件E、创建丢失的数据文件,恢复文件的内容图2.31 创建需要的文件 图2.32 查看数据文件状态F、验证数据是否还是存在,数据还在的条件是,归档日志文件存在的时间要比表空间创建的时间要久远,才有重做日志文件支持完全恢复。图2.33 验证恢复第二种情况:先触发检查点,在删除数据文件 图2.34 情况二图2.34 数据文件需要恢复图2.35 恢复后的数据(3)System表空间数据文件或者大量数据文件受损A、对system表空间进行热备份图2.35 热备份B、删除system数据文件,模拟数据文件损坏图2.36 删除数据文件C、把热备份的数据文件重新拷回去,恢复系统数据文件图2.37 恢复数据文件(4)回滚文件损坏的恢复A、查看回滚表空间的相关信息(回滚文件可以在线删除)图2.38 回滚表空间信息B、删除undo数据文件,启动数据库图2.39 模拟故障图2.40 故障C、把回滚数据文件离线,启动数据库 图2.41 离线数据文件D、创建一个新的回滚表空间,并修改参数undo_tablespace,使undotbs1能成功删除图2.42 创建回滚表空间图2.43 创建修改回滚表空间E、创建测试表test图2.44 创建测试数据F、关闭数据库,发现数据库一直关闭不了,挂起了,查看警告文件图2.45 关机挂起图2.46 查看跟踪文件G、启动数据库图2.47 故障H、修改参数文件pfile,增加一行图2.48 修改SPFILE图2.48 启动数据库(5)临时文件损坏的修复A、当控制文件不需要重建的时候图2.49 模拟故障B、控制文件重建的时候,因为控制文件的创建不包含temp的路径,若创建时指定会报错,故在启动数据库后要手工绑定。图2.50 模拟故障2图2.51 查看临时表空间图2.52 大查询图2.53 手工创建临时表空间不完全恢复(1)基于time时间的恢复基于时间的恢复能将数据库通过不完全恢复,到过去的某一时间点,经常被用在误操作导致的删除数据,在备机上将数据库恢复至被删除时间点之前的状态,然后把该表导出到正式环境,以挽回丢失数据。A、建立测试表test,插入测试数据图2.54 创建测试数据表B、热备份除temp表空间以外所有的数据文件,虽然恢复的数据在users表空间,但是不完全恢复基于时间的恢复,所有的表空间数据文件都应该恢复到同一个时间点上,因此,需要备份所有数据文件。图2.55 热备份所有文件C、继续插入测试数据,热备份后的数据,如果仅仅恢复备份,数据应该不存在,查看数据丢失之前的时间点,用于不完全恢复的时间参考。图2.54 继续创建测试数据D、删除测试数据表,关闭数据库,拷回热备份,启动到mount状态,根据时间点恢复。图2.55 E、重新以resetlogs方式打开数据库,查看丢失数据是否存在。图2.56 验证(2)基于改变scn的恢复基于改变scn号(system change number)的恢复可以将数据库不完全恢复到过去的某一个scm改变点,也常用于在误操作删除数据后,在备用机上将数据库恢复到删除scn之前,然后把表导出到正式的环境,挽回丢失的数据。图2.57 图2.58图2.59(3)控制文件损坏的恢复*单个控制文件被破坏由于数据库的三个控制文件都是相互备份的,因此,当损坏一个数据文件的时候,可以从另外的两个数据文件拷贝创建新的数据文件,名字相同即可。或者把pfile中控制文件的数量改变为两个,重新以pfile启动数据库图2.60图2.61*多个控制文件被破坏在很多个控制文件都被破坏的情况下,如果没有对控制文件做备份,那么只能通过重建控制文件生成。在创建控制文件的时候,应该很清楚的了解到每一个数据文件,日志文件的具体位置,确保在重建数据文件之后,数据库的正确性,并且,在重建控制文件的时,是不包含temp01.dbf数据文件的,只能在打开数据库后,进行temp表空间的重新建立,以达到temp表空间的使用。图2.62图2.63(4)日志文件损坏的恢复*正常关机情况下非当前联机日志文件被破坏正常关闭DB时缓存均已写盘,且logfile已归档,故仅需clear logfile 重新生成丢失的非当前日志文件即可,无数据丢失;若日志未归档,必须加unarchived参数,才会允许重新生成日志文件,并标志所有备份失效,应该重做全备份。图2.64图2.65*正常关机情况下当前联机(或所有)日志文件被破坏正常关闭DB时缓存均已写盘,且logfile已归档,因此仅需until cancel 取消系统查找当前联机日志,并且resetlogs重新生成对视的当前联机日志文件即可,无数据丢失。图2.66图2.67*DB运行时或非正常关机的情况下已归档active日志文件被破坏图2.68系统suggestion提示文件正确即可回车确认使用该文件进行重做,提示错误则可手工输入filename使用指定文件进行重做,这两种重做都是单步进行的,重做完本归档或者日志文件后,又会继续提示指定用来重做的下一个归档或日志文件,而auto则自动寻找所有归档或日志文件进行重做,非单步进行,后续归档或日志文件的重做无提示等待确认图2.69前一个归档或日志文件已经完成恢复重做,不再需要,且再次提示的用于后续恢复的归档文件是错误的而应该使用当前日志文件进行恢复,因此手工输入当前日志文件名进行恢复。因active日志已经被归档,因此oracle数据库可以到归档文件或者current日志文件中找到需要的数据,以进行实例恢复,次过程没有数据丢失,最后resetlogs用来重新生成已经丢失的归档active的日志文件。*DB运行时或非正常关机情况下未归档active或current日志文件被破坏图2.70图2.71图2.72因active/current日志并没有被归档,所以数据库没办法到归档日志中找到需要数据进行数据库的实例恢复,数据文件在没有归档active或current日志文件上不一致,并且没办法使用已经丢失的没有归档文档active或当前日志文件把数据文件重做到一致的时间点上,只可以通过全备份进行不完全恢复,将所有数据文件时间点重做到最后一个可用日志文件中的最后一条重做记录处,其后丢失的未归档active或当前日志文件通过resetlogs重新生成而未进行重做,故有数据丢失,但数据仍一致的,所有数据文件均处于最后一个日志文件中最后一条重做记录所对应的时间点处。*DB运行时或非正常关机情况下未归档active或current日志文件被破坏(无备份)图2.73图2.74图2.75图2.76因current/active日志并没有归档,因此数据库没办法到归档日子文件中找到需要的数据进行实例恢复,数据文件在没有归档active或current当前日志文件上是不一致的,并且没有全备份重做恢复到相同的时间点上面,只能通过设置_allow_resetlogs_corruption=true隐含参数,并resetlogs重新生成丢失的未归档active或current日志文件,使数据库在不一致情况下启动以便备出数据,这种操作会有数据丢失。第四章 总结保证oracle数据库的安全是系统安全的重要组成部分,必须要设计完善的数据库备份和恢复方案。Oracle提供的各种工具结合起来使用能够使数据库的备份和恢复变得简单。在实际的oracle数据库的备份和恢复中,会有许多不同的和复杂的情况出现,针对不同的情况,要本着使数据具有最大的可恢复性和恢复时间最短的原则去进行数据库的恢复,这需要大量的实验和经验积累。参考文献1 Thomas Kyte.Expert One-on-OneM.Apress,2003.82 Benjamin Rosenzweig ,Elena Silvestrova Rakhimov.Oracle PLSQL实例精解第4版M.Prentice Hall PTR,2009.63 Thomas Kyte.Expert Oracle Database Architecture 2nd EditionM.Apress,2010.74 Administrators Guide.oracle公司5 Backup and Recovery Advanced Users Guide.oracle公司6 Backup and Recovery Basics.oracle公司7 李丙洋.涂抹oracle-三思笔记之一步一步学oracleM中国水利水电出版社,2010.18 Karen Morton.Oracle SQL高级编程M.人民邮电出版社,2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 手工纸浆料纤维热处理工艺考核试卷及答案
- 水工闸门运行工测试考核试卷及答案
- 小麦淀粉稳定工艺考核试卷及答案
- 火工品管理工突发故障应对考核试卷及答案
- 通信网络管理员技能比武考核试卷及答案
- 九年级化学第六单元控制燃烧第1节燃烧与灭火练习试题以及答案(适合鲁教版)
- 原画技术面试题及答案
- 服装加工协议
- 银行资格考试题及答案
- 银行运营面试题及答案
- 2025全新劳动合同范本
- 2026年中考语文专项复习:新闻考点+答题方法知识点 讲义(含练习题及答案)
- 病房环境清洁与消毒PDCA课件
- 【《A公司电线电缆产品营销策略浅析》5800字(论文)】
- 公司注册登记培训课件
- 2025 年小升初上海市初一新生分班考试语文试卷(带答案解析)-(人教版)
- 企业反恐怖安全风险评估报告
- 26个字母卡片大小写A4打印-版
- 博物馆反恐安全知识培训课件
- 儿科高危药品与急救药品管理指南
- 《电机与拖动基础》课件(共十一章)
评论
0/150
提交评论