`

使用RMAN进行数据库全库备份

 
阅读更多

一.在rman下备份数据库的相关操作:

1.可以在rman下执行对DB的关闭、开启、执行从非归档到归档的转换以及数据库的打开
RMAN> shutdown immediate;
RMAN> startup mount;
RMAN> run(sql 'alter database noarchivelog';}
RMAN> run{sql 'alter database open';}

二.当数据库在非归档模式下的备份与恢复如下:

1.RMAN> backup database format 'e:\rmanbackup\%U.bak';执行对DB的全备
启动 backup 于 04-12月-07
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=13 devtype=DISK
通道 ORA_DISK_1: 正在启动 full 数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
在备份集中包含当前的 SPFILE
备份集中包括当前控制文件
输入数据文件 fno=00001 name=E:\ORACLE\ORADATA\OIC\SYSTEM01.DBF
输入数据文件 fno=00002 name=E:\ORACLE\ORADATA\OIC\UNDOTBS01.DBF
输入数据文件 fno=00005 name=E:\ORACLE\ORADATA\OIC\EXAMPLE01.DBF
输入数据文件 fno=00010 name=E:\ORACLE\ORADATA\OIC\XDB01.DBF
输入数据文件 fno=00006 name=E:\ORACLE\ORADATA\OIC\INDX01.DBF
输入数据文件 fno=00009 name=E:\ORACLE\ORADATA\OIC\USERS01.DBF
输入数据文件 fno=00003 name=E:\ORACLE\ORADATA\OIC\CWMLITE01.DBF
输入数据文件 fno=00004 name=E:\ORACLE\ORADATA\OIC\DRSYS01.DBF
输入数据文件 fno=00007 name=E:\ORACLE\ORADATA\OIC\ODM01.DBF
输入数据文件 fno=00008 name=E:\ORACLE\ORADATA\OIC\TOOLS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 04-12月-07
通道 ORA_DISK_1: 已完成段 1 于 04-12月-07
段 handle=E:\RMANBACKUP\01J2P2D8_1_1.BAK comment=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:01:17
完成 backup 于 04-12月-07

2.然后删除掉INDX01.DBF文件,启动数据库这时会提示错误,信息如下:

RMAN> startup执行完成后DB已处于mount状态下
Oracle 例程已启动
数据库已加载
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of startup command at 12/04/2007 15:56:43
ORA-01157: 无法标识/锁定数据文件 6 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 6: 'E:\ORACLE\ORADATA\OIC\INDX01.DBF'

3.执行restore database命令

RMAN> restore database;执行该语句是对整个数据库进行修复
启动 restore 于 04-12月-07
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=13 devtype=DISK
正在略过数据文件 1; 已恢复到文件 E:\ORACLE\ORADATA\OIC\SYSTEM01.DBF
正在略过数据文件 2; 已恢复到文件 E:\ORACLE\ORADATA\OIC\UNDOTBS01.DBF
正在略过数据文件 3; 已恢复到文件 E:\ORACLE\ORADATA\OIC\CWMLITE01.DBF
正在略过数据文件 4; 已恢复到文件 E:\ORACLE\ORADATA\OIC\DRSYS01.DBF
正在略过数据文件 5; 已恢复到文件 E:\ORACLE\ORADATA\OIC\EXAMPLE01.DBF
正在略过数据文件 7; 已恢复到文件 E:\ORACLE\ORADATA\OIC\ODM01.DBF
正在略过数据文件 8; 已恢复到文件 E:\ORACLE\ORADATA\OIC\TOOLS01.DBF
正在略过数据文件 9; 已恢复到文件 E:\ORACLE\ORADATA\OIC\USERS01.DBF
正在略过数据文件 10; 已恢复到文件 E:\ORACLE\ORADATA\OIC\XDB01.DBF
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00006恢复到E:\ORACLE\ORADATA\OIC\INDX01.DBF
通道 ORA_DISK_1: 已恢复备份段 1
段 handle=E:\RMANBACKUP\01J2P2D8_1_1.BAK tag=TAG20071204T153712 params=NULL
通道 ORA_DISK_1: 恢复完成
完成 restore 于 04-12月-07

4.执行recover database命令

RMAN> recover database;
启动 recover 于 04-12月-07
使用通道 ORA_DISK_1
正在开始介质的恢复
完成介质的恢复
完成 recover 于 04-12月-07

5.启动DB
RMAN> run {sql 'alter database open';}


三.在非归档模式下要注意的几点:

1.DB应该是在mount状态下,否则会出现如下的错误信息

RMAN> backup database format 'e:\';
启动 backup 于 04-12月-07
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=13 devtype=DISK
通道 ORA_DISK_1: 正在启动 full 数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
在备份集中包含当前的 SPFILE
备份集中包括当前控制文件
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 12/04/2007 15:11:32
ORA-19602: 无法按 NOARCHIVELOG 模式备份或复制活动文件


四.在归档模式下的整个数据库的备份与恢复

1.RMAN> backup database format 'e:\rmanbackup\%u.bak';在执行时DB为mount状态
启动 backup 于 04-12月-07
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=13 devtype=DISK
通道 ORA_DISK_1: 正在启动 full 数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
在备份集中包含当前的 SPFILE
备份集中包括当前控制文件
输入数据文件 fno=00001 name=E:\ORACLE\ORADATA\OIC\SYSTEM01.DBF
输入数据文件 fno=00002 name=E:\ORACLE\ORADATA\OIC\UNDOTBS01.DBF
输入数据文件 fno=00005 name=E:\ORACLE\ORADATA\OIC\EXAMPLE01.DBF
输入数据文件 fno=00010 name=E:\ORACLE\ORADATA\OIC\XDB01.DBF
输入数据文件 fno=00006 name=E:\ORACLE\ORADATA\OIC\INDX01.DBF
输入数据文件 fno=00009 name=E:\ORACLE\ORADATA\OIC\USERS01.DBF
输入数据文件 fno=00003 name=E:\ORACLE\ORADATA\OIC\CWMLITE01.DBF
输入数据文件 fno=00004 name=E:\ORACLE\ORADATA\OIC\DRSYS01.DBF
输入数据文件 fno=00007 name=E:\ORACLE\ORADATA\OIC\ODM01.DBF
输入数据文件 fno=00008 name=E:\ORACLE\ORADATA\OIC\TOOLS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 04-12月-07
通道 ORA_DISK_1: 已完成段 1 于 04-12月-07
段 handle=E:\RMANBACKUP\02J2P7EN.BAK comment=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:57
完成 backup 于 04-12月-07

2.删除所有的数据文件

3.启动DB到mount状态

RMAN> startup mount
已连接到目标数据库 (未启动)
Oracle 例程已启动
数据库已加载
系统全局区域总计     135338868 字节
Fixed Size                      453492 字节
Variable Size                109051904 字节
Database Buffers              25165824 字节
Redo Buffers                    667648 字节

4.执行restore database;执行完成后可以看到删除的数据文件又生成了

RMAN> restore database;
启动 restore 于 04-12月-07
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=13 devtype=DISK
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到E:\ORACLE\ORADATA\OIC\SYSTEM01.DBF
正将数据文件00002恢复到E:\ORACLE\ORADATA\OIC\UNDOTBS01.DBF
正将数据文件00003恢复到E:\ORACLE\ORADATA\OIC\CWMLITE01.DBF
正将数据文件00004恢复到E:\ORACLE\ORADATA\OIC\DRSYS01.DBF
正将数据文件00005恢复到E:\ORACLE\ORADATA\OIC\EXAMPLE01.DBF
正将数据文件00006恢复到E:\ORACLE\ORADATA\OIC\INDX01.DBF
正将数据文件00007恢复到E:\ORACLE\ORADATA\OIC\ODM01.DBF
正将数据文件00008恢复到E:\ORACLE\ORADATA\OIC\TOOLS01.DBF
正将数据文件00009恢复到E:\ORACLE\ORADATA\OIC\USERS01.DBF
正将数据文件00010恢复到E:\ORACLE\ORADATA\OIC\XDB01.DBF
通道 ORA_DISK_1: 已恢复备份段 1
段 handle=E:\RMANBACKUP\02J2P7EN.BAK tag=TAG20071204T170319 params=NULL
通道 ORA_DISK_1: 恢复完成
完成 restore 于 04-12月-07

5.recover database

RMAN> recover database;
启动 recover 于 04-12月-07
使用通道 ORA_DISK_1
正在开始介质的恢复
完成介质的恢复
完成 recover 于 04-12月-07

6.打开DB

RMAN> run{sql 'alter database open';}
sql 语句: alter database open


五.在归档模式下对表空间一级的恢复(在做恢复前已对整个数据库进行了全备)

1.关闭DB,删除user01数据文件

2.执行表空间的恢复,执行完毕后可以在E:\oracle\oradata\下看到恢复的数据文件

RMAN> run{
2> allocate channel d1 type disk;
3> set newname for datafile 'E:\oracle\oradata\OIC\USERS01.DBF' to 'E:\oracle\oradata\USERS01.DBF';
4> restore tablespace users;
5> switch datafile 9;
6> recover tablespace users;
7> alter database open;
8> release channel d1;
}
分配的通道: d1
通道 d1: sid=13 devtype=DISK
正在执行命令: SET NEWNAME
启动 restore 于 04-12月-07
通道 d1: 正在开始恢复数据文件备份集
通道 d1: 正在指定从备份集恢复的数据文件
正将数据文件00009恢复到E:\ORACLE\ORADATA\USERS01.DBF
通道 d1: 已恢复备份段 1
段 handle=E:\RMANBACKUP\02J2P7EN.BAK tag=TAG20071204T170319 params=NULL
通道 d1: 恢复完成
完成 restore 于 04-12月-07
数据文件 9 已转换成数据文件副本
输入数据文件副本 recid=33 stamp=640459891 文件名=E:\ORACLE\ORADATA\USERS01.DBF
启动 recover 于 04-12月-07
正在开始介质的恢复
完成介质的恢复
完成 recover 于 04-12月-07
数据库已打开
释放的通道: d1

分享到:
评论

相关推荐

    详细、完整的介绍使用RMAN对数据库进行备份及恢复

    本篇文章将深入探讨如何使用RMAN进行数据库的管理,包括如何创建恢复目录、连接数据库、执行各种RMAN命令以及进行实际的备份和恢复操作。 首先,创建RMAN恢复目录是使用RMAN进行备份前的重要步骤。恢复目录数据库...

    RMAN数据库备份详解

    RMAN 数据库备份详解 本文详细讲解了 RMAN 的备份机制以及如何备份,涵盖了数据库备份和 RMAN 备份的概念、RMAN 备份的类型、备份集和镜像副本、备份路径、备份...通过这些步骤,可以使用 RMAN 进行数据库备份和恢复。

    RMAN对数据库进行备份与恢复.

    RMAN对数据库进行备份与恢复

    windows下的oracle数据库rman自动备份和恢复.pdf

    Oracle数据库备份策略是指使用RMAN实现数据的增量备份。备份策略的目的时一旦发生故障需要快速恢复数据库。备份策略包括: 1. 每周进行两次Level0的数据全备份。 2. 其余时间进行Level1的增量备份。 3. 每天对...

    使用RMAN实现ORACLE数据库的增量备份.pdf

    【使用RMAN实现ORACLE数据库增量备份】 Oracle数据库作为广泛使用的商业关系型数据库管理系统,其在医疗机构中的应用尤其重要,因为这些系统存储着大量的患者信息和医学影像数据。随着医院信息化建设的加速,数据库...

    用RMAN进行ORACLE数据库备份的方法研究.pdf

    使用RMAN进行数据库备份可以确保数据的安全和可靠性。 RMAN备份的优点有: * 自动化备份过程,减少人工错误 * 提高备份速度,缩短备份时间 * 支持多种备份类型,包括联机备份和脱机备份 * 支持多种存储介质,包括...

    rman冷备脚本全备份数据库(异机备份和恢复)

    RMAN冷备脚本全备份数据库是Oracle数据库备份的重要方式之一。备份可以防止数据丢失,避免数据损坏和数据泄露。通过了解RMAN冷备脚本全备份数据库的步骤和执行过程,可以更好地保护数据库的安全和可靠性。

    基于RMAN的Oracle数据库备份与恢复机制.pdf

    基于RMAN的Oracle数据库备份与恢复机制.pdf 本文档详细介绍了基于RMAN的Oracle数据库备份与恢复机制。Oracle Recovery Manager(RMAN)是Oracle公司提供的一种专门备份工具,能够实现数据库定制备份、自动备份等...

    windows上oracle数据库rman自动备份策略

    RMAN(Recovery Manager)是Oracle提供的一种强大的工具,专门用于数据库备份、恢复和维护。本篇将深入探讨如何利用RMAN来实现自动备份策略,并结合Windows的任务计划程序进行定时执行。 一、RMAN简介 RMAN是Oracle...

    手把手教你ORACLE RMAN异地备份

    RMAN并不支持客户端连接服务器进行备份,所以仍然需要在服务器使用RMAN备份。由于服务器空间不足,需备份至异地。 知识点三:使用RMAN实现异地备份 可以通过映射远程共享目录实现备份。具体步骤包括: 1. 在PC2上...

    利用RMAN实现Oracle数据库的备份与恢复

    2. 服务器会话(Server Sessions):RMAN通过服务器会话与目标数据库进行交互,执行备份和恢复任务。 3. 目标数据库(Target Database):需要备份或恢复的数据库实例。 4. 恢复管理器仓库(RMAN Repository):存储...

    rman冷备全备数据库脚本(本机备份与恢复)-详细文档笔记总结

    2. 数据库备份:冷备全备数据库脚本可以用于定期备份数据库,以确保数据库的安全性。 3. 数据库恢复:当数据库出现故障时,冷备全备数据库脚本可以快速恢复数据库。 结论 rman 冷备全备数据库脚本是备份和恢复...

    Oracle-RMAN增量备份恢复测试记录

    开始第一次全备份是指使用RMAN对Oracle数据库进行第一次全备份,以便快速恢复数据库。 2.1.4.1、RMAN 配置选项 RMAN 配置选项是指使用RMAN对Oracle数据库进行备份的配置选项,以便快速恢复数据库。 2.1.4.2、开始...

    Oracle数据库RMAN备份与恢复.pdf

    在实际操作中,DBA通常会根据数据库使用情况制定多级备份策略,如每半年进行一次全备份,每月进行一次零级备份,每周进行一次一级备份,每天进行一次二级备份。通过这样的备份策略,可以保证数据的安全性和可靠性,...

    oracle数据库RMAN备份方案

    本方案通过使用 Oracle 的 RMAN 工具,提供了一个完整的备份和恢复解决方案,涵盖了数据库的备份、恢复和维护等方面。 一、背景 Oracle 数据库是企业级的关系数据库管理系统,广泛应用于各种行业和领域。然而,...

    Oracle数据库RMAN的自动备份脚本

    通过上述分析可以看出,该Oracle RMAN自动备份脚本是一个精心设计的解决方案,旨在提供高效、可靠的数据库备份与恢复能力。它不仅考虑到了不同级别的备份需求,还充分考虑了备份文件的管理和清理,确保了系统的稳定...

    RMAN备份脚本(详细)

    2. **配置通道**:通过`ALLOCATE CHANNEL`命令指定备份使用的通道类型、数量和设备类型。例如,`CHANNEL ch1 DEVICE TYPE DISK`分配一个名为ch1的通道用于磁盘备份。 3. **定义备份策略**:这通常包括选择要备份的...

    Oracle数据库Rman备份方案

    本文将详细介绍如何使用RMAN来制定Oracle数据库的备份策略,包括设置归档模式、创建备份脚本以及设置自动化的备份计划。 #### 二、设置数据库归档模式 为了实现RMAN备份,首先需要确保数据库处于归档模式。归档模式...

Global site tag (gtag.js) - Google Analytics