体验了一把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-01145ffline immediate disallowed unless media recovery enabled

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

这是单个文件恢复,如果多个文件,说是执行 recover database; 没有实验
标签: 暂无标签
mlqiang

写了 2 篇文章,拥有财富 68,被 2 人关注

转播转播 分享分享 分享淘帖
回复

使用道具

P5 | 发表于 2013-2-23 15:40:31
支持楼主
回复

使用道具

P4 | 发表于 2013-2-24 20:40:52
确切说应该是移动数据文件
回复

使用道具

P4 | 发表于 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检查。

回复

使用道具

您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

意见
反馈