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:\ORACLE\PRODUCT\10.2.0\ORADATA\STUDY\PHONE01.DBF
------------------------------ ------------------------------------------------------------
PHONE D:\ORACLE\PRODUCT\10.2.0\ORADATA\STUDY\PHONE01.DBF
2.向PHONE添加一个新的数据文件‘PHINE02.DBF’
SQL> alter tablespace phone add datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\STUDY\PHONE02.DBF' size 2
SQL> alter tablespace phone add datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\STUDY\PHONE02.DBF' size 2
表空间已更改。
3.再次检查PHONE表空间是否已有新建的数据文件
SQL> select tablespace_name,file_name from dba_data_files where tablespace_name='PHONE';
SQL> select tablespace_name,file_name from dba_data_files where tablespace_name='PHONE';
TABLESPACE_NAME FILE_NAME
------------------------------ ------------------------------------------------------------
PHONE D:\ORACLE\PRODUCT\10.2.0\ORADATA\STUDY\PHONE01.DBF
PHONE D:\ORACLE\PRODUCT\10.2.0\ORADATA\STUDY\PHONE02.DBF
------------------------------ ------------------------------------------------------------
PHONE D:\ORACLE\PRODUCT\10.2.0\ORADATA\STUDY\PHONE01.DBF
PHONE D:\ORACLE\PRODUCT\10.2.0\ORADATA\STUDY\PHONE02.DBF
4.将新添加的数据文件‘PHONE02.DBF’脱机
SQL> ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\STUDY\PHONE02.DBF' OFFLINE;
SQL> ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\STUDY\PHONE02.DBF' OFFLINE;
数据库已更改。
SQL>
SQL> SELECT NAME,STATUS FROM V$DATAFILE WHERE NAME LIKE '%PHONE%';
SQL>
SQL> SELECT NAME,STATUS FROM V$DATAFILE WHERE NAME LIKE '%PHONE%';
NAME