欢迎来到天天文库
浏览记录
ID:34725188
大小:67.68 KB
页数:3页
时间:2019-03-10
《oracle误删除表空间后数据库如何修复的方法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Oracle误删除表空间后数据库如何修复的方法1.创建一个新的表空间 createtablespacerainbow datafile'd:oracleoradataoa_test5rainbow01.dbf'size10m; 2.在其中建表 createtabletest (empint) tablespacerainbow; 3.插入数据 insertintotest (emp)values(1000); commit; 4.备份控制文件 alterdatabasebackupcontrolf
2、ileto'd:control.bak'; 5.关闭数据库 shutdownimmeidate; 6.进行全备份 备份所有的数据文件 7.打开数据库 startup 8.删除表空间rainbow droptablespacerainbowincludingcontents;16:46:03 9.为了验证我们再更新另外一个表空间里的test2表 insertintotest2(emp)values(888); commit; 10.关闭数据库,并用6进行的全备份restore所有的数据文件(不完全恢复一定
3、要全部的数据文件) 11.打开至mount; startupmount; 12.执行不完全恢复 recoverdatabaseuntiltime'2007-03-23:16:46:00'usingbackupcontrolfile; (为什么要使用usingbackupcontrolfile因为删除表空间后控制文件被修改了) SQL>recoverdatabaseuntiltime'2007-03-23:16:46:00'usingbackupcontrolfile; ORA-00279:更改471722(在03/
4、23/200716:39:44生成)对于线程1是必需的 ORA-00289:建议:D:ORACLEORADATAOA_TEST5ARCHIVEARC00001.001 ORA-00280:更改471722对于线程1是按序列#1进行的 指定日志:{=suggested
5、filename
6、AUTO
7、CANCEL} D:ORACLEORADATAOA_TEST5redo03.log 已应用的日志 完成介质恢复 13.打开数据库 alterdatabaseopenresetlogs; 数据库已更改
8、14.查询原来的数据 select*fromtest; 结果报错 ERRORatline1: ORA-00376:file11cannotbereadatthistime ORA-01111:namefordatafile11isunknown-renametocorrectfile ORA-01110:datafile11:'/opt/oracle/product/9.2.0/dbs/MISSING00011' 问题的原因:现在的控制文件中没有tablespacerainbow(前面已经将其删除) 虽然我们用备
9、份的控制文件对数据库进行了修复但是数据库打开时当前的控制 文件仍然是最新的控制文件。 出现'/opt/oracle/product/9.2.0/dbs/MISSING00011',是因为数据库启动时 发现控制文件和system表空间中的dv信息不一致造成的 解决方法:重建控制文件 用备份出来的控制文件'd:control.bak'重命名即可,或使用由alter databasebackupcontrolfiletotrace备份的进行重建。 15.重新开启数据库并查询数据 SQL>select*fromtest
10、; EMP ---------- 1000 SQL>select*fromtest2; 未选定行 说明数据库已经按我们的要求进行不完全恢复了
此文档下载收益归作者所有