ORACLE表空间恢复方案:解决ORA-01157、ORA-01110等错误

需积分: 16 6 下载量 107 浏览量 更新于2024-09-12 1 收藏 14KB DOCX 举报
ORACLE表空间恢复方案 Oracle表空间恢复方案是指在出现各种错误时,如何恢复表空间的数据。该方案主要针对用户表空间的恢复,包括两种解决方案:一是用户表空间可以被轻易地重建,二是用户表空间不能够被轻易地重建。 一、用户表空间可以被轻易地重建 在这种情况下,用户表空间可以被轻易地重建,例如最近导出的对象是可用的或表空间中的对象可以被轻易地重建等。在这种情况下,最简单的方法是offline并删除该数据文件,删除表空间并重建表空间以及所有的对象。 具体步骤如下: 1. svrmgrl> startup mount 2. svrmgrl> alter database datafile filename offline drop; 3. svrmgrl> alter database open; 4. svrmgrl> drop tablespace tablespace_name including contents; 5. 重建表空间及所有对象。 二、用户表空间不能够被轻易地重建 在大多数情况下,重建表空间是不可能及太辛苦的工作。方法是倒备份及做介恢复。如果您的系统运行在NOARCHIVELOG模式下,则只有丢失的数据在onlineredolog中方可被恢复。 具体步骤如下: 1. Restore the lost datafile from a backup 2. svrmgrl> startup mount 3. svrmgrl> select v1.group#, member, sequence#, first_change# from v$log v1, v$logfile v2 where v1.group#=v2.group#; 4. 如果数据库运行在NOARCHIVELOG模式下则: svrmgrl> select file#, change# from v$recover_file; 如果CHANGE#大于最小的FIRST_CHANGE#则数据文件可以被恢复。如果CHANGE#小于最小的FIRST_CHANGE#则数据文件不可恢复。 5. 恢复最近一次的全备份或采用方案一。 6. svrmgrl> recover datafile filename; 7. 确认恢复成功 8. svrmgrl> alter database open resetlogs; 三、只读表空间无需做介质恢复,只要将备份恢复即可。 唯一的例外是:表空间的对象可以被轻易地重建,例如最近导出的对象是可用的或表空间中的对象可以被轻易地重建等。在这种情况下,重建表空间及所有对象是最简单的方法。 此外,需要注意的是,在关闭数据库时出现ORA-01116、ORA-01110以及操作系统级错误ORA-07368等错误时,需要按照相应的解决方案进行恢复。