oracle缺少控制文件,关于oracle丢失控制文件的恢复办法

1,在备份的情况下 在nomount状态下restore controlfile form autobackup(针对自动备份开启的情况如果没有开启,就绪指定到具体的目录) 这里指出 using backup controlfile 的几种情况 (1) 在使用备份控制文件做恢复的时候。(如果在全被恢复的情况直接recover database 然后用resetlogs open 相对控制文件没有数据丢失) (2)用resetlogs 方法重建控制文件,如果用 noresetlogs 重建不必使用using backup controlfile; 2,在没有备份的情况 (1) 使用noresetlogs 方法手动创建控制文件 和resetlogs的区别就是 当联机日志文件还在,如果用resetlogs的方法,则要求联机日志中必须要没有活动事务才行,创建控制文件的操作并不会清空当前联机日志的内容,英雌如果有数据文件的不一致还是可以用日志文件来恢复的。所以如果不需要清空日志文件就需要用norestlogs的方式重建 具体操作 将数据库启动到nomount状态 sql>create controlfile reuse databse ”databasename“ noresetlogs archivelog 2 maxlogfile 16 3 maxlogmembers 3 4 maxdatafiles 16 5 maxinstances 8 6 maxloghistory 292 7 logfile  8 group 1 'redofilename01',size 9 group 2 'redofilename02',size 10 group 3 'redofilename03',size -------------sdandby logfile (有dataguard灾备的情况) 11 datafile 12 ‘datafilename1’ 13  'datafilename2'   .   .   . 17 character set ZHS16GBK; 需要注意的是,操作之前需要数据库的物理结构,如数据文件 日志文件等(在生产环境由于数据文件较多,一定要仔细确认,缺一不可)  control file created; 然后尝试  alter database mount以及open,不出意外肯定会报错。 根据报错内容 recover database (不需要是用using backup controlfile)  然后 alter database open; (2) 是用resetlogs 手动创建控制文件 脚本基本一样 需要指出 是用的是resetlogs 接下来recover的时候有却别,需要用recover database using backup controlfile;然后给出文件地址,随后用restlogs打开数据库。 如果有基于时间点或是scn恢复的  rman> run { set until seuence * thread *; recover database ; }

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值