ImageVerifierCode 换一换
格式:DOC , 页数:11 ,大小:66.50KB ,
资源ID:433169      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-433169.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(oracle-rman备份详细讲解.doc)为本站会员(天天快乐)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

oracle-rman备份详细讲解.doc

1、数据备份与恢复通过本章的学习,要求学员掌握以下内容:1、 大致了解 ORACLE 的备份方式。2、 了解如何配置 RMAN。3、 了解如何部署备份策略4、 如何实现一般的还原和恢复1 备份概述1.1 概述所谓备份,就是把数据库复制到转储设备的过程。其中,转储设备是指用于放置数据库拷贝的磁带或磁盘。通常也将存放于转储设备中的数据库的拷贝称为原数据库的备份或转储。ORACLE 数据库的备份分为物理备份和逻辑备份两种。物理备份是将实际组成数据库的操作系统文件从一处拷贝到另一处的备份过程,通常是从磁盘到磁带。可以使用 Oracle 的恢复管理器(Recovery Manager,RMAN)或操作系统命

2、令进行数据库的物理备份。逻辑备份是利用 SQL 语言从数据库中抽取数据并存于二进制文件的过程。Oracle 提供的逻辑备份工具是 EXP。数据库逻辑备份是物理备份的补充, 对于逻辑备份来说,时间点恢复是不可能的,逻辑备份通常不会用作产品数据库备份与恢复计划的部分。1.2 数据库运行方式在说明 ORACLE 备份方式之前,应大致了解一下 ORACLE 数据库的运行方式。ORACLE 数据库有两种运行方式:一是归档方式(ARCHIVELOG) ,归档方式的目的是当数据库发生故障时最大限度恢复数据库,可以保证不丢失任何已提交的数据;二是不归档方式(NOARCHIVELOG),只能恢复数据库到最近的回

3、收点(冷备份或是逻辑备份) 。根据数据库的高可用性和用户可承受丢失的工作量的多少,对于生产数据库,强烈要求采用为归档方式;那些正在开发和调试的数据库可以采用不归档方式。 在创建数据库时,就可以设置数据库初始的存档方式。一般情况下默认为NOARCHIVELOG 方式。当数据库创建好以后,根据我们的需要把需要运行在归档方式的数据库改成 ARCHIVELOG 方式。 方法如下:1改变不归档方式为为归档方式 (1)关闭数据库,备份已有的数据,改变数据库的运行方式是对数据库的重要改动,所以要对数据库做备份,对可能出现的问题作出保护。 (2)修改初试化参数,使能自动存档 修改(添加)初始化文件 initS

4、ID.ora 参数: log_archive_start=true #启动自动归档 log_archive_format=ARC%T%S.arc #归档文件格式 log_archive_dest=/arch12/arch #归档路径 在 9i 中,可以最多有 10 个归档路径,并可以归档到其它服务器,如备用数据库(standby database)服务器 (3)启动 Instance 到 Mount 状态,即加载数据库但不打开数据库: $sqlplus “/as sysdba” SQLstartup mount (4)发出修改命令 SQL alter database archivelog;

5、SQLalter database open; 2改变归档状态为不归档状态 与以上步骤相同,但有些操作不一样,主要是在以上的(2)操作中,现在为删除或注释该参数,在 d 操作中,命令为 SQL alter database noarchivelog; 2 操作系统备份操作系统备份有两类,冷备份(Cold backup)与热备份(Hot backup) ,操作系统备份与逻辑备份有本质的区别。逻辑备份提取数据库的数据内容,而不备份物理数据块。而操作系统备份则是拷贝整个的数据文件。 1冷备份 冷备份在文件级备份开始前数据库必须彻底关闭。关闭操作必须用带有normal、 immediate、trans

6、action 选项的 shutdown 来执行。 数据库使用的每个文件都被备份下来,这些文件包括: 所有数据文件 所有控制文件 所有联机 REDO LOG 文件 INIT.ORA 文件(可选) 作冷备份一般步骤是: (1) 正常关闭要备份的实例(instance); (2) 备份整个数据库到一个目录 (3) 启动数据库 如果利用脚本对数据库进行冷备份,必须对关闭数据库的命令进行逻辑检查,如果发生关闭数据库的命令不能正常执行而导致数据库没有正常关闭,那么,所有的冷备份将会是无效的。 2热备份 热备份是当数据库打开并对用户有效是的操作系统级的数据备份。热备份只能用于ARCHIVELOG 方式的数据

7、库。在数据文件备份之前,对应的表空间必须通过使用 ALTER TABLESPACE BEGIN BACKUP 以备份方式放置。然后组成表空间的数据文件可以使用类似冷备份的操作系统命令进行拷贝。在数据文件用操作系统命令拷贝后,应使用ALTER TABLESPACE END BACKUP 命令使表空间脱离热备份方式。 热备份没有必要备份联机日志,但必须是归档状态,在实例恢复的时候,可能需要用到归档日志。当前联机日志一定要保护好或是处于镜相状态,当前联机日志的损坏,对于数据库的损坏是巨大的,只能以数据的丢失来进行数据库的恢复工作。 对于临时表空间,存放的是临时信息,在热备份是也可以考虑不用备份,如果

8、临时文件发生故障,可以删除该数据文件与表空间,重建一个临时表空间。 热备份的优点是显而易见的 : 可在表空间或数据文件级备份,备份时间短。 备份时数据库仍可使用。 可达到秒级恢复(恢复到某一时间点上) 。 可对几乎所有数据库实体作恢复。 恢复是快速的,在大多数情况下在数据库仍工作时恢复。 一般热备份的时候,用户还在操作数据库。为了不影响用户正常工作,最好使每个表空间处于备份状态的时间最短,这样就要求一个表空间一个表空间的备份,不要使表空间一起处于备份状态而同时拷贝数据文件。 如果在热备份的时候如果数据库中断(如断电) ,那么在重新启动数据库的时候,数据库将提示有数据文件需要恢复,你需要把正在断

9、电时候的处于备份状态的数据文件通过ALTER TABLESPACE END BACKUP 结束备份方式。具体哪个数据文件或表空间处于备份状态,可以通过 v$backup 与 v$datafile 来获得。3 恢复管理器备份(RMAN)Recovery manager(RMAN)是 ORACLE 提供的 DBA 工具,用于管理备份和恢复操作。RMAN 只能用于 ORACLE8 或更高的版本中。它能够备份整个数据库或数据库部件,其中包括表空间、数据文件,控制文件和归档文件。RMAN 可以按要求存取和执行备份和恢复。 RMAN 备份有如下优点 支持在线热备份 支持多级增量备份 支持并行备份、恢复 减

10、少所需要备份量 备份、恢复使用简单 重要的是,使用恢复管理器允许您进行增量数据块级的备份(这个与导出/导入的增量截然不同) 。增量 RMAN 备份是时间和空间有效的,因为他们只备份自上次备份以来有变化的那些数据块。另一个空间有效的 RMAN 特性是它只备份数据文件中使用的数据块,忽略空的、未用的数据块,这个对于预分配空间的表空间有很大的好处。从 9i 开始,还增加了 RMAN 的数据块级别的恢复,可以进一步减少数据库恢复时间。 RMAN 支持以下不同类型的备份 FULL 数据库全备份,包括所有的数据块 INCREMENTAL 增量备份,只备份自上次增量备份以来修改过的数据块。需要一个 0 级的

11、增量作为增量的基础,可以支持 5 级增量。 OPEN 在数据库打开的时候使用 CLOSED 在数据库加载 (MOUNT)但不打开的时候备份,关闭备份可以是 CONSISTENT 或 INCONSISTENT 类型的。 CONSISTENT 在数据库加载但不打开,并且在加载之前数据库被彻底关闭(而不是被破坏或异常退出)时使 CONSISTENT 备份可以简单的进行复原(RESTORE)而不是恢复(RECOVER) INCONSISTENT 在数据库打开或加载(但不打开)时使用。在该数据库正常关闭或崩溃后,INCONSISTENT 备份需要恢复。 从上面各种备份方式来看,由于 RMAN 是数据块级

12、别的备份,而操作系统下的备份是文件级的备份。这样使得恢复管理器(RMAN)备份无论是在空间和时间上相对于操作系统备份都具有明显的优势。另外,对于操作系统的备份来说,DBA 自己动手编写脚本,在无法预知的情况下,脚本的维护、管理及稳定性都很难得到完全的保证。而对于 RMAN,只要理解了 BACKUP,RESTORE,RECOVER 这三个最基本的命令,就可以进行数据库的备份,复原以及恢复操作。用户管理(操作系统)和服务器管理的备份与恢复之间的根本不同之处是:对用户管理的操作,DBA 必须知道需要备份什么以及需要还愿和恢复什么;而对于服务器管理的操作,RMAN 将通过一个简单的接口决定需要备份什么

13、以及需要还原与恢复什么,大部分管理任务被省略或简单化了。以下的内容将介绍实现 RMAN 一般的备份策略及具体配置。4 备份策略RMAN 在备份数据时有两种操作的模式:增量式和完全式增量备份的级别是一个 0 到 4 之间的整数,增量备份时,数据检查点 SCN 存储在目标数据库控制文件中,随后的增量备份决定了需要拷贝哪些与以前的增量备份级别相关而且发生在 SCN 时间的数据块,备份级别 0 时全集备份级别。是其它级别增量拷贝的基准。增量备份又分为差异型备份和累积型备份:差异型备份拷贝所有在最近同级或低级增量备份以来所有改动的数据块。 (ORACLE 默认的增量备份类型);累积型备份拷贝所有在最近低

14、级增量备份以来改动的数据块。 (包括了最近同级备份时改动的数据块) 。选择差异型备份还是选择累积型备份是从备份时的大小、速度与还原时的速度的重要性来衡量。完全备份和增量备份级别 0 一样,但不是增量备份,不能作为其他增量备份的基准。典型的备份部署方案一般是在周末进行增量级别为 0 的备份。然后,在整个星期内,需要进行不同的级别 1 或 2 的备份。这样每周循环可以使每一周都有一个基准增量备份以及每周内的少量增量备份。具体如下:(脚本文件请参考附件)星期天 0 级别备份(运行 b_whole_inco.rcv 脚本)星期一 2 级别备份(运行 b_whole_inc2.rcv 脚本)星期二 2

15、级别备份(运行 b_whole_inc2.rcv 脚本)星期三 2 级别备份(运行 b_whole_inc2.rcv 脚本)星期四 1 级别备份(运行 b_whole_inc1.rcv 脚本)星期五 2 级别备份(运行 b_whole_inco.rcv 脚本)星期六 2 级别备份(运行 b_whole_inco.rcv 脚本)有了这个累积增量备份部署,就可用至少三个备份集来进行还原和恢复工作。当为归档日志文件部署备份策略时,必须绝对确保已经获得了每个备份的归档日志文件的至少一个(最好多个)拷贝。还必须清理归档日志的目的地以防止写满文件系统以及中断数据库操作,RMAN 有一个比较谨慎的部署选项

16、DELETE INPUT,可以在对备份了归档日志进行删除。下面的归档日志备份策略在删除输入之前已经为每个归档日志文件做了三份拷贝。(1) 在新的备份策略的前一两天内对目标数据库运用 ARCHIVELOG ALL 选项以实现为 所有已经存在的归档日志文件做基准备份。 (运行 b_archive.rcv)(2) 每天为包括有最近两天的重做的所有已经存在的归档日志文件做备份(运行 b_archive_2days.rcv) 。(3) 每天为包括有从五天以前到前两天的重做日志文件进行备份(运行b_archive_delete3.rcv)有了上述的备份部署,就可以将数据库恢复到以前的任何一个时刻。但在实际

17、的生产系统中,很少会有将系统恢复到以前的已经过去了很长一段时间的某一个时刻,应该根据实际的需求来决定保留多长时间的备份,如假设只要求数据库能恢复到 21 天内的某一个时刻,那么只需保留最近 21 天内的备份即可。21 天前的备份可以删除,或转储到别的位置。5 备份部署当用 RMAN 进行备份时, RMAN 要把备份的相关信息(如什么时间进行的备份、备份了哪些文件、备份到什么位置等)进行存储,根据对这些信息存储位置的不同,RMAN的运行模式分为如下两种: NOCATALOG 模式:这种模式下将备份信息存在备份的目标数据库的控制文件中。 CATALOG 模式:这种模式下单独创建一个 Oracle

18、数据库,将备份信息存在此独立的.数据库中(此时独立的数据库称为目录数据库,即 Catalog database) 。出于高效和管理方便的,决定采用的是 CATALOG(目录)模式备份。当用 RMAN 部署一个恢复目录时,需要将目录保存在与注册在其中的任何一个目标数据库都不同的数据库和机器上(防止当目标数据库崩溃时,目录数据库也不可用的情况) ,也可以使用一个产品数据库作为其他产品数据库的目录数据库。但必须注意,目录数据库的版本和目标数据库的版本必须一致。确定目录数据库后,在 tnsnames.ora 中配置目录数据库到目标数据库的连接。tnsnames.ora 位于$ORACLE_HOME/n

19、etwork/admin 中,配置情况如下:SKGL204 = #到目标数据库的连接名,可自己设置(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.204)(PORT = 1521)#目标数据库的 IP,可也是机器名)(CONNECT_DATA =(SERVICE_NAME = skgl)#与目标数据库的 inti.ora 文件中的参数 service_names 同)配置连接后,在目录数据库上,执行如下命令:1. 创建表空间,用于存储备份信息。SQLCREATE TABLESPACE rmant

20、bs DATAFILE /oradata/catdb1/rmantbs01.dbf SIZE 32M;表空间名和路径根据自己的情况重新设置。2. 创建用户,用于管理备份信息。SQLCREATE USER rmanadm IDENTIFIED BY rmanadm DEFAULT TABLESPACE rmantbsTEMPORARY TABLESPACE temp ;RMAN 用户名和密码;根据自己的情况重新设置3. 授权。SQLGRANT CONNECT,RESOURCE,RECOVERY_CATALOG_OWNER TO rmanadm;4. 创建恢复目录。$rman CATALOG rm

21、anadm/rmanadmRMANCREATE CATALOG;5. 注册目标数据库。$rman CATALOG rmanadm/rmanadm TARGET SYS/SYStargetDBRMANREGISTER DATABASE;配置好目录数据库后,便可以部署备份策略了。首先来看 bak_scripts 目录下的脚本文件:b_whole_inc0.rcv(文件名)(用于基准备份)1 connect.rcv2 run3 allocate channel d1 type disk;4 backup incremental level = 0 database5 format /oradata/

22、PRACTICE/backup/ch12/db_%d_%s_%p_%t6 tag = WHOLE_INC0;7 release channel d1; 8 (1.8 为行号,另行加上的,便于说明)第 1 行的 connect.rcv 是同目录下的另一脚本文件,内容如下:connect target sys/change_on_installskgl204connect catalog rmanadm/rmanadmsw1hnm1用于连接目标数据库和目录数据库,用户名、密码和服务名根据前面定义的情况重新设置。另外需要设置的是第 4 行带下划线的部分,为目标数据库上用于存储备份文件的路径,可根据目

23、标数据库的情况自行设置。设置好的路径必须在目标数据库上实际存在,否则备份不能成功。b_whole_inc1.rcv,b_whole_inc2.rcv,b_archive.rcv,b_archive_2days.rcv,b_archive_delete2.rcv 都需同样的设置。 (见安装包 bak_scripts 下的文件)b_whole_inc0.sh,b_whole_inc1.sh,b_whole_inc2.sh,b_archive.sh,b_archive_2days.sh,b_archive_delete3.sh(见安装包 bak_scripts 下的文件)是用于部署在 unix 系统

24、上的命令文件b_whole_inc0.sh 内容如下:$ORACLE/HOME/bin/rman cmdfile=/bak_scripts/b_whole_inc0.rcvlog=/temp/b_whole_inc0.log为放置 bak_scripts 文件夹的路径,设置完所有文件之后,使用 chmod 将这些文件修改为可执行文件,将便可用 crontab 部署这些命令文件。步骤如下:以 oracle 用户登陆 ,定位在 bak_scripts 目录下$chmod u+x b_whole_inc0.sh #其他文件类似$crontab e#min hour date month day co

25、mmand0 1 * * 0 /b_whole_inc0.sh #Sunday0 1 * * 1 /b_whole_inc2.sh #Monday0 1 * * 2 /b_whole_inc2.sh #Tuesday0 1 * * 3 /b_whole_inc2.sh #Wednesday0 1 * * 4 /b_whole_inc1.sh #Thursday0 1 * * 5 /b_whole_inc2.sh #Friday0 1 * * 6 /b_whole_inc2.sh #Saturday0 2 * * * /b_archive_2days.sh #Every Day30 2 * *

26、* /b_ archive_delete3.sh #Every Day执行时间可重新设置。注意:必须使第一次运行的备份脚本为 b_whole_inc0.sh,其他的增量备份都是以 0 级增量备份为基准的,如果第一次运行的为其他脚本,那么至少前几天的备份是无效的,只能等到下一次循环到 b_whole_inc0.sh 脚本时,备份才重新生效。b_whole_inc0.bat,b_whole_inc1.bat,b_whole_inc2.bat,b_archive.bat,b_archive_2days.bat,b_archive_delete3.bat(见安装包 bak_scripts 下的文件)

27、是用于部署在 windows 系统上的命令文件b_whole_inc0.bat 内容如下:rman cmdfile=/bak_scripts/b_whole_inc0.rcv log=c:/temp/b_whole_inc0.log设置为 bak_scripts 文件夹所在的路径,设置完所有文件后,便可用 at 命令部署这些批处理文件。在 windows 的 cmd 窗口执行下列命令:at 1:00 /every:Sunday cmd /c /b_whole_inc0.batat 1:00 /every:Monday cmd /c /b_whole_ inc2.batat 1:00 /ever

28、y:Tuesday cmd /c /b_whole_ inc2.batat 1:00 /every:Wednesday cmd /c /b_whole_ inc2.batat 1:00 /every:Thursday cmd /c /b_whole_inc1.batat 1:00 /every:Friday cmd /c /b_whole_inc2.batat 1:00 /every:Saturday cmd /c /b_whole_inc2 .batat 2:00 cmd /c /b_archive_2days. batat 2:30 cmd /c /b_ archive_delete3. bat至此,所有的备份策略便部署完毕。6 还原和恢复数据库的恢复分完全恢复和不完全恢复。完全恢复一般在实例崩溃后,恢复到最近的现场,一般操作如下:C: rman target sys/change_on_installskgl204 catalog rmanadm/rmanadmRMANRUNSHUTDOWN IMMEDIATE;STARTUP MOUNT;RESTORE DATABASE;RECOVER DATABASE;

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报