oracle(rman)管理方式下的热备份及恢复
rman 块恢复原理

rman 块恢复原理
RMAN(Recovery Manager)是Oracle数据库的备份和恢复工具,它提供了一种灵活、可靠的方式来管理数据库的备份和恢复操作。
RMAN的块恢复原理涉及到数据库中的数据块、日志文件和备份集,
下面我会从多个角度来解释RMAN的块恢复原理。
首先,RMAN的块恢复原理基于数据库中的数据块。
在Oracle
数据库中,数据以逻辑上相连的块进行存储,每个块都有一个唯一
的标识符。
当数据库发生损坏或数据丢失时,RMAN可以通过备份集
中的数据块来恢复受损的数据。
其次,RMAN的块恢复原理还涉及到日志文件。
Oracle数据库使
用重做日志和归档日志来记录数据库的变化,包括数据块的修改。
RMAN可以利用这些日志文件来确定损坏的数据块的变化历史,以便
进行恢复操作。
另外,RMAN的块恢复原理还包括备份集。
RMAN可以创建全量备
份和增量备份,备份集中包含了数据库的数据文件和控制文件的备份。
当数据库发生损坏时,RMAN可以利用备份集中的数据块来进行
恢复操作。
总的来说,RMAN的块恢复原理是基于备份集、日志文件和数据库中的数据块进行的。
它通过备份集中的数据块和日志文件来确定损坏数据块的变化历史,并利用这些信息来恢复受损的数据。
这种方式可以确保数据库在发生故障时能够快速、可靠地恢复到正常状态。
ORACLE RAC数据库RMAN 备份与恢复

rac数据库RMAN 备份与恢复一、数据库备份在主库上通过rman 每天对数据库进行备份,并且保留两份备份在主库删除归档和进行rman 备份的脚本:[oracle@rac1 arch]$ pwd/opt/app/arch[oracle@rac1 arch]$ more del_arch.shexport ORACLE_SID=orcl1export ORACLE_BASE=/opt/app/oracleexport ORACLE_TERM=xtermexport ORACLE_HOME=/opt/app/oracle/product/10.2.0/db_1source /opt/app/arch/orcl1/del_arch.listsource /opt/app/arch/orcl2/del_arch.list/opt/app/oracle/product/10.2.0/db_1/bin/rman target / log='/opt/app/arch/rman.log' <<EOFdelete obsolete recovery window of 3 days;crosscheck archivelog all;delete noprompt obsolete;delete noprompt expired archivelog all;crosscheck backup;delete noprompt expired backup;backup format='/opt/app/arch/rman/orcl_full_%U_%T' tag='orcl_full' database;backup current controlfile tag='orcl_ctlfile'format='/opt/app/arch/rman/orcl_ctlfile_%U_%T';backup spfile tag='orcl_spfile'format='/opt/app/arch/rman/orcl_spfile_%U_%T';exitEOF执行时间:[oracle@rac1 arch]$ crontab -l30 02 * * 0 /opt/app/arch/del_arch.sh30 02 * * 1 /opt/app/arch/del_arch.sh30 02 * * 2 /opt/app/arch/del_arch.sh30 02 * * 3 /opt/app/arch/del_arch.sh30 02 * * 4 /opt/app/arch/del_arch.sh30 02 * * 5 /opt/app/arch/del_arch.sh30 02 * * 6 /opt/app/arch/del_arch.sh每天的备份文件放在/opt/app/arch/rman/目录下二、数据库恢复如果数据库出现故障,可以从备份文件中恢复数据库,最早可以恢复到两天前的备份时间点RAC 下的RMAN 讲究的是备份和还原的策略要一致。
Oracle备份与恢复案例.doc

Oracle备份与恢复案例By Piner一. 理解什么是数据库恢复当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(硬件故障、软件故障、网络故障、进程故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使数据库中全部或部分数据丢失。
因此当发生上述故障后,希望能重构这个完整的数据库,该处理称为数据库恢复。
恢复过程大致可以分为复原(Restore)与恢复(Recover)过程。
数据库恢复可以分为以下两类:1.1实例故障的一致性恢复当实例意外地(如掉电、后台进程故障等)或预料地(发出SHUTDOUM ABORT语句)中止时出现实例故障,此时需要实例恢复。
实例恢复将数据库恢复到故障之前的事务一致状态。
如果在在线后备发现实例故障,则需介质恢复。
在其它情况Oracle在下次数据库起动时(对新实例装配和打开),自动地执行实例恢复。
如果需要,从装配状态变为打开状态,自动地激发实例恢复,由下列处理:(1)为了解恢复数据文件中没有记录的数据,进行向前滚。
该数据记录在在线日志,包括对回滚段的内容恢复。
(2)回滚未提交的事务,按步1重新生成回滚段所指定的操作。
(3)释放在故障时正在处理事务所持有的资源。
(4)解决在故障时正经历一阶段提交的任何悬而未决的分布事务。
1.2介质故障或文件错误的不一致恢复介质故障是当一个文件、一个文件的部分或磁盘不能读或不能写时出现的故障。
文件错误一般指意外的错误导致文件被删除或意外事故导致文件的不一致。
这种状态下的数据库都是不一致的,需要DBA手工来进行数据库的恢复,这种恢复有两种形式,决定于数据库运行的归档方式和备份方式。
(1)完全介质恢复可恢复全部丢失的修改。
一般情况下需要有数据库的备份且数据库运行在归档状态下并且有可用归档日志时才可能。
对于不同类型的错误,有不同类型的完全恢复可使用,其决定于毁坏文件和数据库的可用性。
(2)不完全介质恢复是在完全介质恢复不可能或不要求时进行的介质恢复。
oracle热备的方法

oracle热备的方法Oracle热备是一种备份和恢复数据的方法,它可以在不停止数据库的情况下进行备份,从而保证了数据库的连续性和可用性。
在这篇文章中,我们将介绍Oracle热备的方法和步骤。
我们需要了解Oracle热备的基本概念。
热备是指在数据库运行时进行备份,而不需要停止数据库。
这种备份方式可以保证数据库的连续性和可用性,同时也可以减少备份对业务的影响。
接下来,我们需要准备一些必要的工具和环境。
首先,我们需要安装Oracle数据库,并且确保数据库处于运行状态。
其次,我们需要准备一个备份设备,例如磁带、硬盘或网络存储设备。
最后,我们需要配置Oracle数据库的备份参数,例如备份类型、备份频率和备份目录等。
在进行Oracle热备之前,我们需要进行一些准备工作。
首先,我们需要创建一个备份控制文件,用于记录备份的信息和状态。
其次,我们需要创建一个备份集,用于存储备份数据。
最后,我们需要创建一个备份作业,用于定期执行备份操作。
在进行Oracle热备时,我们需要按照以下步骤进行操作。
首先,我们需要选择备份类型,例如完全备份、增量备份或差异备份。
其次,我们需要选择备份工具,例如RMAN或者其他第三方备份工具。
最后,我们需要执行备份操作,并且将备份数据存储到备份设备中。
在进行Oracle热备恢复时,我们需要按照以下步骤进行操作。
首先,我们需要选择恢复类型,例如完全恢复、部分恢复或点恢复。
其次,我们需要选择恢复工具,例如RMAN或者其他第三方恢复工具。
最后,我们需要执行恢复操作,并且将备份数据恢复到数据库中。
Oracle热备是一种非常重要的备份和恢复数据的方法,它可以保证数据库的连续性和可用性,同时也可以减少备份对业务的影响。
在进行Oracle热备时,我们需要按照一定的步骤进行操作,并且需要选择合适的备份类型和备份工具。
在进行Oracle热备恢复时,我们也需要按照一定的步骤进行操作,并且需要选择合适的恢复类型和恢复工具。
oracle数据库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⽂件到新的数据库。
RMAN的备份与恢复步骤详解

RMAN的备份与恢复步骤详解RMAN(Recovery Manager)是Oracle数据库备份和恢复技术的核心工具,提供了一种集中管理和自动化备份和恢复操作的方式。
下面将详细介绍RMAN的备份与恢复步骤。
备份步骤:1.配置RMAN环境:确定RMAN备份目标、备份库、目标库的连接信息,并设置环境变量。
2.创建RMAN备份目标:使用CREATECATALOG命令创建RMAN备份目标,以存储备份信息和恢复目标的元数据。
3.创建备份策略:确定备份类型(完全备份、增量备份、增量备份级别等),备份周期(每日、每周)、备份级别(全局备份、局部备份)以及备份介质(磁盘、磁带)等。
4.执行备份命令:使用BACKUP命令执行备份操作。
根据备份策略选择相应的备份类型,并指定备份集的存储位置。
可以使用全量备份、增量备份或归档日志备份等方式进行备份。
5.备份验证和测试:使用RESTORE命令验证备份集是否可恢复。
可以恢复到测试库中,检查数据的完整性以及备份恢复的过程和时间。
恢复步骤:1.准备恢复环境:确定系统状态,关闭数据库、归档日志模式,备份控制文件,以备份增量恢复,恢复目标数据库的连接信息,并设置环境变量。
2.恢复控制文件:将备份的控制文件还原到指定位置,以获取数据库的结构信息。
3.恢复数据库文件:使用RESTORE命令恢复需要的数据文件。
可以选择完全恢复(使用全量备份和归档日志进行恢复)、增量恢复(使用增量备份和归档日志进行恢复)或点恢复(使用时间点或SCN号进行恢复)的方式。
4.打开数据库:使用OPENRESETLOGS命令打开数据库,恢复数据库文件到最新的状态。
5.检查恢复结果:验证恢复后数据库的完整性和一致性。
使用相应的SQL语句检查数据的正确性、索引的可用性和对象的有效性。
常见问题处理:1.恢复失败的处理:RMAN提供了很多失败后的处理命令,比如RECOVER命令来恢复损坏的数据文件,CROSSCHECK命令来检查备份文件的完整性等。
rman备份与恢复数据库

再执行BACKUP DATABASE指令备份整个数据库。
(1)使用数据库用户名和密码登陆RMAN
D:\>rman target system/oracle@orcl
(2)在RMAN执行程序中,通过客户端指令关闭数据库,
然后从RMAN加载数据到MOUNT状态。
RMAN>shutdown immediate
RMAN>startup mount
(3)使用BACKUP DATABRMAT参数说明备份的全库
(3)将数据库处于归档模式。
使用BACKUP DATABASE联机备份整个数据库
RMAN>backup database;
在备份整个数据库时,其实就是备份了数据文件,
其中包含了当前的控制文件和参数文件。而重做日志文件或归档日志文件
因此oracle建议创建单独的恢复目录,
这样可以更好的发挥RMAN提供的新特性。
快闪恢复区(flash recovery area)
快闪恢复区是存储与备份和恢复数据文件以及相关信息的存储区。
快闪恢复区保存了每个数据文件的备份,
增量备份,控制文件备份,以及归档重做日志备份。
信息库既可以存储在数据库的控制文件中,
也可以存储在恢复目录中。
在oracle中默认先将RMAN信息库写入控制文件,
如果存在恢复目录则需要继续写入到恢复目录。
使用控制文件的不足是控制文件中记录RMAN信息库的空间有限
当空间不足时可能被覆盖掉。
(2)控制文件
(3)数据库文件和控制文件的映像副本
(4)归档日志文件
oracle热备的方法

oracle热备的方法Oracle是当前市场上最受欢迎和广泛使用的关系型数据库系统之一。
Oracle提供了许多备份和恢复方案,其中,热备份是最常用的一种方法。
本文将为您介绍Oracle热备的方法。
热备是指对数据库进行备份时,不对数据库进行停机或者关闭数据库实例,即不对生产环境造成任何影响的备份方法。
与冷备份不同,热备份不需要停止整个数据库实例,以保持用户的可持续性。
热备份有三种常用的方法:1. 备份多于一个文件这是最常用的热备份方法。
它包括将数据文件、控制文件、日志文件等多个文件备份到另一个位置。
备份可以直接放在本地磁盘或归档到网络存储设备中。
这种方法的优点是备份速度快,每个文件都可以同时备份和恢复。
2. 使用Oracle Recovery Manager(RMAN)进行备份Oracle RMAN是一种备份和恢复工具,它可以对整个数据库或单个表空间执行热备。
使用RMAN进行备份可以通过备份日志文件或归档日志文件的方式完成,同时也可以轻松地恢复到先前的备份。
3. 数据库镜像Oracle数据库还采取了一种称为故障转移的高可用性方案,其中数据库数据被镜像到两个或多个系统中。
一旦发生故障,镜像数据库会立即接管正常的工作负载并保持运行状态。
这种方法的优点是高可用性,但是需要更多的硬件成本和维护复杂性。
总结以上是Oracle热备的主要方法。
选择适合您的备份方法取决于您的预算和复杂性要求。
备份和恢复是数据库管理工作中最重要的一部分,您应该定期备份数据,并根据需要执行及时的恢复操作,以保护您的数据安全。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
– 备份策略:
• 整体:备份属于数据库的控制文件和所有数据文 件 • 部分:备份数据库的一部分
– 备份类型:
• 完全:非增量 RMAN 备份 • 增量:只备份以前某次备份以来更改的信息
– 备份模式:
• 脱机:一致性备份,也称为冷备份 • 联机:非一致性备份,也称为热备份
完全备份或 “级别 0 增量备份”
累积增量备份
差异增量备份
管理备份:报告
• 使用以下 RMAN 命令可获取关于备份的信息:
– LIST:显示资料档案库中记录的关于备份集、 代理副本和映像副本的信息 – REPORT:生成资料档案库的详细分析信息 – REPORT NEED BACKUP:列出需要备份的所有数 据文件 – REPORT OBSOLETE:标识为了满足备份保留策 略而不再需要的文件
– 当前控制文件的所有副本都丢失或损坏时恢 复和装载备份控制文件。 – 还原备份控制文件之后执行 RECOVER 命令。 – 执行完全恢复或时间点恢复后使用 RESETLOGS 选项打开数据库。Leabharlann 执行灾难恢复• 基本过程:
– – – – – – – 还原服务器参数文件的自动备份 启动目标数据库实例 从自动备份还原控制文件 装载数据库 还原数据文件 恢复数据文件 使用 RESETLOGS 选项打开数据库
1. 配置 ORACLE_SID 环境变量。 2. 启动 RMAN 并在 NOCATALOG 模式下连接到目标实 例。 3. 设置数据库标识符 (DBID)。 4. 在 NOMOUNT 模式下启动实例。 5. 创建 RUN 块,以便:
• 从备份集中还原服务器参数文件 • 关闭实例 (SHUTDOWN ABORT)
1. 实例是否自动关闭未定。如果未自动关闭,请使 用 SHUTDOWN ABORT 关闭实例。 2. 装载数据库。 3. 还原和恢复缺失的数据文件。 4. 打开数据库。
在新主机上还原和恢复数据库
• 使用此过程可执行以下操作:
– 执行测试还原 – 将生产数据库移到新主机上
备份 RMAN>
服务器 参数文件
• • • • • • • • 配置自动通道 指定备份保留策略 指定要创建的备份副本数 将默认备份类型设置为 BACKUPSET 或 COPY 限制备份片断的大小 在备份中排除表空间 启用和禁用备份优化 配置控制文件的自动备份
管理永久性设置
– 使用 SHOW 命令列出当前设置:
RMAN> SHOW CONTROLFILE AUTOBACKUP FORMAT; RMAN> SHOW EXCLUDE; RMAN> SHOW ALL;
管理备份:交叉检验和删除
• 使用以下 RMAN 命令可管理备份:
– CROSSCHECK:针对介质(如磁盘或磁带)验证 在 RMAN 资料档案库中记录的备份和副本的状态 – DELETE EXPIRED:只删除资料档案库中状态 EXPIRED 的文件 – DELETE OBSOLETE:删除不再需要的备份
– 使用 CLEAR 命令将任何永久性设置重新设置 为默认值: RMAN> CONFIGURE BACKUP OPTIMIZATION CLEAR;
RMAN> CONFIGURE MAXSETSIZE CLEAR; RMAN> CONFIGURE DEFAULT DEVICE TYPE CLEAR;
配置和分配用于备份的通道
– 使用 CONFIGURE 命令配置自动通道:
RMAN> RMAN> RMAN> RMAN> CONFIGURE DEVICE TYPE sbt PARALLELISM 1; CONFIGURE DEFAULT DEVICE TYPE TO sbt; CONFIGURE CHANNEL DEVICE TYPE sbt … BACKUP DATABASE;
何时需要使用备份进行恢复
• 发生以下类型的错误时,通常需要使用备 份执行恢复:
– 介质故障:因数据库文件的物理问题而导致无 法读写该文件 – 用户错误:数据库中的数据被误更改或误删除
响应用户错误
• 对用户错误的可能响应包括:
– 手动重新输入已丢失的数据(如果存在更改记录) – 导入已删除的对象(如果备用数据库上存在相应导 出文件或仍有该对象) – 对一个或多个表空间执行表空间时间点恢复 (TSPITR) – 使用数据库时间点恢复将数据库恢复到以前的状态 – 使用一种 Oracle 闪回功能将受影响对象恢复到以前 的状态,从逻辑损坏中进行恢复
6. 编辑还原的初始化参数文件。 7. 在 NOMOUNT 模式下启动实例。
将数据库还原到新主机
8. 创建 RUN 块,以便:
• 还原控制文件 • 装载数据库
9. 创建 RMAN 恢复脚本来还原和恢复数据库。 10.执行 RMAN 脚本。 11.使用 RESETLOGS 选项打开数据库。
使用备份控制文件执行恢复
服务器 参数文件
准备将数据库还原到新主机
• 通过执行以下步骤进行准备:
1. 记录源数据库的数据库标识符 (DBID)。 2. 将源数据库初始化参数文件复制到新主机。 3. 确保在还原主机上可访问源备份,包括控制文件自动备 份。
将数据库还原到新主机
• 为了还原数据库,请在还原主机上执行以下 步骤:
– 在 RUN 块中使用 ALLOCATE CHANNEL 手动 分配通道: RMAN> RUN
{ ALLOCATE CHANNEL ch1 DEVICE TYPE DISK; … BACKUP DATABASE PLUS ARCHIVELOG; }
RMAN 备份类型
– 完全备份包含所有用过的 数据文件块 – 级别 0 增量备份等同于标 记为级别 0 的完全备份 – 累积级别 1 增量备份只包 含自上一次级别 0 增量备 份以来修改过的块 – 差异级别 1 增量备份只包 含自上一次增量备份以来 修改过 的块
已恢复的 数据库
制定 Oracle 数据库的备份和恢复策 略
– 评估服务水平标准,其中包括:
• 数据可用性要求 • 数据重要性 • 恢复点和时间目标
– 预测环境中将发生的错误并确定从这些错误 中恢复所需的备份过程
配置 RMAN 的永久性设置
– RMAN 有预设的默认配置设置 – 使用 CONFIGURE 命令可:
联机重做 日志文件
还原块
发生实例错误 的数据库
包含提交和未提交 事务处理的数据库
只包含提交事务 处理的数据库
Oracle 数据库体系结构:在介质故 障后恢复
– 使用备份还原数据文件 – 使用归档和联机重做日志文件前滚数据库
联机和归档 重做日志文件
还原块
包含已还原数据 文件的数据库
包含提交和未提交事务 处理的数据库
数据恢复概览
– 崩溃恢复:发生实例错误后自动恢复 – 介质恢复:恢复当前数据文件、控制文件
• 完全恢复:将数据库恢复到最近的时间点 • 不完全恢复(时间点恢复):将数据库恢复到在特 定时间或特定系统更改号 (SCN) 时的状态
Oracle 数据库体系结构:崩溃恢复
– 使用联机重做日志文件前滚数据库 – 回退未提交的更改
归档 日志 归档 日志
联机 重做日志
已应用更改
2
数据库 已打开
已应用还原块
4
1
已还原数据文件
5
3
包含已提交和未提交 事务处理的数据文件
6
已恢复数据文件
执行完全恢复:在 ARCHIVELOG 模式下丢失了系统关键数据文件
• 如果数据文件丢失或损坏,而且该文件属于 SYSTEM 或 UNDO 表空间,则执行以下步骤:
使用 RMAN RESTORE 和 RECOVER 命令
– RESTORE 命令:从备份中还原数据库文件 – RECOVER 命令:通过应用重做日志文件中记 录的更改来恢复已还原文件
RMAN> RMAN> RMAN> RMAN> SQL 'ALTER TABLESPACE inv_tbs OFFLINE IMMEDIATE'; RESTORE TABLESPACE inv_tbs; RECOVER TABLESPACE inv_tbs; SQL 'ALTER TABLESPACE inv_tbs ONLINE';
比较完全恢复和不完全恢复
• 恢复类型有两种:
– 完全恢复:将数据库恢复到当前状态,包括 到请求恢复时间点为止提交的所有数据更改。 – 不完全恢复:将数据库恢复到请求恢复操作 之前过去的指定时间点。
完全恢复 不完全恢复 从这个备份中还原 执行不完全恢复后 会缺失事务处理
此时开始 恢复任务
丢失数据文件之后进行完全恢复