oracle数据库各种故障恢复案例

本文详细介绍了Oracle数据库的各种故障恢复案例,包括SPFILE丢失、controlfile全部丢失、UNDO损坏、redo log file损坏、非系统表空间损坏、数据文件损坏以及基于时间点/SCN/日志序列的不完全恢复等,提供了具体的恢复步骤和方法,帮助DBA应对不同类型的数据库故障问题。
摘要由CSDN通过智能技术生成

---------------------------------------------------

各种故障恢复案例

--------------------------------------------------

1、 SPFILE 丢失

startup nomount; 
set dbid 3988862108; 
restore spfile from autobackup;
或者通过某个文件

restore spfile from 'path/file_name'';

shutdown immediate;

set dbid 3988862108;

startup; 

2、controlfile 全部丢失

控制文件做了 3个冗余,很少会发生全部丢失的情况,当遇到控制文件所有都丢失,恢复需要以下步骤 :

 RMAN>set dbid 3988862108;
 RMAN>startup nomount; 
 RMAN>restore controlfile from autobackup;
或从文件恢复

RMAN>restore controlfile from ‘file_name ';
 RMAN>alter database mount;
 RMAN>recover database;(保证数据一致,因为控制文件里 scn scn发生改变)
 RMAN>alter database open resetlogs;

resetlogs命令表示一个数据库逻辑生存期 的结束和另命令表示一个数据库逻辑生存期 的结束和另的开始,每次使用 resetlogs命令的时候,SCN不会被重置,不过 oracle 会重置 日志序列号,而且会重置联机做内容 日志序列号,而且会重置联机做内容 . 这样做是为了防止不完全恢复后日 志序列会发生冲突(因为现有日和数据文件间了时差)。

3、UNDO 损坏的情况

出现这种情况, 大多数是因为异常宕机,在启动的时候报错误。 DB 不能启动:

比如: ORA -00600: internal error code, arguments: [4194]
对于 Undo 损坏的情况,能用备份恢复最好如果不就只通过一些特的方发来恢复:

方法一 : 使用 system segment
(1)用 spfile 创建 pfile ,然后修改参数:
#*.undo_tablespace='UNDOTBS1' 
#*.undo_management='AUTO' 
#*. undo_tablespace
#*.undo_retention
undo_management='MANUAL'
rollback_segments='SYSTEM' 
(2)用修改之后的 pfile,重启 DB
SQL> STARTUP MOUNT pfile= 'F:\initorcl.ora' ;
(3)删除原来的 表空间,创建新UNDO 表空间
SQL&g

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值