Oracle数据库备份方案_第1页
Oracle数据库备份方案_第2页
Oracle数据库备份方案_第3页
Oracle数据库备份方案_第4页
Oracle数据库备份方案_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Oracle数据库备份方案一 前言如同社会总会有不公平、人总会犯错误、程序总会有BUG一样,数据库出现问题是不可避免的,好的备份是项目成功应用的关键。从独立的硬盘保存备份文件、主机与从机同步(DATA GUARD)到多实例单数据库的负载平衡(RAC),按照不同的需求对应不同级别的技术,但其根本就是数据的冗余,用人力和物力来提高数据可用性。二 备份恢复工具简介1,常用的imp/exp工具 我们常用的imp/exp工具是由Oracle提供的用于在客户端把数据导出到dmp文件,进行数据转移和保存的方法,是逻辑备份。在11gR2中已经废弃exp,保留imp,相关操作由数据汞(Data Pum

2、p)的impdp/expdp代替。优点为: 1,  使用简单。 2,  可以指定导出某个逻辑对象(整个数据库或用户或表)缺点为: 1,  不能进行完全恢复(Complete Recovery) 2,  只能备份数据文件(Data File) 3,  全库导出对数据库压力较大 4,  占用空间较大 2,恢复管理器(RMAN)        由Oracle提供的专业的备份与恢复工具,是物理备份。     

3、60; 优点为: 1,  可以进行完全恢复与不完全恢复 2,  可以备份所有数据库文件(控制文件,服务器参数文件,归档日志文件,数据文件) 3,  具有功能强大的控制能力和脚本编写语言 4,  支持在线热备份 5,  支持多级增量备份 6,  支持并行备份,恢复 7,  减少备份数据量(压缩、块级备份) 8,  可将文件备份到磁盘或磁带 9,  支持在线块级别恢复10,可以限制速率,减少备份中对系统的造成的影响11,等等。三 配置RMAN 1,配置归档(ARCHIVELOG)模式数据库在装载(M

4、OUNT)模式下执行下列操作开启归档模式SQL> ALTER DATABASE ARCHIVELOG; 将数据库置于归档模式可防止重做日志在归档之前被覆盖。如果处于非归档(NOARCHIVELOG)模式,数据库只能恢复到上一次备份的时间,到当前时间的之间的数据变更都会丢失。 2,配置控制文件自动备份RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;RMAN的相关信息保存在控制文件中(非CATALOG模式),如果控制文件丢失而又没有备份的话,会给数据库的恢复造成很大困难 3,配置控制文件记录保持时间SQL> ALT

5、ER SYSTEM SET CONTROL_FILE_RECORD_KEEP_TIME=45;设置RMAN备份信息保存在控制文件中的时间,要大于等于保留策略的恢复窗口。 4,配置保留策略的恢复窗口RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 31 DAYS;备份文件超过这个日期时RMAN会标记为已不用(OBSOLETE): RMAN> REPORT OBSOLETE;数据库中的文件超过这个日期时RMAN会报告需要备份:RMAN> REPORT NEED BACKUP; 5,设定默认保

6、存备份文件的路径RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'D: /BACKUP/%U' 6,启用快速增量备份在9i中,RMAN进行增量备份要扫描所有数据文件,找出发生变更的数据块,然后进行备份。在10g中,增加了一个新特性-块更改跟踪(Block Change Tracking),会把发生变更的数据块记录在一个跟踪文件内,这样就避免了增量备份时对数据库的全面扫描。SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE 'D:/BA

7、CKUP/BLOCK_CHANGE_TRACKING.TRC' 7,配置RMAN使用优化(OPTIMIZATION)模式RMAN> CONFIGURE BACKUP OPTIMIZATION ON;开启优化模式RMAN会自动跳过满足某些条件的文件,实验表明,优化模式可以提高10%左右的性能 8,配置RMAN使用压缩备份集RMAN> CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1;在10g中RMAN增加了一个新特性-压缩备份集,能够使备份集减少到原来的

8、1/5或1/6,代价是增加10%左右的CPU消耗,可以根据实际情况选择使用。条件允许的话(多物理硬盘、多CPU)还可以用上面命令设定并行备份四 多级备份策略       采用多级备份是为了减少了恢复所需要的时间和减少每天备份所需要的时间,而又保证系统有很好的恢复性。但是在恢复时间和备份时间要有一个权衡。比如只要开始的一个全备份和备份所有产生的归档文件就可以保证把数据库恢复到最新的状态,但是一般来说实际上并不会这么进行(因为在恢复时将需要很长很长的时间),多级备份就是为了解决这样的问题。以下是一种建议的方案。 每个月做一次零级

9、备份每个星期做一次一级增量备份每天做一次一级差异备份当需要时(如不到二十四个小时归档文件系统就要满了)备份归档文件 1,零级备份脚本RMAN> RUN ALLOCATE CHANNEL 'DEV1' TYPE DISK;ALLOCATE CHANNEL 'DEV2' TYPE DISK ;ALLOCATE CHANNEL 'DEV3' TYPE DISK ;BACKUP INCREMENTAL LEVEL 0 TAG 'LV0' FORMAT 'D:/ORACLE/BACKUP/%U' DATABA

10、SE PLUS ARCHIVELOG DELETE ALL INPUT;DELETE NOPROMPT OBSOLETE;RELEASE CHANNEL DEV1;RELEASE CHANNEL DEV2;RELEASE CHANNEL DEV3; 2,一级增量备份脚本RMAN> RUN ALLOCATE CHANNEL 'DEV1' TYPE DISK ;ALLOCATE CHANNEL 'DEV2' TYPE DISK ;ALLOCATE CHANNEL 'DEV3' TYPE DISK ;BACKUP INCREMENTAL

11、 LEVEL 1 CUMULATIVE TAG 'LV1C' FORMAT 'D:/ORACLE/BACKUP/%U' DATABASE PLUS ARCHIVELOG DELETE ALL INPUT;RELEASE CHANNEL DEV1;RELEASE CHANNEL DEV2;RELEASE CHANNEL DEV3; 3,一级差异备份脚本RMAN> RUN ALLOCATE CHANNEL 'DEV1' TYPE DISK ;ALLOCATE CHANNEL 'DEV2' TYPE DISK ;ALLO

12、CATE CHANNEL 'DEV3' TYPE DISK ;BACKUP INCREMENTAL LEVEL 1 TAG 'LV1D' FORMAT 'D:/ORACLE/BACKUP/%U' DATABASE PLUS ARCHIVELOG DELETE ALL INPUT;RELEASE CHANNEL DEV1;RELEASE CHANNEL DEV2;RELEASE CHANNEL DEV3; 4,归档文件备份脚本RMAN> RUN ALLOCATE CHANNEL 'DEV1' TYPE DISK ;A

13、LLOCATE CHANNEL 'DEV2' TYPE DISK ;ALLOCATE CHANNEL 'DEV3' TYPE DISK ;BACKUP FILESPERSET 3 ARCHIVELOG ALL DELETE INPUT;RELEASE CHANNEL DEV1;RELEASE CHANNEL DEV2;RELEASE CHANNEL DEV3; 则每天所需要备份的数据量只有一天的改变量。而做恢复时最多只要恢复当月的一个零级备份+三个一级增量备份+6个一级差异备份+当天的归档文件。如果不能接受这样的恢复时间,就只能够减少零级备份之间的时间

14、间隔(如可以每个星期做一个零级备份,这样恢复时最多只需要恢复一个星期的数据量)。对于负载极低的系统甚至可以半年做一次零级备份五 管理RMAN通过RMAN的REPORT,LIST,CROSSCHECK,DELETE命令可以对RMAN进行管理。 1,如果手动删除了备份文件的话,需要执行交叉检验让RMAN进行同步。RMAN> CROSSCHECK BACKUP;RMAN> CROSSCHECK ARCHIVELOG ALL;交叉检验后RMAN会把已经被手动删除的备份文件的状态设置为过期(EXPIRED)。 2,报告已不用(OBSOLETE)和过期(EXPIRED)的备

15、份文件。       RMAN> REPORT OBSOLETE;       RMAN> LIST EXPIRED BACKUP; 3,删除已不用(OBSOLETE)和过期(EXPIRED)的备份文件。       RMAN> DELETE OBSOLETE;       RMAN> DELETE EXPIRED BACK

16、UP;六 使用RMAN进行恢复       RMAN 的整个恢复过程可以分为还原(RESTORE)与恢复(RECOVER),他们在含义上是有很大差别的,一个是指物理意义的文件的还原与拷贝,一个是指数据库一致性的恢复。 数据库的的恢复比较复杂,有许多不同的情况,必须在了解ORACLE数据库结构的条件下用不同的方法进行处理。下面只列出最普通的恢复情况。恢复整个数据库之前必须让数据库处于状态的状态(MOUNT)状态。SQL> STARTUP MOUNT;然后执行RMAN命令进行还原和恢复。 1,完全恢复1.1,恢复

17、整个数据库RMAN>RUN ALLOCATE CHANNEL 'DEV1' TYPE DISK;ALLOCATE CHANNEL 'DEV2' TYPE DISK;ALLOCATE CHANNEL 'DEV3' TYPE DISK;RESTORE DATABASE;RECOVER DATABASE;RELEASE CHANNEL DEV1;RELEASE CHANNEL DEV2;RELEASE CHANNEL DEV3; 1.2,恢复指定表空间或数据文件       在

18、恢复该表空间之前让该表空间处于脱机的状态(OFFLINE状态)。       SQL> ALTER TABLESPACE TBS OFFLINE;       然后通过RMN进行恢复。       RMAN> RUN ALLOCATE CHANNEL 'DEV1' TYPE DISK ;ALLOCATE CHANNEL 'DEV2' TYPE DISK ;ALLOCATE

19、CHANNEL 'DEV3' TYPE DISK ;RESTORE TABLESPACE TBS ;RECOVER TABLESPACE TBS ;RELEASE CHANNEL DEV1 ;RELEASE CHANNEL DEV2 ;RELEASE CHANNEL DEV3 ; 2,不完全恢复不完全恢复情况比较复杂,大致分一下四类。 1,  基于时间的恢复(Time-based recovery) 2,  基于撤销的恢复(Cancel-based recovery) 3,  基于改变的恢复(Change-based recovery)

20、4,  日志序列恢复(Log sequence recovery) 3,块级别的恢复       RMAN可以在线对逻辑损坏的数据块进行恢复而不影响数据库的运行。       RMAN> BLOCKRECOVER DATAFILE 6 BLOCK 3;七 使用FLASHBACK进行快速恢复 发生以下类型的错误时,通常需要使用备份执行恢复: 介质故障:因数据库文件的物理问题而导致无法读写该文件 用户错误:数据库中的数据被误更改或误删除使用RMAN进行介质故障恢复,使用FLASHBACK进行用户错误恢复。 1,9i中的FLASHBACK:查询数据库的SCN变化情况SQL> SELECT NAME,FIRST_CHANGE# FSCN,NEXT_CHANGE# NSCN,FIRST_TIME FROM V$ARCHIVED_LOG;获得当前SCNSQL> SELECT DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER FSCN FROM DUAL;创建恢复表,选择恢复到合适的SCNSQL> INSERT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论