以下笔记是今天下午一位朋友碰到日志文件删除后数据库不能启动的问题,然后查资料一起解决后,再整理出来的。

所有步骤或命令都是参考网上或书上资料,我只是加以整理,如有错误请大家指证,如有用处,请帮忙顶,谢谢!

重做日志文件损坏的恢复笔记:

一、归档模式下的重做日志文件的恢复

二、非归档模式下的重做日志文件的恢复

如果是日志文件所在的磁盘或路径已不可用,可参考文后命令G

一、-----归档模式下的重做日志文件的恢复

1、如果日志文件为非当前状态,且已归档成功。

a.群组中有其他日志文件,copy其他日志文件恢复。

b.无其他日志文件,使用SQL>alter database clear logfile group 群组序号;重建该日志文件。

2、如果日志文件为当前状态,且未归档成功。

a.如该群组有多个日志文件,是否可以先 shutdown abort,再copy另外的日志文件恢复呢?

b.如果该群组中无多个日志文件

使用SQL>alter database clear unarchived logfile group 群组序号;强制重建该日志文件。

b.1如果强制重建不成功

可以采用获取最近的SCN的办法用until scn恢复或用until cnacel恢复

recover database until cancel

先选择auto,尽量恢复可以利用的归档日志,然后重新

recover database until cancel

这次输入cancel,完成不完全恢复,也就是说恢复两次。

如:

SQL> recover database until cancel;

Auto

……

SQL> recover database until cancel;

Cancel;

5、利用alter database open resetlogs打开数据库。

然后关闭数据库,做冷备份。

二、------非归档模式下重做日志文件的恢复

1、和2.a步骤应该相同。

2.b、如果使用SQL>alter database clear unarchived logfile group 群组序号;强制重建该日志文件。

不成功的情况

b.1、把数据库down掉

SQL>shutdown immediate

b.2、在init.ora中加入如下参数

_allow_resetlogs_corruption=TRUE

b.3、重新启动数据库,利用until cancel恢复

SQL>recover database until cancel;

Cancel

如果出错,不再理会,发出

SQL>alter database open resetlogs;

b.4、数据库被打开后,马上执行一个full export

b.5、shutdown数据库,去掉_all_resetlogs_corrupt参数

b.6、重建库

b.7、import并完成恢复

b.8、建议执行一下ANALYZE TABLE ...VALIDATE STRUCTURE CASCADE;

其他参考命令:

a.参看数据库是否运行在归档模式下

sql>ARCHIVE LOG LIST

查看database log mode参数的值。

b.将数据库更改为归档模式:(在数据库可关闭的情况下)

b.1修改pfile参数文件,添加以下标识:

log_archive_start=true (注:此参数保证数据库开启时自动进入存档模式)

log_archive_dest_1="LOCATION=$ORACLE_BASE/oradata/ora201/ch10/arch1"

log_archive_dest_2="LOCATION=$ORACLE_BASE/oradata/ora201/ch10/arch2"

log_archive_format=arch_%s.arc

log_archive_max_processes=2

b.2利用新的参数文件将数据库开启至mount状态。

b.3然后再执行

sql>alter database archivelog;

c.如果数据不能被关闭,可使用:alter system archive log start 切换到归档模式,但是下次重启数据库仍要执行一次。

D.如果数据库没有运行在自动归档模式,需要使用手动归档命令:

ALTER SYSTEM ARCHIVE LOG ALL

E.可查看V$log视图了解日志文件的归档状态:

SQL> select group#,sequence#,archived,status from v$log;

GROUP#  SEQUENCE# ARC STATUS

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

1         54 YES INACTIVE

2         55 NO  CURRENT

3         53 YES INACTIVE

F.日志切换命令:

ALTER SYSTEM SWITCH LOGFILE;

G.重命名日志文件群组

ALTER DATABASE ERNAME FILE

'/disk3/ora201/redo01.log'

TO '/disk4/oradata/redo01.log' ;

丢弃以前的日志文件

alter database drop logfile member ‘/disk3/ora201/redo01.log’

两个问题:

a.如该群组有多个日志文件,是否可以先 shutdown abort,再copy另外的日志文件恢复呢?

b.如果日志文件运行在active状态,执行日志切换后状态会不会改变呢?

active状态的损坏了如何恢复呢?

以上笔记是今天下午一位朋友碰到日志文件删除后数据库不能启动的问题,然后查资料一起解决后,再整理出来的。

所有步骤或命令都是参考网上或书上资料,我只是加以整理,如有错误请大家指证,如有用处,请帮忙顶,谢谢!

oracle中重做日志损坏,重做日志文件损坏的恢复笔记相关推荐

  1. 【中亦安图】关于数据库文件损坏风险的提醒(3)

    第一章 技术人生系列 · 我和数据中心的故事(第三期)-中亦科技关于数据库文件损坏风险的提醒 中亦安图 | 2016-01-19 21:38 前言 小y最近处理了几起Oracle数据库文件损坏的cas ...

  2. 打开outlook 中的office附件,提示文件损坏

    参考 excel文件损坏打不开怎么办 在工作中,发现无法打开outlook 中邮件的附件,提示文件已经损坏,找了同事解决该问题,作为记录

  3. oracle数据库offline,oracle中删除offline状态的数据文件

    oracle在归档模式下: 我开始想单独删除一个表空间里的数据文件. 先查询想要删除的数据文件的相关信息:select *  from v$datafile; alter  database  dat ...

  4. php 下载的文件损坏,PHP下载文件损坏与打开乱码问题解决办法

    以前我们是使用php生成下载文件时使用中文乱码了这个问题不会影响到文件的打开使用了,但小编今天 碰到下载文件打开乱码与文件损坏问题了,那么此问题要如何来处理 ?具体操作步骤如下 最近更新一个项目,下载 ...

  5. Linux系统无法启动问题及解决方案(/etc/fstab文件损坏,GRUB文件损坏)

    虽然我们很不想,但是不可避免的还是会遇到一些系统无法启动的情况! 原因总是来自各方面的,既包括了硬件问题,也包括了软件问题. 硬件方面(主板,内存,硬盘等)的话及时更换硬件就好. 而软件的问题就要进行 ...

  6. Oracle中含有recover 状态的数据文件环境中,做异机恢复

    背景: 我们在一些恢复测试案例中,会经常遇到一些奇怪的问题,其中有的是源端数据文件不规范而导致恢复过程出错,比较常见的错误有: 数据文件名称重复(如:/oradata1/user01.dbf 和 /o ...

  7. oracle输出xml文件格式,在oracle中通过字段信息生成xml文件

    一般地,在开发xmlp的时候,我们要先用report builder制作rdf模板,然后上传rdf到客户化应用下的reports文件夹下,通过并发请求,输出xml数据,然后保存成xml文件,或者直接将 ...

  8. ORACLE 中查看CDB、PDB数据文件

    查看CDB数据文件目录 Step1: 切换到相应的PDB下,执行以下命令: SQL> alter session set container=PDB1;Session altered.SQL&g ...

  9. oracle11g 联机重做日志、归档日志、日志文件组以及日志文件操作

    文章目录 一.归档方式 1.1 联机重做日志.归档日志概念 1.2 工作模式 1.3 数据库恢复 1.4 归档模式 (1)启用 (2)查看归档文件被存放的路径以及存放文件的容量: (3)手动进行日志切 ...

  10. SQL Server中灾难时备份结尾日志(Tail of log)的两种方法

    简介 在数据库数据文件因各种原因发生损坏时,如果日志文件没有损坏.可以通过备份结尾日志(Tail of log)使得数据库可以恢复到灾难发生时的状态. 例如: 上图中.在DB_1中做了完整备份,在Lo ...

最新文章

  1. japid-controller自动绑定的数据类型
  2. ***测试技巧总结更新篇3
  3. python stock query
  4. k最邻近算法——加权kNN
  5. 为什么他们能做成功?关于创业的几点感想
  6. 2020年不能启动win7_包装车间2020年大修正式启动
  7. 地图标识符号大全_资源小结:旅游类地图汇总(8.17版)
  8. EOS开发DApp 创建EOS钱包和账号
  9. python解析本地HTML文件
  10. session+cookie简单讲解以及持久化登录实现
  11. love2d教程28--血条
  12. element-plus小demo
  13. 中央电化教育馆教学资源库介绍
  14. MIUI10系统完美刷成开发版获取root超级权限的教程
  15. python中的抽象类
  16. amoled和super amoled哪个更伤眼 amoled和super amoled的显示效果
  17. 用 python 来操作 docx, xlsx 格式文件(二)(使用 docx 库操作 docx 格式文件
  18. 在Ubuntu16.04上安装Aegisub
  19. 犀牛Rhino 4.0-6.5 安装说明
  20. ViVo平台审核问题

热门文章

  1. 大数据与BI的联系与区别
  2. 如何让ipad成为电脑的扩展屏
  3. 微信公众平台 自动回复消息
  4. CentOS(tlinux)安装php55w失败,Requires: libjpeg.so.62(LIBJPEG_6.2)(64bit)解决办法
  5. 电商订单仓储ERP管理系统软件源码
  6. 电商平台后台管理系统--->操作方法说明
  7. Linux下安装Oracle12c图形化及静默两种方法安装操作手册
  8. ion orphaned memory
  9. 蚁群算法画图java_[转载]简单蚁群算法 + JAVA实现蚁群算法
  10. 自适应二次元紫色luo莉资源网emlog模板