之前我们介绍过:Oracle数据库RMAN恢复之数据文件的恢复详解,本文我们介绍一下Oracle数据库REMAN恢复之表空间和数据块介质的恢复,接下来我们就开始介绍一下这部分内容,首先我们先介绍一下恢复非系统表空间的示例。
示例一:表空间的数据文件被误删除
open状态下删除表空间对应的所有数据文件。
在open状态下使用alter tablespace … offline for recover 脱机表空间。
使用restore tablespace …转储表空间所有的数据文件。
使用recover tablespace …应用归档日志。
最后使用alter tablespace … online使表空间联机。
–open状态下删除表空间对应的所有数据文件。
[oracle@localhost~]$rm/oracle/10g/oracle/product/10.2.0/oradatabak/users01.dbf;
–恢复表空间
[oracle@localhost~]$rmantargetsys/oracle@oralifenocatalog RMAN>run{ 2>sql'altertablespaceusersofflineforrecover'; 3>restoretablespaceusers; 4>recovertablespaceusers; 5>sql'altertablespaceusersonline'; 6>}
示例二:表空间的数据文件所在磁盘出现故障
open状态下删除表空间对应的所有数据文件。
在open状态下使用alter tablespace … offline for recover 脱机表空间。
执行set newname为数据文件指定新的位置。
使用restore tablespace …转储表空间所有的数据文件。
执行switch datafile改变控制文件中数据文件位置和名称。
使用recover tablespace …应用归档日志。
最后使用alter tablespace … online使表空间联机。
–open状态下删除表空间对应的所有数据文件。
[oracle@localhost~]$rm/oracle/10g/oracle/product/10.2.0/oradatabak/users01.dbf; SQL>select*fromt_user; select*fromt_user * ERRORatline1: ORA-00376:file4cannotbereadatthistime ORA-01110:datafile4: '/oracle/10g/oracle/product/10.2.0/oradatabak/users01.dbf' SQL>selectfile#,errorfromv$recover_file; FILE#ERROR --------------------------------------------------------------------------- 4FILENOTFOUND --恢复表空间 [oracle@localhost~]$rmantargetsys/oracle@oralifenocatalog run{ sql'altertablespaceusersofflineforrecover'; setnewnamefordatafile4to'$ORACLE_BASE/product/10.2.0/oradata/oralife/user01.dbf'; restoretablespaceusers; switchdatafileall; recovertablespaceusers; sql'altertablespaceusersonline'; } --已恢复 SQL>select*fromt_user; TEXT -------------------- java_ SQL>selectnamefromv$datafilewherefile#=4; NAME -------------------------------------------------------------------------------- /oracle/10g/oracle/product/10.2.0/oradata/oralife/user01.dbf
数据块介质恢复
如果数据文件部分数据块出现损坏,可以使用blockrecover 命令恢复损坏数据块。
如:
RMAN>blockrecoverdevicetypedisk 2>datafile5block2,7,88;
关于Oracle数据库RMAN恢复之表空间和数据块介质的恢复方法就介绍到这里了,希望本次的介绍能够对您有所帮助。
【编辑推荐】
- Oracle数据库PL/SQL快捷键设置详解Oracle数据库诊断工具RDA的安装与使用详解Oracle数据库GLOBAL_NAMES参数的详细研究Oracle数据库归档模式的切换及其相关操作详解Oracle 10g UNDO表空间过大导致磁盘空间不足的解决