mlqiang 发表于 2013-2-23 11:32:24

体验了一把recover

与新手共勉:
迁移非系统表空间数据文件mlq ,mlq_index分别对应数据文件 /disk2/data01.dbf /disk2/data03.dbf /disk2/data01_index.dbf
本来已将表空间mlq对应的文件/disk2/data01.dbf /disk2/data03.dbf,迁移到/disk4下了,由于没有及时将/disk2下的
垃圾data03.dbf删除,在迁移mlq_index时,cp /disk2/data01_index.dbf /disk4 时误操作了cp /disk2/data03.dbf /disk4
覆盖了/disk4/data03.dbf,再启数据库报错,ora-01113:file 9 needs media recovery ora-01110:data file 9:'/disk4/data03.dbf'
后来才知道这是一个非常典型的错误,处理思路:
1、startup mount; 2、alter database datafile '/disk4/data03.dbf' offline;
3、alter database datafile '/disk4/data03.dbf' offline drop;4、alter database open;
执行2、时报错:ora-01145:offline immediate disallowed unless media recovery enabled

又用recover datafile '/disk4/data03.dbf‘
成功 !

这是单个文件恢复,如果多个文件,说是执行 recover database; 没有实验

fishcat 发表于 2013-2-23 15:40:31

支持楼主

mlqiang 发表于 2013-2-24 20:40:52

确切说应该是移动数据文件

mlqiang 发表于 2013-3-16 16:04:50

recover 三种用法:
1、recover database                                 
2、recover tablespace "表空间号"|“表空间名”   
3、recover datafile "数据文件名"|“数据文件号”
   1、和3、在mount下执行,2、在open下执行

系统文件损坏:1、startup mount;
                     2、cp对应冷备份文件
                     3、文件对应位置变了(硬盘坏),还要用alter database rename to 改下
                     4、recover database ;
                     5、alter database open;

非系统文件损坏:
                     1、lter database datafile xx offline文件脱机
                     2、alter database open;
                     3、cp对应冷备份文件
                     4、recover datafile xx;
                     5、alter tablespace xx online;
记着用dba_data_files,dba_tablespaces,v$datafile,v$recover_file,v$recovery_log检查。

页: [1]
查看完整版本: 体验了一把recover