ALLSTARS_ORACLE 发表于 2017-4-16 13:31:12

这种情况怎么恢复!

鉴于一些原因故障现场就不说了
环境 linux 9i 单机 无归档 没备份

故障模拟

打开数据库 建立表空间 tbs1  表空间的数据文件是df1.dat 建立用户 tt  默认表空间是tbs1

用户tt建立表 tab1 并插入10行数据  commit

shutdown immediate

i 备份数据文件df1.dat

打开数据库

继续向tt表插入10行数据 commit

强制日志文件切换
强制日志文件切换
强制日志文件切换

关闭数据库

用i点备份的数据文件替换现有的数据文件df1.dat

请问在这种情况下怎么恢复数据库 只要能把库打开就行!
多谢!!

不归档 无备份!

i 点距现在4天吧
我今天做的测试 如果不进行日志切换还是可以恢复的但是日志切换了之后就恢复不了了

我重建了控制文件 并用了隐含参数 但是在resetlogs的时候 在trace里面有这样的记录

Error 600 happened during db open, shutting down database
USER: terminating instance due to error 600
只有这个表空间有数据 脱机了就跟重建数据库没有区别


不要求恢复数据 只要数据库能打开就行了 今天查了 三个视图中的checkpoint_chang#
v$database 和v$datafile中是一样的 假设为n

v$datafile_header 中有两种数值 m和n m<n
存储在阵列上的数据的checkpoint_chang# 是m
存储在主机上的数据的是 n

system表空间 等系统文件都是在主机上的



我上面模拟的那个故障我用什么方法也没有能让数据库启动 包括 dbca老大提示的adjust_scn的方法。

今天尝试了一下bbed
按照文档 修改了 block 1 offset 140 148 还有一个 18x  跟系统表空间一样
然后 sum  apply  
还有些问题 提示文件校验错误  还有数据文件比控制文件更新 难道是操作错了 明天再试试

页: [1]
查看完整版本: 这种情况怎么恢复!