Oracle数据库rman恢复之system表空间恢复详解

数据库 Oracle
本文我们主要介绍了Oracle数据库rman恢复之system表空间恢复的过程,并给出了两个示例来详细地描述了rman恢复system表空间的方法,希望能够对您有所帮助。

Oracle数据库rman恢复system表空间恢复是本文我们主要要介绍的内容,system表空间存放着数据字典的信息。当数据库处于open状态,如果system表空间所对应的数据文件出现介质失败,那么当在其数据文件上执行I/O操作时,数据库会自动关闭;当数据库处于关闭状态时,如果system表空间所对应的数据文件出现介质失败,数据库将不能打开。恢复system表空间必须在mount状态下进行。

示例一:system表空间的数据文件被误删除备份数据库。

删除system表空间对应的数据文件。启动数据库到mount状态。使用restore datafile转储数据文件,并使用recover datafile命令应用归档日志,***使用alter database open打开数据库。

--备份数据库(略)   

--删除system表空间对应的数据文件   

  1. RMAN> host rm $ORACLE_BASE/product/10.2.0/oradatabak/system01.dbf    
  2. RMAN> startup    
  3. connected to target database (not started)    
  4. Oracle instance started    
  5. database mounted    
  6. RMAN-00571: ===========================================================    
  7. RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============    
  8. RMAN-00571: ===========================================================    
  9. RMAN-03002: failure of startup command at 08/22/2011 21:56:39    
  10. ORA-01157: cannot identify/lock data file 1 - see DBWR trace file    
  11. ORA-01110: data file 1: '/oracle/10g/oracle/product/10.2.0/oradatabak/system01.dbf'    
  12. SQL> select file#,error from v$recover_file;    
  13. FILE# ERROR    
  14. ---------- -----------------------------------------------------------------     
  15. 1 FILE NOT FOUND    
  16. SQL> select file#,name from v$datafile where file#=1;    
  17. FILE# NAME    
  18. ---------- ------------------------------------------------------------------------------------------------------------------------     
  19. 1 /oracle/10g/oracle/product/10.2.0/oradatabak/system01.dbf   

--启动数据库到mount状态并进行恢复   

  1. RMAN> run {    
  2. 2> startup force mount;    
  3. 3> restore datafile 1;    
  4. 4> recover datafile 1;    
  5. 5> sql 'alter database open';    
  6. 6> }   

示例二:system表空间数据文件所在磁盘出现故障

备份数据库(略)删除system表空间对应的数据文件。启动数据库到mount状态。在restore database之前,执行set newname为数据文件指定新的位置。在restore database之后,执行switch datafile改变控制文件中数据文件位置和名称。之后通过执行recover database应用归档日志。***执行alter database open打开数据库。

--备份数据库(略)   

--删除system表空间对应的数据文件   

  1. RMAN> host 'rm /oracle/10g/oracle/product/10.2.0/oradatabak/system01.dbf'    
  2. 2> ;   

--启动数据库到mount状态并进行恢复(为数据文件指定新位置,转储数据文件,恢复数据文件,打开数据库)   

  1. RMAN> run {    
  2. 2> startup force mount;    
  3. 3> set newname for datafile 1 to '/oracle/10g/oracle/product/10.2.0/oradata/oralife/system01.dbf';    
  4. 4> restore datafile 1;    
  5. 5> switch datafile 1;    
  6. 6> recover datafile 1;    
  7. 7> sql 'alter database open';    
  8. 8> }   

关于Oracle数据库rman恢复之system表空间恢复的相关知识就介绍到这里了,希望本次的介绍能够对您有所收获!

【编辑推荐】

  1. SSIS工程师为您揭秘SQL Server数据流
  2. SQL Server 2008 MDX学习笔记之理解元数组
  3. SQL Server数据库DataRelation的应用示例详解
  4. SQL Server 2005/2008中的CTE应用之递归查询
  5. SQL Server 2008数据库学习笔记之MDX查询示例
责任编辑:赵鹏 来源: CSDN博客
相关推荐

2011-08-29 17:00:47

Oracle数据库RM表空间数据块介质

2011-08-29 16:41:14

OracleRMAN恢复数据文件的恢复

2011-08-30 09:35:10

OracleRMAN不完全恢复基于时间恢复

2011-08-30 09:50:22

OracleRMAN不完全恢复基于SCN恢复

2010-03-31 10:39:40

RMANOracle

2011-08-30 10:02:18

OracleRMAN不完全恢复基于日志序列号恢复

2009-10-23 15:30:17

Oracle表空间恢复

2019-06-12 08:57:43

Oracle数据库恢复

2011-04-11 13:46:17

Oracle数据库备份

2009-11-20 13:29:59

Oracle数据库恢复

2011-02-28 13:31:17

Oracle数据库

2011-05-26 09:36:07

Oracle数据库Redo故障

2011-08-15 23:14:34

Oraclerman环境配置

2011-08-03 18:42:21

Oracle数据库重做日志

2011-03-04 14:59:16

Raidoracle数据库

2009-04-03 10:54:49

Oracle备份恢复

2011-03-24 17:21:42

Oracle数据库Redo故障

2011-05-11 13:25:57

Oracle数据库后备恢复

2015-10-29 15:06:36

DB2重定向恢复数据

2010-04-12 10:40:49

Oracle数据库
点赞
收藏

51CTO技术栈公众号