资源描述:
《ORACLE表空间恢复方案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、ORACLE表空间恢复方案一、用户表空间错误:在启动数据库时出现ORA-01157,ORA-01110或操作系统级错误例如ORA-07360,在关闭数据库(使用shutdownnormal或shutdownimmediate)时将导致错误ORA-01116,ORA-01110以及操作系统级错误ORA-07368解决,以下有两种解决方案:1.用户的表空间可以被轻易地重建即最近导出的对象是可用的或表空间中的对象可以被轻易地重建等.在这种情况下,最简单的方法是offline并删除该数据文件,删除表空间并重建表空间以及所有的对
2、象.svrmgrl>startupmountsvrmgrl>alterdatabasedatafilefilenameofflinedrop;svrmgrl>alterdatabaseopen;svrmgrl>droptablespacetablespace_nameincludingcontents;重建表空间及所有对象.2.用户的表空间不能够被轻易地重建在大多数情况下,重建表空间是不可能及太辛苦的工作.方法是倒备份及做介质恢复.如果您的系统运行在NOARCHIVELOG模式下,则只有丢失的数据。在onlinered
3、olog中方可被恢复,步骤如下:1)Restorethelostdatafilefromabackup2)svrmgrl>startupmount3)svrmgrl>selectv1.group#,member,sequence#,first_change#>fromv$logv1,v$logfilev2>wherev1.group#=v2.group#;4)如果数据库运行在NOARCHIVELOG模式下则:svrmgrl>selectfile#,change#fromv$recover_file;如果CHANGE#大
4、于最小的FIRST_CHANGE#则数据文件可以被恢复。如果CHANGE#小于最小的FIRST_CHANGE#则数据文件不可恢复。恢复最近一次的全备份或采用方案一.5)svrmgrl>recoverdatafilefilename;6)确认恢复成功7)svrmgrl>alterdatabaseopenresetlogs;3.只读表空间无需做介质恢复,只要将备份恢复即可.唯一的例外是:表空间在最后一次备份后被改为read-write模式表空间在最后一次备份后被改为read-only模式在这种情况下,均需进行介质恢复二、临
5、时表空间临时表空间并不包含真正的数据,恢复的方法是删除临时表空间并重建即可.三、系统表空间如果备份不可用,则只能采用重建数据库的方法四、回滚表空间有两种情况:1、数据库已经完全关闭(使用shutdownimmediate或shutdown命令)1)确认数据库完全关闭2)修改init.ora文件,注释"rollback-segment"3)svrmgrl>startuprestrictmount4)svrmgrl>alterdatabasedatafilefilenameofflinedrop;5)svrmgrl>alt
6、erdatabaseopen;基于出现的结果:"statementprocessed"转(7)"ORA-00604,ORA-00376,ORA-01110"转(6)6)svrmgrl>shutdownimmediate修改init.ora文件,增加如下一行:_corrupted_rollback_segments=(,...)svrmgrl>startuprestrict7)svrmgrl>droptablespacetablespace_nameincludingcontents;重建表空间及回滚段9)svrmgrl
7、>altersystemdisablerestrictedsession;10)修改init.ora文件2、数据库未完全关闭(数据库崩溃或使用shutdownabort命令关闭数据库)1)恢复备份2)svrmgrl>startupmount3)svrmgrl>selectfile#,name,statusfromv$datafile;svrmgrl>alterdatabasedatafilefilenameonline;4)svrmgrl>selectv1.group#,member,sequence#,first_c
8、hange#>fromv$logv1,v$logfilev2>wherev1.group#=v2.group#;5)svrmgrl>selectfile#,change#fromv$recover_file;见一方案2-46)svrmgrl>recoverdatafilefilename;7)svrmgrl>alterdataba