我是靠谱客的博主 娇气草莓,最近开发中收集的这篇文章主要介绍Rman[backup database skip inaccessible]备份的恢复测试Rman[backup database skip inaccessible]备份的恢复测试,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Rman[backup database skip inaccessible]备份的恢复测试

一、概述

此实验模拟为PHONE表空间新添加数据文件‘PHONE02.DBF’(该数据文件中没有任何数据写入),然后将该数据文件脱机,并从操作系统删除,因为该数据文件尚为写入任何数据,所以其offline并删除并不会影响的PHONE的正常使用。然后通过RMAN对数据库执行全备(因为丢失数据文件,所以备份时须指定skip inaccessible关键字)。然后再就整个数据库执行恢复(因为是跳过丢失的数据文件进行的备份,所以恢复的时候需要到SQL下通过执行recover)。

二、模拟故障

1.检查PHONE表空间的当前数据文件
SQL> select tablespace_name,file_name from dba_data_files where tablespace_name='PHONE';

TABLESPACE_NAME                FILE_NAME
------------------------------ ------------------------------------------------------------
PHONE                          D:ORACLEPRODUCT10.2.0ORADATASTUDYPHONE01.DBF
 
2.向PHONE添加一个新的数据文件‘PHINE02.DBF’
SQL> alter tablespace phone add datafile 'D:ORACLEPRODUCT10.2.0ORADATASTUDYPHONE02.DBF' size 2
表空间已更改。
 
3.再次检查PHONE表空间是否已有新建的数据文件
SQL> select tablespace_name,file_name from dba_data_files where tablespace_name='PHONE';
TABLESPACE_NAME                FILE_NAME
------------------------------ ------------------------------------------------------------
PHONE                          D:ORACLEPRODUCT10.2.0ORADATASTUDYPHONE01.DBF
PHONE                          D:ORACLEPRODUCT10.2.0ORADATASTUDYPHONE02.DBF
 
4.将新添加的数据文件‘PHONE02.DBF’脱机
SQL> ALTER DATABASE DATAFILE 'D:ORACLEPRODUCT10.2.0ORADATASTUDYPHONE02.DBF' OFFLINE;
数据库已更改。
SQL>
SQL> SELECT NAME,STATUS FROM V$DATAFILE WHERE NAME LIKE '%PHONE%';
NAME                                                         STATUS
------------------------------------------------------------ -------
D:ORACLEPRODUCT10.2.0ORADATASTUDYPHONE01.DBF           ONLINE
D:ORACLEPRODUCT10.2.0ORADATASTUDYPHONE02.DBF           RECOVER
 
5.从操作系统删除‘PHONE02.DBF ’数据文件
SQL>host
C:>del D:oracleproduct10.2.0oradatastudyPHONE02.DBF
 
6.执行RMAN备份,因为PHONE表空间的‘PHONE02.DBF ’数据文件已经不存在,所以RMAN备份需指定“skip inaccessible” 关键字
RMAN> run{
2> allocate channel c1 device type disk format "f:FULL-x%U";
3>  backup database skip inaccessible plus archivelog delete input;
4> backup current controlfile  format 'f:FULL-xcontrol%t%f.ctl';
5> }
 
7.恢复测试(恢复控制文件)
SQL>startup nomount force
SQL>host
C:Documents and SettingsAdministrator> rman target /
恢复管理器: Release 10.2.0.1.0 - Production on 星期三 9月 1 23:19:41 2010
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
连接到目标数据库: study (未装载)
RMAN> restore controlfile from 'F:FULL-xCONTROL7286087020.CTL';
启动 restore 于 01-9月 -10
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK
通道 ORA_DISK_1: 正在复原控制文件
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:06
输出文件名=D:ORACLEPRODUCT10.2.0ORADATASTUDYCONTROL01.CTL
输出文件名=D:ORACLEPRODUCT10.2.0ORADATASTUDYCONTROL02.CTL
输出文件名=D:ORACLEPRODUCT10.2.0ORADATASTUDYCONTROL03.CTL
完成 restore 于 01-9月 -10
RMAN> alter database mount;
数据库已装载
释放的通道: ORA_DISK_1
RMAN>
 
8.恢复测试(restore所有可用的数据文件)
SQL> select file#,name from v$datafile;
     FILE# NAME
---------- ------------------------------------------------------------
         1 D:ORACLEPRODUCT10.2.0ORADATASTUDYSYSTEM01.DBF
         2 D:ORACLEPRODUCT10.2.0ORADATASTUDYUNDOTBS01.DBF
         3 D:ORACLEPRODUCT10.2.0ORADATASTUDYSYSAUX01.DBF
         4 D:ORACLEPRODUCT10.2.0ORADATASTUDYUSERS01.DBF
         5 D:ORACLEPRODUCT10.2.0ORADATASTUDYSTREAMS_TBS01.DBF
         6 D:ORACLEPRODUCT10.2.0ORADATASTUDYPHONE01.DBF
         7 D:ORACLEPRODUCT10.2.0ORADATASTUDYPHONE02.DBF
已选择7行。

RMAN> restore datafile 1,2,3,4,5,6;
启动 restore 于 01-9月 -10
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到D:ORACLEPRODUCT10.2.0ORADATASTUDYSYSTEM01.DBF
正将数据文件00002恢复到D:ORACLEPRODUCT10.2.0ORADATASTUDYUNDOTBS01.DBF
正将数据文件00003恢复到D:ORACLEPRODUCT10.2.0ORADATASTUDYSYSAUX01.DBF
正将数据文件00004恢复到D:ORACLEPRODUCT10.2.0ORADATASTUDYUSERS01.DBF
正将数据文件00005恢复到D:ORACLEPRODUCT10.2.0ORADATASTUDYSTREAMS_TBS01.DBF
正将数据文件00006恢复到D:ORACLEPRODUCT10.2.0ORADATASTUDYPHONE01.DBF
通道 ORA_DISK_1: 正在读取备份段 F:FULL-XCLMRBQU_1_1
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = F:FULL-XCLMRBQU_1_1 标记 = TAG20100901T231645
通道 ORA_DISK_1: 恢复完成, 用时: 00:01:15
完成 restore 于 01-9月 -10
 
9.恢复测试(恢复数据库)
 因为数据库中PHONE表空间的‘PHINE02.DBF’数据文件已在系统中删除,所以恢复的时候回报错RMAN-06067,这个时候我们不要害怕 ,切换到SQL>中执行【recover database using backup controlfile until cancel;】即可完成数据库的恢复
 
RMAN> recover datafile 1;
启动 recover 于 02-9月 -10
使用通道 ORA_DISK_1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 09/01/2010 22:15:43
RMAN-06067: RECOVER DATABASE required with a backup or created controlfile
C:Documents and SettingsAdministrator>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 9月 2 00:32:51 2010
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
SQL> conn /as sysdba
已连接。
SQL> alter database datafile 7 offline drop;
数据库已更改。
SQL> recover database using backup controlfile until cancel;
ORA-00279: 更改 313505 (在 09/01/2010 23:16:46 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:ORACLEPRODUCT10.2.0ARCHIVELOGARC00027_0728496696.001
ORA-00280: 更改 313505 (用于线程 1) 在序列 #27 中

指定日志: {=suggested | filename | AUTO | CANCEL}
auto
ORA-00279: 更改 313565 (在 09/01/2010 23:18:18 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:ORACLEPRODUCT10.2.0ARCHIVELOGARC00028_0728496696.001
ORA-00280: 更改 313565 (用于线程 1) 在序列 #28 中
ORA-00278: 此恢复不再需要日志文件
'D:ORACLEPRODUCT10.2.0ARCHIVELOGARC00027_0728496696.001'

已应用的日志。
完成介质恢复。
SQL>
 
10.指定 resetlogs关键字,启动数据库到open状态
SQL> alter database open resetlogs;
数据库已更改。
 
11.验证数据库是否正常,验证PHONE表空间是否可用
SQL> select tablespace_name,file_name from dba_data_files where file_name like '%PHONE%';
TABLESPACE_NAME                FILE_NAME
------------------------------ ------------------------------------------------------------
PHONE                          D:ORACLEPRODUCT10.2.0ORADATASTUDYPHONE01.DBF
PHONE                          D:ORACLEPRODUCT10.2.0ORADATASTUDYPHONE02.DBF
SQL>

SQL> select name,status from v$datafile where name like '%PHONE%';
NAME                                                         STATUS
------------------------------------------------------------ -------
D:ORACLEPRODUCT10.2.0ORADATASTUDYPHONE01.DBF           ONLINE
D:ORACLEPRODUCT10.2.0ORADATASTUDYPHONE02.DBF           OFFLINE
SQL>
 
三、数据库恢复正常
 数据库恢复测试完成,数据库恢复正常。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/682914/viewspace-672517/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/682914/viewspace-672517/

最后

以上就是娇气草莓为你收集整理的Rman[backup database skip inaccessible]备份的恢复测试Rman[backup database skip inaccessible]备份的恢复测试的全部内容,希望文章能够帮你解决Rman[backup database skip inaccessible]备份的恢复测试Rman[backup database skip inaccessible]备份的恢复测试所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部