当前位置:操作系统 > Unix/Linux >>

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

使用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恢
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,