[Oracle数据库]使用RMAN备份与还原数据库原理
- 格式:docx
- 大小:66.66 KB
- 文档页数:8
Oracle 使用RMAN 备份数据库文件和归档日志当数据库打开时,可以使用RMAN BACKUP 命令备份如下对象:● 数据库● 表空间● 数据文件● 归档重做日志● 控制文件● 备份集在使用BACKUP 命令备份数据文件时,可以为其设置参数,定义备份段的文件名,文件数和每个输入文件的通道。
1.备份数据库如果备份操作是在数据库被安全关闭之后进行的,那么对整个数据库的备份是一致的;与之相对应,如果数据库是在打开状态下对整个数据库进行的备份,则该备份是非一致的。
非一致性备份整个数据库的操作步骤如下:(1)启动RMAN 并连接到目标数据库,输入BACKUP DATABASE 命令备份数据库。
在BACKUP 命令中可以指定FORMA T 参数,为RMAN 生成的每个备份片段指定一个惟一的名称,以及存储的位置。
C:\>rman target system/admin nocatalogRMAN> backup database format 'f:\oracle_backup\ora11g_%Y_%M_%D_%U.bak' maxsetsize=2G; 还可以为BACKUP 命令指定TAG 参数,为备份片段定义备份标签。
例如: RMAN>backup database tag='weekly_backup';(2)如果建立的是非一致性备份,那么必须在完成备份后对当前的联机重做日志进行归档,因为在使用备份恢复数据库需要使用当前重做日志中的重做记录。
RMAN>sql'alter system archive log current';(3)在RMAN 中执行LIST BACKUP OF DA TABASE 命令,查看建立的备份集与备份片段的信息。
RMAN> list backup of database;如果需要对整个数据库进行一致性备份,则首先需要关闭数据库,并启动数据库到MOUNT 状态。
rman备份原理
RMAN备份是Oracle数据库备份的一种方式,也是备份恢复管理器(Recovery Manager)的缩写。
RMAN备份是由Oracle官方提供的备份恢复工具,可以实现高效、可靠的备份和恢复操作。
RMAN备份具有以下特点:
1. 数据库在线备份:RMAN备份可以通过Oracle数据库的在线备份功能实现,在备份期间不会影响到数据库的正常运行。
2. 高效备份:RMAN备份具有高效率的备份功能,可以在短时间内完成大量数据的备份操作。
3. 增量备份:RMAN备份可以实现增量备份,只备份增加或修改的数据,从而节省备份存储空间。
4. 压缩备份:RMAN备份可以对备份数据进行压缩,从而减少备份存储空间。
5. 数据库恢复:RMAN备份可以实现快速、可靠的数据库恢复功能。
RMAN备份原理如下:
1. RMAN备份过程会首先创建一个RMAN备份集,并将备份的数据存放在该备份集中。
2. 在备份时,RMAN备份会在数据库中创建一个备份集的标识符,并将备份数据与该标识符相关联。
3. RMAN备份会通过Oracle数据库的复制机制将备份数据复制到备份集中。
4. RMAN备份会在备份集中创建元数据,包括备份时间、备份类型、备份集ID等信息,以便于备份的管理和恢复。
5. 当需要恢复数据库时,RMAN备份会通过备份集中的元数据来确定要恢复的数据,并将备份数据还原到数据库中。
总之,RMAN备份是一种高效、可靠的数据库备份方式,可用于实现快速、可靠的数据库备份和恢复操作。
oracle数据库rman备份计划及恢复1.rman完全恢复的前提条件:历史的datafile,controlfile和spfile备份,加上完整的archivelog和完好的redolog。
2.rman备份脚本: a.RMAN 0级备份命令:run{allocate channel c1 type disk;allocate channel c2 type disk;allocate channel c3 type disk;backup incremental level 0 tag 'level0' format "E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\RFDB_level_0_%u_%s_%p" as compressed backupset database;sql "alter system archive log current";backup filesperset 3 format "E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\arch_%u_%s_%p_%c"archivelog all delete input; #备份归档可选,可以单独定期备份release channel c1;release channel c2;release channel c3;} b.RMAN 1级备份命令:run{allocate channel c1 type disk;allocate channel c2 type disk;allocate channel c3 type disk;backup incremental level 1 tag 'level1' format 'E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\RFDB_level_1_%u_%s_%p' as compressed backupset database;sql 'alter system archive log current';backup filesperset 3 format 'E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\arch_%u_%s_%p'archivelog all delete input; #备份归档可选,可以单独定期备份release channel c1;release channel c2;release channel c3;} c.rman删除备份命令(在保留最近⼀天备份的情况下,删除其他备份):DELETE NOPROMPT OBSOLETE RECOVERY WINDOW OF 1 DAYS; d.操作系统层⾯运⾏rman备份或删除命令(windows/linux):rman target sys/rf4rfvbgt56yhn@rfdb nocatalog CMDFILE 'D:\app\rman\rman_file\level_0.txt' log=E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\log\rman_level_0.log export ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=/u01/app/oracle/product/11.2.0/db1export ORACLE_SID=atestexport PATH=$ORACLE_HOME/bin:$PATHrman target sys/123456@atest nocatalog CMDFILE '/u01/rman/rman.sh' log=/u01/rman/rman.log00 02 * * 1 bash /u01/rman_file/run_rman_0.sh00 02 * * 3 bash /u01/rman_file/run_rman_0.sh00 02 * * 5 bash /u01/rman_file/run_rman_0.sh00 04 * * * bash /u01/rman_file/run_delete.sh34 11 * * * bash /u01/rman_file/run_rman_0.sh e.rman参数设置:RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;RMAN> CONFIGURE DEFAULT DEVICE TYPE TO DISK;RMAN> CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE disk TO 2;RMAN> CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE disk TO 2;3.rman恢复a.拷贝datafile,controlfile和spfile的rman备份,以及完整的archivelog和完好的redolog⽂件到新的数据库。
Oracle数据库备份和恢复利器——RMAN一、引言数据是各类计算机应用系统的基础,不论是普通的企业级应用系统,还是学校、银行等各类网上服务系统,以及政府部门的电子政务系统等,数据永远是应用系统中价值最高、最为核心的内容,因此保证数据的高安全性成为各应用系统持续、不间断运行的基础。
然而,各种突发事件诸如网络威胁、硬件故障、火灾等,都使系统数据的安全性面临着巨大挑战。
为了应对突发事件引起的系统数据破坏,保证数据的安全性和完整性,需要对数据进行定期备份,从而在紧急情况下恢复备份数据使服务快速恢复。
数据备份通常分为逻辑备份和物理备份两种方式。
逻辑备份和物理备份两种方式的原理不同,因此需要不同的备份工具。
目前作为常见数据库之一的Oracle数据库,在数据备份和恢复上提供了多种灵活、方便的备份工具和方法。
逻辑备份工具主要有导入/导出(Import/Export)工具、数据泵等,物理备份工具就是Recover Manager(RMAN)。
对于Oracle数据库来说,目前市场上第三方备份软件都是通过调用RMAN接口实现的。
本文从保障系统数据安全的角度出发,首先分析了Oracle备份和恢复工具——RMAN的特点,然后介绍利用RMAN的功能,并建立合理备份方案,及故障时如何快速恢复数据库系统。
二、RMAN简介及其特点RMAN(Recovery Manager) 是Oracle数据库的一种物理备份和恢复工具,具有占用资源少、备份效率高、恢复速度快、支持在线备份和恢复等特点。
(一)RMAN采用数据块级备份,而不是数据文件级的备份。
块级备份将备份和恢复的最小单位从数据文件降到数据块,这对数据的备份和恢复都会带来明显的好处。
1.对备份而言,块级备份可以带来两个优势以有效减少备份量,提高备份效率。
首先是增量备份技术。
默认情况下Oracle会启动数据块更改跟踪特性,数据变更时,后台进程Change Tracking Writer(CTWR)将发生变化的数据块记录到名为“change tracking file”的文件中[1],这样增量备份无需读取整个数据文件,直接备份变更数据。
rman备份原理
RMAN备份原理是指使用OracleRecoveryManager(RMAN)进行数据库备份的基本原理和流程。
RMAN是Oracle数据库的官方备份工具,可提供高效、可靠、灵活的备份和恢复功能。
在RMAN备份过程中,需要进行以下几个步骤:
1. 连接到目标数据库
2. 配置备份参数,包括备份类型、备份路径、备份级别等
3. 执行备份命令,生成备份集,并将备份集存储在指定的备份存储介质中
4. 验证备份的完整性和可恢复性,可通过RMAN的“restore validate”命令进行验证
RMAN备份原理的核心是增量备份和归档日志文件的使用。
增量备份是指只备份发生变化的数据块,而归档日志文件是指记录数据库所有更新操作的文件。
通过增量备份和归档日志文件的结合使用,可以实现灵活的备份策略,并可以在数据损坏或丢失时进行快速恢复。
总之,RMAN备份原理是Oracle数据库备份和恢复的基础,了解和掌握RMAN备份原理对于数据库管理人员具有重要的意义。
- 1 -。
ORACLE数据库的备份与恢复差异增量备份就是备份往前第一个备份级别小于或等于当前备份级别开始到现在的变化。
累计增量备份就是备份往前第一个备份级别小于当前备份级别开始到现在的变化。
0级备份也就是全备份,但0级备份可以在此基础之上再进行备份,但全备份就不可以。
Oracle rman 备份一、数据库全备份方法(nocatalog)1 注意rman有两个,要执行db_1/bin下那个(可以通过修改oracle变量来达到)2 在执行ramn之前要确认当前数据库是否处理Archive Mode模式,并处于Enabled下查看方式:如果不是可以通过如下方式打开并修改:SQL>startup mountSQL>alter database archivelogSQL>alter database open3全备份数据库:A先连接数据库HERMINGB查看备份列表中是否有以前备份的文件C执行全数据库备份4备份完之后可以查看一下备份出来的文件信息:5备份文件存放路径为:二、0级数据库备份A 以nocatalog方式使用rmanB连接数据库C执行0级数据库备份注:全备份与0级备份的相同点是都是将数据库全部备份下来。
全备份与0级备份的不同点是全备份不能作为增量备份,而0级可以作为增量备份。
1级备份就在0级备份的基础上进行的。
三、1级增量备份(基于0级备份之上)总结:可以将备份出来的文件考到其他介质上进行保存,并进行删除。
如果要恢复时请将该文件放回到这文件夹下,并要保存文件名不变。
说明:口令文件因为可以重新设置,所以不用备份,重做日志文件不能在非nocatalog中备份。
四、备份archivelog(参数文件+数据文件+控制文件+归档日志文件)先备份完再删除归档备份五、备份表空间A 查看有哪些表空间B备份名为TBS1的表空间六、备份控制文件七、镜像备份说明:5为TBS1表空间的编号,及对TBS1表空间进行镜像备份。
oracle rman duplicate 原理
Oracle RMAN Duplicate原理是通过在目标数据库上创建一个
备份数据库的副本,并将源数据库的数据和架构复制到副本数据库中。
这种复制是通过备份集或增量备份来实现的,并将这些备份集或增量备份还原到副本数据库中。
以下是Oracle RMAN Duplicate的原理:
1. 创建备份集:使用RMAN备份源数据库,生成备份集文件。
备份集包含源数据库的数据文件、控制文件和归档日志文件。
2. 传输备份集:将备份集文件从源数据库传输到目标数据库,可以通过网络或其他介质进行传输。
3. 复制控制文件和参数文件:在目标数据库上创建一个空数据库,并使用源数据库的控制文件和参数文件进行初始化。
4. 还原数据文件:使用备份集中的数据文件还原目标数据库的数据文件。
可以选择全量还原或增量还原。
5. 还原归档日志文件:使用备份集中的归档日志文件还原目标数据库中缺失的归档日志。
6. 打开数据库:打开目标数据库,并使用RMAN应用归档日
志文件,将其还原到当前的时间点。
7. 完成复制:复制过程完成后,目标数据库将与源数据库具有
相同的数据和架构,可以用于备份恢复、灾难恢复或测试目的。
需要注意的是,Oracle RMAN Duplicate需要满足一些前提条件,如源数据库和目标数据库必须处于相同版本的Oracle数
据库,目标数据库必须具备足够的存储空间来存储复制的数据等。
另外,在进行Oracle RMAN Duplicate之前,必须确保源
数据库和目标数据库之间的网络连接正常,并且可以进行文件传输。
数据库rman备份恢复文档一.Rman简介RMAN是ORACLE提供的恢复和备份工具,是随Oracle效劳器软件一同安装的工具软件,它能够用来备份和恢复数据库文件、回档日志和操纵文件,用来执行完全或不完全的数据库恢复。
与传统工具相比,RMAN具有独特的优势:跃过未使用的数据块。
当备份一个RMAN 备份集时,RMAN可不能备份从未被写进的数据块,而传统的方式无法获知那些是未被使用的数据块。
RMAN使用Oracle特有的二进制压缩模式,与传统备份的压缩方式相比,能够最大程度地压缩数据块中的一些典型数据。
二.系统数据库备份文件不建议与系统盘〔C盘)、oracle数据文件存放盘〔D 盘〕存放在一起,本文单独存放于E盘。
注:在进行以下操作前要依据自己的环境建立如下名目“E:\orabackup\〞,“’E:\archivelog_backup〞,“E:/orabackup_script/〞。
本文用到的命令中的标点均为英文字符下的标点。
三.设置oracle数据库为回档模式(ARCHIVELOG)按以下步骤操作,检查oracle数据库是否为回档模式。
1.选择“开始〞→“系统〞→“运行〞,输进cmd,按回车。
2.输进“sqlplus〞,按回车。
3.输进“system/assysdba〞,按回车。
4.输进数据库system账号的密码,按回车。
5.查瞧数据库回档模式,输进“archiveloglist;〞,按回车。
如以如下面图所示。
要是“数据库日志模式〞为“非存档模式〞,那么需按照如下步骤开启回档模式:1.设置数据库日志回档路径。
输进“altersystemsetlog_archive_dest=’E:\archivelog_backup’scope=spfile;〞,按回车。
2.关闭数据库。
输进“shutdownimmediate;〞,按回车。
3.启动数据库到mount状态。
输进“startupmount;〞,按回车。
使用RMAN备份与还原Oracle数据库原理一、数据库备份概念对于Oracle数据库,备份方式包括物理备份和逻辑备份。
1、物理备份将实际组成数据库的操作系统文件从一处拷贝到另一处的备份过程,通常是从磁盘到磁带。
该方法实现数据库的完整恢复,但数据库必须运行在归档模式下(业务数据库在非归档模式下运行),且需要极大的外部存储设备,例如磁带库,具体包括冷备份和热备份。
冷备份和热备份是物理备份(也称低级备份),它涉及到组成数据库的文件,但不考虑逻辑内容。
使用RMAN备份与还原ORACLE数据库的方式,属于物理备份方法。
2、逻辑备份利用SQL语言从数据库中抽取数据并存于二进制文件的过程。
业务数据库采用此种方式,此方法不需要数据库运行在归档模式下,不但备份简单,而且可以不需要外部存储设备,包括导出/导入(EXPORT/IMPORT)。
这种方法包括读取一系列的数据库日志,并写入文件中,这些日志的读取与其所处位置无关。
二、RMAN备份方式使用RMAN备份Oracle数据库,包括以下三种备份概念。
1、完全备份(Full Backup)与增量备份(Incremental Backup)完全备份与增量备份是针对数据文件而言,控制文件和归档日志文件不能进行增量备份。
当然,后两者可以做备份优化。
2、打开备份(Open Backup)或关闭备份(Closed Backup)数据库打开状态下进行备份即是打开备份,数据库关闭状态下(加载状态)进行的备份即关闭备份。
3、一致备份(Consistent Backup)与不一致备份(Inconsistent Backup)数据库打开状态或不干净关闭状态(shutdown abort)进行的备份是不一致备份,利用不一致的备份修复数据库后还需要做数据库的恢复。
在数据库干净关闭状态进行的备份是一致备份,利用一致备份修复数据库后不需要做数据库的恢复。
三、备份策略由于数据库占据物理空间较大,每次都进行全库备份,对存储介质要求比较高,也会造成空间的冗余浪费,故而在实际的数据备份过程中,通常采用增量备份的方法。
rman备份原理
RMAN(Recovery Manager)是Oracle数据库备份和恢复的工具,使用RMAN备份可以快速恢复整个数据库或部分数据。
RMAN备份原理如下:
1. RMAN备份与传统文件系统备份不同,它将数据以Oracle块(Block)为单位备份,而非具体的数据文件。
2. RMAN备份时先创建备份集(Backup Set),备份集包含多个备份块(Backup Piece),每个备份块是一个独立的文件。
这些备份块被存储在磁盘或磁带中。
3.RMAN使用备份集来保存备份块,这样可以进行增量备份和差异备份。
4.RMAN备份支持全备、增量备和差异备份。
全备份备份所有数据,增量备份只备份上次全备份后发生改变的部分数据,差异备份备份上次差异备份后发生改变的部分数据。
5.RMAN支持增量恢复,增量恢复可以从最近的全备份开始,然后应用增量备份,将数据库恢复至最新状态。
6.RMAN备份还支持从磁带、网络存储设备和云存储设备进行备份和恢复。
rman原理RMAN即Recovery Manager,它是Oracle提供的用于备份和恢复数据库的工具。
下面我们来详细了解一下RMAN的原理。
一、备份RMAN的备份分为在线备份和离线备份两种。
在线备份是在数据库运行的同时备份数据库,而离线备份需要关闭数据库才能备份。
1. 在线备份原理在进行在线备份时,RMAN会先把被备份的数据文件标记为“备份使能”,然后创建一个备份集,将备份集的信息存储到控制文件中。
接着,RMAN会将需要备份的数据块读入内存,并生成一个输入流,将输入流和备份集的信息一起写入备份设备中。
最后,RMAN会将备份设备中的备份集的信息更新到控制文件中。
2. 离线备份原理离线备份需要先将数据库关闭,然后再备份数据库。
RMAN在备份时,会先读取控制文件中的信息,然后将所有数据文件读入内存,并生成一个输入流,将输入流写入备份设备中。
备份完成后,RMAN会将备份设备中的备份集的信息更新到控制文件中。
二、恢复恢复分为完全恢复和不完全恢复两种。
完全恢复是将数据库恢复到最后一次备份的状态,而不完全恢复则是将数据库恢复到指定的时间点或者将一些表空间或数据文件进行恢复。
1. 完全恢复原理完全恢复的原理是要满足两个条件:备份和日志。
首先,需要用备份来恢复到某一个时间点。
然后,将数据库日志应用到这个时间点之后,直至“恢复完成”为止。
在执行完备份后,通过RMAN恢复数据库到某一个时间点,RMAN 首先需要使用备份生成一个控制文件副本。
然后,使用REDOS文件将数据库恢复到指定的时间点。
继而,将REDO日志应用到指定时间点之后,最后检查数据库的一致性。
2. 不完全恢复原理不完全恢复的原理相对于完全恢复来说要简单一些。
即可以通过备份恢复,也可以通过RMAN将某一表空间或者数据文件进行恢复。
在进行不完全恢复时,需要先确认恢复的是表空间还是数据文件,并选择方式进行恢复。
如果是表空间的话,需要确定恢复的表空间中存在的数据文件和控制文件是否可以找到。
rman 分配通道原理RMAN(Recovery Manager)是Oracle数据库的备份和恢复工具。
在RMAN的工作中,通道(Channel)扮演着非常重要的角色。
通道是服务器进程发起并控制的目标数据库的文件与物理备份设备之间的字节流。
通道的工作原理主要分为三个阶段,分别是第一阶段“读”;第二阶段“复制”;第三阶段“写”。
通道的分配在RMAN中是自动完成的,大多数的RMAN命令执行时必须先手动或自动地分配通道。
一个通道必须要对应一个服务器进程(会话)。
通道中的设备则分为两种:DISK(磁盘)和SBT(串行备份磁带或又称系统备份至磁带,代表第三存储体)。
RMAN会为每个通道分配输出缓冲区,用于在数据溢出到备份片之前接受来自输入缓冲区的数据块。
在磁带上备份或恢复时,RMAN会为每个通道分配4个输出缓冲区,每个大小为256K,因此每个通道的内存区域通常为1M。
此外,RMAN的内存利用涉及到PGA(Program Global Area)和SGA (System Global Area)。
在磁盘上的备份会使用PGA内存作为备份缓冲区。
如果设置dbwr_io_slaves为任意的非零值,RMAN会自动分配4个I/O从属协调输入缓冲区内存中的数据块加载。
为实现此功能,RMAN磁盘备份的内存区会被推入SGA中的shared pool,如果SGA中有large pool,则被推入large pool。
默认情况下dbwr_io_slaves=0,所以磁盘备份默认使用PGA内存区。
如需更多关于RMAN的信息,建议咨询数据库专家或查阅数据库领域相关书籍文献。
RMAN的数据库还原与恢复摘要:介绍如何使用rman从备份文件中还原和恢复数据库。
恢复包括完全恢复和不完全恢复,在进行不完全恢复后需要使用resetlogs选项打开数据库。
rman是用数据库的服务器进程执行备份和恢复操作的cs结构应用程序。
关键词:恢复管理器还原恢复中图分类号:tp392 文献标识码:a 文章编号:11007-3973(2013)001-104-021 引言oracle数据库的可移植性好、功能强大,目前在煤炭行业占了很大的份额。
我们在使用数据库时,总希望它中的数据是可靠的、正确的,但由于计算机系统本身的故障会影响数据库中数据的正确性,甚至破坏oracle使它中全部或部分数据丢失。
因此当发生上述故障后,希望能有一种工具使oracle数据库快速方便地恢复到故障发生前的状态。
rman就是一种可以协助dba管理备份、还原和恢复oracle数据库的工具,本文就是对用rman进行oracle数据库恢复的介绍。
2 rman的概念rman(恢复管理器)是一种用于备份、还原和恢复数据库的工具,它是块级别的备份与恢复,备份与恢复发生在数据库块级别,可以通过比较数据块而获得一致性的数据块,可以避免备份没有用过的数据块。
当执行rman命令时,oracle会将这些命令解析为pl/sql块,并且由服务器进程执行这些pl/sql块,最终完成备份、还原、恢复以及其他操作。
由于rman备份、还原和恢复操作都是由服务器进程来执行的,所以rman所进行的备份和恢复操作也被称为“服务器管理的备份和恢复”。
3 rman完全恢复rman完全恢复是指当数据库出现介质失败或逻辑失败时,使用restore命令转储备份,并使用recover命令将数据库恢复到失败点的状态。
如果想实现rman完全恢复,必须具备以下必要条件:(1)必须具备恢复需要的数据文件备份和归档日志备份;(2)如果任何一个数据文件没有备份,必须具备自从该数据文件创建以来的归档日志和在线重做日志,这样rman可以重新创建数据文件,过程就是先创建空的数据文件,然后再应用归档日志和在线重做日志。
Oracle RMAN 恢复机制RMAN 完全恢复是指当数据文件出现介质故障后,通过RMAN 使用备份信息将数据文件恢复到失败点。
图15-6显示了完全恢复的过程,从图中可以看出,对数据库进行恢复大致分为两个步骤。
备份数据文件1SCN=200数据文件2SCN=200数据文件3SCN=200数据文件1SCN=200数据文件2SCN=200数据文件3SCN=100数据文件1SCN=200数据文件2SCN=200数据文件3SCN=200数据文件1SCN=200数据文件2SCN=200数据文件3SCN=200归档日志修复数据文件应用归档重做日志恢复数据被损坏的数据文件修复后的数据文件恢复后的数据文件事务恢复回退记录图15-6 归档模式下的完全恢复(1)当发生介质故障后,利用备份修复被损坏或丢失的数据文件,在图中假设数据文件3被损坏。
(2)修复数据文件3后,因为被修复的数据文件与其他数据文件相比要“旧”,所认这时数据库中的数据文件并不同步(文件头部信息中的检查点号SCN 不同)。
由于数据文件之间不一致,数据库仍然无法打开,这时就需使用归档日志对数据库进行恢复。
恢复过程又包含两个主要步骤:缓存恢复和事务恢复。
在缓存恢复完成后,数据库即可打开;但此时数据库中可能含有提交的事务,因此,在事务恢复后,将提交所有的事务,使数据库进入一致状态。
正是由于归档日志中记录了数据库的所有修改操作,从而保证了在数据库出现介质故障后,使用归档日志和备份就可以将数据库恢复到最近的状态。
在RMAN 中使用RESTORE 命令修复数据库时,RMAN 将启动一个服务器进程来完成将磁盘中的备份集或镜像副本修复数据文件、控制文件以及归档重做日志文件。
在使用RMAN 进行数据库修复时,可以根据出现的故障,选择修复整个数据库、单独的表空间、单独的数据文件、控制文件以归档重做日志文件。
例如,如果需要修复表空间USERS ,RMAN 将从备份集或镜像副本中查找USERS 表空间的备份,然后将它复制到控制文件指定的位置。
rman备份原理RMAN备份原理是指在Oracle数据库系统中,通过使用RMAN工具来执行备份操作的一种机制。
RMAN的全称为Recovery Manager,它是Oracle提供的自动化备份和恢复工具。
在备份时,RMAN会将数据库的数据文件和控制文件备份到磁盘或磁带上,以保证数据的可靠性和一致性。
同时,RMAN还会备份归档日志和参数文件等信息。
备份完成后,可以使用RMAN进行恢复操作,将数据恢复到之前的状态。
RMAN备份的原理包括以下几个方面:1. 备份类型:RMAN支持全备、增量备份、差异备份等多种备份类型。
全备是将整个数据库备份,增量备份和差异备份则只备份发生变化的部分。
2. 数据文件备份:RMAN会通过读取数据库的控制文件确定需要备份的数据文件,并将其备份到指定的位置。
备份时可以采用并行备份和压缩备份等技术,提高备份效率和节省存储空间。
3. 归档日志备份:归档日志是数据库在运行过程中生成的一种日志文件,包含了数据库操作的详细记录。
备份归档日志可以保证数据的完整性和可恢复性。
4. 参数文件备份:RMAN会备份数据库的参数文件,包括了数据库的各种配置信息。
在恢复时,这些信息可以帮助快速还原数据库。
5. 数据库恢复:当数据库发生故障时,可以使用RMAN进行恢复操作。
RMAN会根据备份文件和归档日志以及参数文件等信息,将数据库恢复到指定的时间点或者备份点。
在恢复过程中,RMAN会自动进行数据块的校验和修复,保证数据的一致性和正确性。
总之,RMAN备份原理是一种基于Oracle数据库系统的自动化备份和恢复机制,能够保证数据的可靠性和一致性,为数据安全提供了可靠的保障。
使用RMAN备份与还原Oracle数据库原理一、数据库备份概念对于Oracle数据库,备份方式包括物理备份和逻辑备份。
1、物理备份将实际组成数据库的操作系统文件从一处拷贝到另一处的备份过程,通常是从磁盘到磁带。
该方法实现数据库的完整恢复,但数据库必须运行在归档模式下(业务数据库在非归档模式下运行),且需要极大的外部存储设备,例如磁带库,具体包括冷备份和热备份。
冷备份和热备份是物理备份(也称低级备份),它涉及到组成数据库的文件,但不考虑逻辑内容。
使用RMAN备份与还原ORACLE数据库的方式,属于物理备份方法。
2、逻辑备份利用SQL语言从数据库中抽取数据并存于二进制文件的过程。
业务数据库采用此种方式,此方法不需要数据库运行在归档模式下,不但备份简单,而且可以不需要外部存储设备,包括导出/导入(EXPORT/IMPORT)。
这种方法包括读取一系列的数据库日志,并写入文件中,这些日志的读取与其所处位置无关。
二、RMAN备份方式使用RMAN备份Oracle数据库,包括以下三种备份概念。
1、完全备份(Full Backup)与增量备份(Incremental Backup)完全备份与增量备份是针对数据文件而言,控制文件和归档日志文件不能进行增量备份。
当然,后两者可以做备份优化。
2、打开备份(Open Backup)或关闭备份(Closed Backup)数据库打开状态下进行备份即是打开备份,数据库关闭状态下(加载状态)进行的备份即关闭备份。
3、一致备份(Consistent Backup)与不一致备份(Inconsistent Backup)数据库打开状态或不干净关闭状态(shutdown abort)进行的备份是不一致备份,利用不一致的备份修复数据库后还需要做数据库的恢复。
在数据库干净关闭状态进行的备份是一致备份,利用一致备份修复数据库后不需要做数据库的恢复。
三、备份策略由于数据库占据物理空间较大,每次都进行全库备份,对存储介质要求比较高,也会造成空间的冗余浪费,故而在实际的数据备份过程中,通常采用增量备份的方法。
在RMAN增量备份中,有差异增量和累积增量的概念1、概念差异增量:是备份上级及同级备份以来所有变化的数据块,差异增量是默认增量备份方式累积增量:是备份上级备份以来所有变化的块因为累积增量是备份上级备份以来所有变化的数据块,所以累积增量需要更多的备份时间,同时需要较小的恢复时间;而差异增量正好相反,它可以备份同级备份以来变化的数据块。
所以会减少备份时间,但需要更多的恢复时间.在oracle 9中增量备份需要通过扫描整个数据库的数据块才能知道哪些数据块发生了变化,这是一个代价很大,时间很长的过程,而且由于增量备份形成多个不同的备份集,使恢复变得更加不可靠,所以增量备份在版本9中仍然不被推荐使用;在10g中,增量备份作了很大的改进,不需要再扫描所有数据块就能得知哪些数据块发生变化,从而大大提升备份效率。
但这些却以牺牲磁盘i/o为代价,所以在oltp事务系统中还得衡量是否愿意以i/o为代价来保证安全及高可用性。
10g 还支持增量合并,增量备份可支持7级增量。
①差异增量备份(DIFFERENTIAL)图解差异增量备份RMAN命令方法:RMAN>allocate channel c1 type disk; #分配通道RMAN> backup incremental level 0 database; #零级备份RMAN> backup incremental level 2 database; #二级备份RMAN> backup incremental level 1 database; #一级备份RMAN>release channel c1;//释放通道②累积增量(CUMULATIVE)备份累积增量备份RMAN命令方法:RMAN>allocate channel c1 type disk; #分配通道RMAN> backup incremental level 0 database; #零级备份RMAN> backup incremental level 2 cumulative database; #二级备份RMAN> backup incremental level 1 cumulative database; #一级备份RMAN>release channel c1; //释放通道2、备份策略及恢复①备份策略以RMAN多级增量备份作为备份策略例子:增量备份都需要一个0级备份作为基础,0级备份与全备份的区别在于0级可以用来增量恢复,而全备份则不可以。
备份策略典型案例:每半年做一个数据库的全备份(包括所有的数据和只读表空间)每一个月做一次零级备份(不包含只读表空间)每个星期做一次一级备份每天做一次二级备份任何数据库的更改需要重新同步CATALOG目录并重新备份(如添加数据文件)或重新备份(如修改表空间为只读)。
②冗余策略RMAN提供了两种备份保留策略:基于时间、基于冗余数量。
为RMAN设置了备份保留策略之后,RMAN会自动判断哪些备份集或镜像复制文件不必再保留。
这些备份文件将会被标记为“废弃(Obsolete)”,可以通过REPORT OBSOLETE命令查看当前处于废弃状态的备份文件,或者通过DELETE OBSOLETE命令删除这些废弃的备份在执行删除命令时有两点需要了解:(1) 如果被判断为废弃的备份是一个单独数据文件的镜像复制,那么在执行DELETE命令时将直接删除这个镜像复制文件。
(2) 如果被判断为废弃的备份是一个备份集中的一部分,则必须等到整个备份集中所有其它文件都被废弃之后,才能删除这个备份集。
基于时间的备份保留策略。
例如将恢复时间段设置为7,那么RMAN所保留的备份即是可以保证你将数据库恢复到一周内任何时刻下那些文件。
设置基于时间的备份保留策略可以通过CONFIGURE命令,例如:RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF n DAYS;注:n=大于0的正整数执行该命令后,RMAN将始终保留那些将数据库恢复到n天前的状态时需要用到的备份,比如,恢复时间段被设置为7天,那么各个数据文件的备份必须满足如下条件:SYSDATE-(SELECT CHECKPOINT_TIME FROM V$DATAFILE)>=7任何不满足上述条件的备份都将被RMAN废弃并可通过DELETE OBSOLETE命令删除。
基于冗余数量的备份保留策略基于冗余数量实质即某个数据文件以各种形式(包括备份集和镜像复制)存在的备份的数量。
如果某个数据文件的冗余备份数量超出了指定数量,RMAN将废弃最旧的备份。
同样,基于数量的备份保留策略也是通过CONFIGURE命令设置,例如:RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF n DAYS;同上:n=大于0的正整数当然也可以通过下列命令设置成不采用任何备份保留策略:RMAN> CONFIGURE RETENTION POLICY TO NONE;②备份优化RMAN中的备份优化(Backup Optimization)是指在备份过程中,如果满足特定条件,RMAN将自动跳过某些文件而不将它们包含在备份集中以节省时间和空间。
通常必须满足如下几个条件的情况下,才能够启用备份优化的功能:CONFIGURE BACKUP OPTIMIZATION参数置为on;执行的BACKUP DATABASE或BACKUP ARCHIVELOG命令中带有ALL或LIKE参数。
分配的通道仅使用了一种设备类型,也就是没有同时分配使用sbt与disk的多个通道。
打开备份优化设置通过如下命令:RMAN> CONFIGURE BACKUP OPTIMIZATION ON;③采用任务计划使备份过程自动执行首先按照制定的备份策略将0、1、2级备份策略用RMAN脚本实现,然后将执行脚本的过程写入批处理文件中(windows系统)、或shell脚本文件中(Linux 系统),并将批处理文件或Shell脚本文件加入任务计划中。
零级备份RMAN脚本:(E:\DBBACKUP\DBZJ\BACK_ALL\SCRIPTS\L0C_BACKUP.RMAN)run {allocate channel ch1 device type disk;backup incremental level 0format 'E:\DBBACKUP\DBZJ\BACK_ALL\BAKS\LOC_DBfull_%U.bkp' database plus archivelog;release channel ch1;}backup current controlfile format 'E:\DBBACKUP\DBZJ\BACK_ALL\BAKS\c_%U.bak'; backup spfile format 'E:\DBBACKUP\DBZJ\BACK_ALL\BAKS\spf_%U.bak'; CROSSCHECK BACKUPSET;DELETE OBSOLETE;批处理文件BAT脚本:set oracle_sid=DBZJRMAN TARGET / msglog E:\DBBACKUP\DBZJ\LOGS\%date:~0,10%.log cmdfile=E:\DBBACKUP\DBZJ\BACK_ALL\SCRIPTS\L0C_BACKUP.RMAN④配置RMAN备份使用SHOW ALL命令可以查看RMAN配置项的当前配置值,通过CONFIGURE命令对配置项进行设置。
RMAN>使用目标数据库控制文件替代恢复目录db_unique_name 为DBZJ 的数据库的RMAN 配置参数为:CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS; CONFIGURE BACKUP OPTIMIZATION ON;CONFIGURE DEFAULT DEVICE TYPE TO DISK; # defaultCONFIGURE CONTROLFILE AUTOBACKUP ON;CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'E:\DBBACKUP\DBZJ\BACKUP\%F';CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # defaultCONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE MAXSETSIZE TO UNLIMITED; # defaultCONFIGURE ENCRYPTION FOR DATABASE OFF; # defaultCONFIGURE ENCRYPTION ALGORITHM 'AES128'; # defaultCONFIGURE COMPRESSION ALGORITHM 'BZIP2'; # defaultCONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # defaultCONFIGURE SNAPSHOT CONTROLFILE NAME TO 'E:\APP\ADMINISTRATOR\PRODUCT\11.1.0\DB_1\DATABASE\SNCFDBZJ.ORA'; # default配置备份保留策略为30天:RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 30 DAYS;同样还可以使用CONFIGURE命令配置备份优化、备份介质位置、控制文件备份、备份片大小、归档日志项等。