130506rman恢复测试,四种场景

1.        非系统表空间损坏,而控制文件和联机日志文件没有损坏

这是如果数据库为打开状态,则只需要进行表空间级别的恢复,如下所示,假设users表空间损坏

 

SQL> SELECT * FROM DBA_DATA_FILES;
 
FILE_NAME                                                                          FILE_ID TABLESPACE_NAME                     BYTES     BLOCKS STATUS    RELATIVE_FNO AUTOEXTENSIBLE   MAXBYTES MAXBLOCKS INCREMENT_BY USER_BYTES USER_BLOCKS ONLINE_STATUS
------------------------------------------------------------------------------------------ ------------------------------ ---------- ---------- --------------------- -------------- ---------- ---------- ------------ --------------------- -------------
D:\APP\CALVIN\ORADATA\TEST\USERS01.DBF                                                   4 USERS                           15728640       1920 AVAILABLE            4 YES            3435972198    4194302          160  14680064        1792 ONLINE
D:\APP\CALVIN\ORADATA\TEST\UNDOTBS01.DBF                                                 3 UNDOTBS1                       104857600      12800 AVAILABLE            3 YES            3435972198    4194302          640 103809024       12672 ONLINE
D:\APP\CALVIN\ORADATA\TEST\SYSAUX01.DBF                                                  2 SYSAUX                         660602880      80640 AVAILABLE            2 YES            3435972198    4194302         1280 659554304       80512 ONLINE
D:\APP\CALVIN\ORADATA\TEST\SYSTEM01.DBF                                                  1 SYSTEM                         796917760      97280 AVAILABLE            1 YES            3435972198    4194302         1280 795869184       97152 SYSTEM
D:\APP\CALVIN\ORADATA\TEST\EXAMPLE01.DBF                                                 5 EXAMPLE                        104857600      12800 AVAILABLE            5 YES            3435972198    4194302           80 103809024       12672 ONLINE
D:\APP\CALVIN\ORADATA\TEST\TEST01.DBF                                                    6TEST01                         104857600      12800 AVAILABLE            6 NO                      0          0            0 103809024       12672 ONLINE
D:\APP\CALVIN\ORADATA\TEST\TEST02.DBF                                                     7TEST02                         104857600      12800AVAILABLE            7 NO                      0          0            0 103809024       12672 ONLINE
 
7 rowsselected
 
SQL> SELECT * FROM v$tablespace;
 
       TS# NAME                          INCLUDED_IN_DATABASE_BACKUP BIGFILE FLASHBACK_ON ENCRYPT_IN_BACKUP
---------- ------------------------------ ---------------------------------- ------------ -----------------
         0 SYSTEM                         YES                         NO      YES         
         1 SYSAUX                         YES                         NO      YES         
         2 UNDOTBS1                       YES                         NO      YES         
         4 USERS                          YES                         NO      YES         
         3 TEMP                           NO                          NO      YES         
         6 EXAMPLE                        YES                         NO      YES         
         7 TEST01                         YES                         NO      YES         
         8 TEST02                         YES                         NO      YES         
 
8 rowsselected
 
RMAN> run
2> {
3> sql 'altertablespace users offline immediate';
4> restore tablespaceusers;
5> recover tablespaceusers;
6> sql 'altertablespace users online';
7> }
 
sql 语句: alter tablespaceusers offline immediate
 
启动 restore 于 07-5月 -13
使用通道 ORA_DISK_1
 
通道 ORA_DISK_1: 正在开始还原数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_DISK_1: 将数据文件 00004 还原到 D:\APP\CALVIN\ORADATA\TEST\USERS01.DBF
通道 ORA_DISK_1: 正在读取备份片段D:\APP\CALVIN\FLASH_RECOVERY_AREA\TEST\BACKUPSET\2013_05_06\O1_MF_NNNDF_TAG20130506T174452_8RGYWNYX_.BKP
通道 ORA_DISK_1: 段句柄 = D:\APP\CALVIN\FLASH_RECOVERY_AREA\TEST\BACKUPSET\2013_05_06\O1_MF_NNNDF_TAG20130506T174452_8RGYWNYX_.BKP标记 = TAG20130506T174452
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:00:01
完成 restore 于 07-5月 -13
 
启动 recover 于 07-5月 -13
使用通道 ORA_DISK_1
 
正在开始介质的恢复
介质恢复完成, 用时: 00:00:02
 
完成 recover 于 07-5月 -13
 
sql 语句: alter tablespaceusers online


 

恢复表空间前,必须将表空间离线;然后通过restore命令还原users表空间包含的所有数据文件,在发出recover命令,通过应用归档日志文件,从而恢复表空间,回复外币后,将users表空间设置为在线状态;

 

如果数据库为关闭状态,则现将数据库启动到mount状态,然后将受损的表空间的所有数据文件离线后,将数据库启动到打开状态,再执行上面这段程序即可;

 

2.        某个非系统数据文件损坏,而控制文件和联机日志文件没有损坏;

如果某个非系统数据文件损坏,则我们进行数据文件级别的恢复操作,如果数据库处于打开的状态,则执行一下语句,这里假设6号文件损坏;

 

在tablespace在线的情况下强行离线数据文件,是一种特殊情况,会导致再次在线数据文件是,需要通过归档日志进行media recover;

 

 

SQL> select file_name ,file_id, tablespace_name from dba_data_files;
 
FILE_NAME                                                                           FILE_IDTABLESPACE_NAME
------------------------------------------------------------------------------------------ ------------------------------
D:\APP\CALVIN\ORADATA\TEST\USERS01.DBF                                                    4 USERS
D:\APP\CALVIN\ORADATA\TEST\UNDOTBS01.DBF                                                 3 UNDOTBS1
D:\APP\CALVIN\ORADATA\TEST\SYSAUX01.DBF                                                  2 SYSAUX
D:\APP\CALVIN\ORADATA\TEST\SYSTEM01.DBF                                                  1 SYSTEM
D:\APP\CALVIN\ORADATA\TEST\EXAMPLE01.DBF                                                 5 EXAMPLE
D:\APP\CALVIN\ORADATA\TEST\TEST01.DBF                                                    6 TEST01
D:\APP\CALVIN\ORADATA\TEST\TEST02.DBF                                                    7 TEST02
 
RMAN> run {
2> sql 'alter database datafile4 offline';
3> restore datafile 4;
4> recover datafile 4;
5> sql 'alter database datafile4 online';
6> }
 
sql 语句:alter database datafile 4 offline
 
启动restore于07-5月-13
使用通道ORA_DISK_1
 
通道ORA_DISK_1:正在开始还原数据文件备份集
通道ORA_DISK_1:正在指定从备份集还原的数据文件
通道ORA_DISK_1:将数据文件00004还原到D:\APP\CALVIN\ORADATA\TEST\USERS01.DBF
通道ORA_DISK_1:正在读取备份片段D:\APP\CALVIN\FLASH_RECOVERY_AREA\TEST\BACKUPSET\2013_05_06\O1_MF_NNNDF_TAG20130506T174452_8RGYWNYX_.BKP
通道ORA_DISK_1:段句柄=D:\APP\CALVIN\FLASH_RECOVERY_AREA\TEST\BACKUPSET\2013_05_06\O1_MF_NNNDF_TAG20130506T174452_8RGYWNYX_.BKP标记 =TAG20130506T174452
通道ORA_DISK_1:已还原备份片段1
通道ORA_DISK_1:还原完成,用时:00:00:01
完成restore于07-5月-13
 
启动recover于07-5月-13
使用通道ORA_DISK_1
 
正在开始介质的恢复
介质恢复完成,用时:00:00:01
 
完成recover于07-5月-13
 
sql 语句:alter database datafile 4 online


 

 

如果在非系统数据文件损坏时,数据库已经关闭,则先将数据库启动到mount,然后将受损的文件离线以后,将数据库启动到打开状态,再执行以上这段程序即可;

 

3.        系统表空间的数据文件损坏,而控制文件和联机日志文件没有损坏;

如果系统表空间损坏,则只能先将数据库启动到mount状态,然后进行数据文件级别的恢复操作。

 

SQL> select file_name , file_id,tablespace_name from dba_data_files;
 
FILE_NAME                                                                          FILE_ID TABLESPACE_NAME
------------------------------------------------------------------------------------------ ------------------------------
D:\APP\CALVIN\ORADATA\TEST\USERS01.DBF                                                   4 USERS
D:\APP\CALVIN\ORADATA\TEST\UNDOTBS01.DBF                                                 3 UNDOTBS1
D:\APP\CALVIN\ORADATA\TEST\SYSAUX01.DBF                                                  2 SYSAUX
D:\APP\CALVIN\ORADATA\TEST\SYSTEM01.DBF                                                  1 SYSTEM
D:\APP\CALVIN\ORADATA\TEST\EXAMPLE01.DBF                                                  5 EXAMPLE
D:\APP\CALVIN\ORADATA\TEST\TEST01.DBF                                                    6 TEST01
D:\APP\CALVIN\ORADATA\TEST\TEST02.DBF                                                    7 TEST02
 
7 rows selected
 
 
Oracle Database 11g Enterprise Edition Release11.2.0.1.0 - 64bit Production
 
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。
 
Total System Global Area 3407261696 bytes
Fixed Size                  2180504 bytes
Variable Size            1962936936 bytes
Database Buffers         1426063360 bytes
Redo Buffers               16080896 bytes
数据库装载完毕。
SQL>
 
RMAN> connect target /
 
已连接到目标数据库:TEST (DBID=2109778957,未打开)
 
RMAN> run{
2> sql 'alter database datafile 1 offline';
3> restore datafile 1;
4> recover datafile 1;
5> sql 'alter database datafile 1 online';
6> }
 
使用目标数据库控制文件替代恢复目录
sql 语句:alter database datafile 1 offline
 
启动restore于07-5月-13
分配的通道:ORA_DISK_1
通道ORA_DISK_1: SID=189设备类型=DISK
 
通道ORA_DISK_1:正在开始还原数据文件备份集
通道ORA_DISK_1:正在指定从备份集还原的数据文件
通道ORA_DISK_1:将数据文件00001还原到D:\APP\CALVIN\ORADATA\TEST\SYSTEM01.DBF
通道ORA_DISK_1:正在读取备份片段D:\APP\CALVIN\FLASH_RECOVERY_AREA\TEST\BACKUPSET\2013_05_07\O1_MF_NNNDF_TAG20130507T185034_8RKQ3V5C_.BKP
通道ORA_DISK_1:段句柄= D:\APP\CALVIN\FLASH_RECOVERY_AREA\TEST\BACKUPSET\2013_05_07\O1_MF_NNNDF_TAG20130507T185034_8RKQ3V5C_.BKP标记 =TAG20130507T185034
通道ORA_DISK_1:已还原备份片段1
通道ORA_DISK_1:还原完成,用时:00:00:25
完成restore于07-5月-13
 
启动recover于07-5月-13
使用通道ORA_DISK_1
 
正在开始介质的恢复
介质恢复完成,用时:00:00:00
 
完成 recover于 07-5月 -13
 
sql 语句: alter database datafile 1online
 
RMAN> sql 'alter database open';
 
sql 语句: alter database open
 
RMAN> sql 'select status from v$instance';
 
sql 语句: select status from v$instance
 
RMAN>
 
 
SQL> select status from v$instance;
 
STATUS
------------
OPEN

4.        如果所有的数据文件丢失,而控制文件和联机日志文件没有损坏

这时,我们必须进行数据库级别的恢复,将数据库启动到mount阶段以后,执行以下命令:


SQL> host "del D:\app\calvin\oradata\test\*.dbf";
D:\app\calvin\oradata\test\EXAMPLE01.DBF
另一个程序正在使用此文件,进程无法访问。
D:\app\calvin\oradata\test\SYSAUX01.DBF
另一个程序正在使用此文件,进程无法访问。
D:\app\calvin\oradata\test\SYSTEM01.DBF
另一个程序正在使用此文件,进程无法访问。
D:\app\calvin\oradata\test\TEMP01.DBF
另一个程序正在使用此文件,进程无法访问。
D:\app\calvin\oradata\test\TEST01.DBF
另一个程序正在使用此文件,进程无法访问。
D:\app\calvin\oradata\test\TEST02.DBF
另一个程序正在使用此文件,进程无法访问。
D:\app\calvin\oradata\test\UNDOTBS01.DBF
另一个程序正在使用此文件,进程无法访问。
D:\app\calvin\oradata\test\USERS01.DBF
另一个程序正在使用此文件,进程无法访问。

数据文件正在使用,无法删除,关闭Oracle数据库在尝试删除;
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> host "del D:\app\calvin\oradata\test\*.dbf";

SQL> startup ;
ORACLE 例程已经启动。

Total System Global Area 3407261696 bytes
Fixed Size                  2180504 bytes
Variable Size            1962936936 bytes
Database Buffers         1426063360 bytes
Redo Buffers               16080896 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 1 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 1: 'D:\APP\CALVIN\ORADATA\TEST\SYSTEM01.DBF'


SQL> shutdown abort;
ORACLE 例程已经关闭。
SQL> shutdown mount;
SP2-0717: 非法的 SHUTDOWN 选项
SQL> startup mount;
ORACLE 例程已经启动。

Total System Global Area 3407261696 bytes
Fixed Size                  2180504 bytes
Variable Size            1962936936 bytes
Database Buffers         1426063360 bytes
Redo Buffers               16080896 bytes
数据库装载完毕。
SQL>

PS C:\Users\calvin> rman

恢复管理器: Release 11.2.0.1.0 - Production on 星期二 5月 7 19:04:45 2013

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

RMAN> connect target /

已连接到目标数据库: TEST (DBID=2109778957, 未打开)

RMAN> run {
2> restore database;
3> recover database;
4> alter database open;
5> }

启动 restore 于 07-5月 -13
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=189 设备类型=DISK

通道 ORA_DISK_1: 正在开始还原数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_DISK_1: 将数据文件 00001 还原到 D:\APP\CALVIN\ORADATA\TEST\SYSTEM01.DBF
通道 ORA_DISK_1: 将数据文件 00002 还原到 D:\APP\CALVIN\ORADATA\TEST\SYSAUX01.DBF
通道 ORA_DISK_1: 将数据文件 00003 还原到 D:\APP\CALVIN\ORADATA\TEST\UNDOTBS01.DBF
通道 ORA_DISK_1: 将数据文件 00004 还原到 D:\APP\CALVIN\ORADATA\TEST\USERS01.DBF
通道 ORA_DISK_1: 将数据文件 00005 还原到 D:\APP\CALVIN\ORADATA\TEST\EXAMPLE01.DBF
通道 ORA_DISK_1: 将数据文件 00006 还原到 D:\APP\CALVIN\ORADATA\TEST\TEST01.DBF
通道 ORA_DISK_1: 将数据文件 00007 还原到 D:\APP\CALVIN\ORADATA\TEST\TEST02.DBF
通道 ORA_DISK_1: 正在读取备份片段 D:\APP\CALVIN\FLASH_RECOVERY_AREA\TEST\BACKUPSET\2013_05_07\O1_MF_NNNDF_TAG20130507T185034_8RKQ3V5C_.BKP
通道 ORA_DISK_1: 段句柄 = D:\APP\CALVIN\FLASH_RECOVERY_AREA\TEST\BACKUPSET\2013_05_07\O1_MF_NNNDF_TAG20130507T185034_8RKQ3V5C_.BKP 标记 = TAG20130507T185034
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:00:46
完成 restore 于 07-5月 -13

启动 recover 于 07-5月 -13
使用通道 ORA_DISK_1

正在开始介质的恢复
介质恢复完成, 用时: 00:00:03

完成 recover 于 07-5月 -13

数据库已打开

RMAN>


SQL> select status from v$instance;

STATUS
------------
OPEN


weixin073智慧旅游平台开发微信小程序+ssm后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
python017基于Python贫困生资助管理系统带vue前后端分离毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值