System表空间在非归档模式下丢失怎么办

System表空间在非归档模式下丢失怎么办?
思路 :
第一步:
全备数据库

第二步:
试着用备份还原,然后忽略一致性打开数据库。

如果不能,则把所有的还原,启动即可。


操作:

shutdown immediate

删除system表空间。
rm -rf ....

startup
此时启动数据库会报错,说system表空间丢失


将损坏之前全备的system表空间复制到system表空间的位置
SQL>ho cp /u02/orcl/system01.dbf /u01/oracle/oradata/orcl/

打开数据库:
SQL>alter database open ;
此时会报错,说 介质需要恢复。

解决办法:
SQL>recover database ;
注:如果丢失的切换日志次数比较多是恢复不了的。因为日志文件不足以来还原。

然后打开数据库:
SQL>alter database open ;


如果是 丢失的切换日志次数比较多。
SQL> recover database ;
这个命令是恢复不了的。
使用recover database ;
此时会提示输入 ,输入 cancel 来恢复到此为止。

这个时候可以加隐藏参数,不去检验一致性了。
alter system set "_allow_resetlogs_corruption"=true scope=spfile ;

SQL>startup force 
这时候也会提示数据文件system不存在。

使用如下命令来恢复 
SQL>recover database until cancel ;

SQL>alter database open resetlogs ;
--此时会说会话中断 , 重新连接一下就可以了。

最后取消隐藏参数:
alter system set "_allow_resetlogs_corruption"=false  scope=spfile ;
alter system reset "_allow_resetlogs_corruption" scope=spfile sid='*' ;
这种方法会丢失部分数据。





















来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29196873/viewspace-1120695/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29196873/viewspace-1120695/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值