来源:网络 | 2008-4-27 | (有2247人读过)
临时表空间
临时表空间并不包含真正的数据,恢复的方法是删除临时表空间并重建即可.
系统表空间
如果备份不可用,则只能采用重建数据库的方法
回滚表空间
有两种情况:
1、数据库已经完全关闭(使用shutdown immediate或shutdown命令)
1) 确认数据库完全关闭 2) 修改init.ora文件,注释"rollback-segment" 3) svrmgrl> startup restrict mount 4) svrmgrl> alter database datafile filename offline drop; 5) svrmgrl> alter database open; 基于出现的结果: "statement processed" 转(7) "ORA-00604,ORA-00376,ORA-01110"转(6) 6) svrmgrl> shutdown immediate 修改init.ora文件,增加如下一行: _corrupted_rollback_segments = (,...) svrmgrl> startup restrict 7) svrmgrl> drop tablespace tablespace_name including contents; 重建表空间及回滚段 9) svrmgrl> alter system disable restricted session; 10) 修改init.ora文件
2、数据库未完全关闭(数据库崩溃或使用shutdown abort命令关闭数据库)
1) 恢复备份 2) svrmgrl> startup mount 3) svrmgrl> select file#,name,status from v$datafile; svrmgrl> alter database datafile filename online; 4) svrmgrl> select v1.group#,member,sequence#,first_change# > from v$log v1,v$logfile v2 > where v1.group#=v2.group#; 5) svrmgrl> select file#,change# from v$recover_file; 见一方案2-4 6) svrmgrl> recover datafile filename; 7) svrmgrl> alter database open;
3、数据库处于打开状态
1) 删除回滚段和表空间 2) 重建表空间和回滚段
|