现场工程师晚上处理磁盘空间满的问题时,误删除了redo日志文件,又自己进行了一些尝试性操作,具体不可表。我接到 CASE 时告警信息 ORA-00742 ORA-00312。

该数据库没有开归档,没有备份,尝试把数据库拉起来吧。做操作之前备份数据库相关文件(数据文件,控制文件,参数文件等)

首先尝试 resetlogs 开库,如果数据库状态一致是有可能直接起来的。

recover database until cancel;
recover database using backup controlfile until cancel;
alter database open resetlogs;

无法实例恢复,报了一堆错误,大体如下:

ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get
error below ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: ‘/oradata/ora19c/system01.dbf’

ORA-00279: change 3721457 generated at 01/16/2020 10:22:39 needed for
thread 1 ORA-00289: suggestion :
/opt/oracle/product/19c/dbhome_1/dbs/arch1_7_1029838537.dbf ORA-00280:
change 3721457 for thread 1 is in sequence #7

ORA-00308: cannot open archived log
‘/opt/oracle/product/19c/dbhome_1/dbs/arch1_7_1029838537.dbf’
ORA-27037: unable to obtain file status Linux-x86_64 Error: 2: No such
file or directory Additional information: 7

ORA-01194: file 1 needs more recovery to be consistent ORA-01110: data
file 1: ‘/oradata/ora19c/system01.dbf’

尝试使用隐含参数拉起数据库

-- 创建 pfile
create pfile='/tmp/pfile' from spfile;
vim /tmp/pfile
-- 增加以下两行
_allow_resetlogs_corruption='TRUE'
_allow_error_simulation=TRUE-- 使用 pfile 启动数据库
startup mount pfile='/tmp/pfile'
alter database open resetlogs;

_allow_resetlogs_corruption 参数会屏蔽 resetlogs 开库时的一些不一致,容易导致数据不一致的问题,不到万不得已不推荐使用。

根据经验,到这一步很多库就可以拉起了,但是这次故障并没有能够拉起。继续进行尝试

重建控制文件

oradebug setmypid
alter database backup controlfile to trace;
oradebug tracefile_name

使用 oradebug 获取控制文件创建语句,根据 trace 中的创建语句重建控制文件。
重建控制文件后,再次尝试 resetlogs 打开数据库,依旧报错

alter database open resetlogs;

报错信息如下:

ORA-00603: ORACLE server session terminated by fatal error
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00704: bootstrap process failure
ORA-00704: bootstrap process failure
ORA-00600: internal error code, arguments: [kcbzib_kcrsds_1], [], [], [], [], [], [], [], [], [], [], []
Process ID: 25421
Session ID: 9 Serial number: 12233

推 SCN

vim /tmp/pfile
event="21307096 trace name context forever, level 3"shut immediate
startup nomount pfile='/tmp/pfile'
-- 再次重建控制文件
create controlfile …-- 使用 /oradata/TDB/redo01.log 进行实例恢复
recover database using backup controlfile until cancel;
ORA-00279: change 2040639 generated at 01/16/2020 15:29:21 needed for thread 1
ORA-00289: suggestion :
/opt/oracle/product/19c/dbhome_1/dbs/arch1_1_1029857358.dbf
ORA-00280: change 2040639 for thread 1 is in sequence #1Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
/oradata/ora19c/redo01.log
Log applied.
Media recovery complete.-- 实例恢复成功,使用 resetlogs 开库
alter database open resetlogs;

成功打开数据库,一般到这里就可以迁移数据了,可是这次又遇到一个问题

ORA-00600 : internal error code, arguments: [4194] [55] [41]

重建UNDO表空间解决这个问题

create undo tablespace UNDOTBS2 datafile '/oradata/ora19c/undotbs02.dbf' size 2G;
drop tablespace undotbs1;vim /tmp/pfile
undo_management='MANUAL'
undo_tablespace='UNDOTBS2'-- 使用 pfile重启数据库
shut immediate
startup pfile='/tmp/pfile'-- 添加临时表空间文件
alter tablespace temp add tempfile '/oradata/ora19c/temp01.dbf' reuse;

此时数据库可以正常访问了,使用数据泵将数据进行逻辑迁移。

总结

这次故障算是比较曲折的,整体处理可以分为以下几步:

  • 修改隐含参数
  • 重建控制文件
  • 推进SCN
  • 重建UNDO
  • 数据泵迁移

记一次Oracle 19c redo误删除的故障恢复 [ORA-00742 ORA-00312 没有归档]相关推荐

  1. 记一次ORACLE数据库redo日志文件损坏故障恢复

    记一次ORACLE数据库redo日志文件损坏故障恢复 环境 ORACLE 11G R2 + RAC+ ASM 归档模式 问题描述 数据库1节点状态变为Stuck Archiver,alert日志报Ar ...

  2. oracle数据库缓存 c,Oracle 19c数据库体系结构-2

    一. System Global Area Oracle 19c SGA 系统全局区域 (SGA) 是包含数据和控制信息的内存区域 Oracle 数据库实例.所有服务端和后台进程共享 SGA .启动数 ...

  3. 快讯:Oracle 19c 新特性及官方文档抢鲜下载

    随着2月的春风吹拂,Oracle 19c 的第一个 Exadata 版本发布将马上发布出来,等待可测试版本的朋友们马上即可如愿了. 目前官方文档已经可以公开下载到,我为大家整理了一些重要文档,包括概念 ...

  4. Oracle 19c: RAC 集群技术的坚持与放弃(含PPT下载)

    在 OOW 上发布出来关于 Oracle RAC 集群的几篇文章,可以让我们一睹 Oracle RAC集群技术的发展路线. (关注本公众号,回复 2018OOW 在 RAC 目录下是本文参考的3个PP ...

  5. 数据库周刊62丨央企2021年数据库成交公告,国产占90%;流数据库HStreamDB开源;MySQL主从双写导致数据丢失;Oracle 19c升级最佳实践;PG日常工作分享;MySQL MGR运维指

    热门资讯 [1.中央国家机关2021年数据库成交公告:国产数据库份额占90% [摘要]据央采网3月19日发布的<中央国家机关2021年数据库软件协议供货采购项目成交公告>显示事务型数据库管 ...

  6. 使用 VMware 16 RHEL7.7 虚拟机静默安装 Oracle 19c RAC

    作者 | JiekeXu 来源 | JiekeXu DBA之路(ID: JiekeXu_IT) 大家好,我是 JiekeXu,很高兴又和大家见面了,今天和大家一起来看看 使用 VMware 16  R ...

  7. CENTOS 7 安装 ORACLE 19C

    1.版本选择 centos 8会在2021年底结束,centos 7 会持续支持至2024年 oracle 19c是Long Term,支持会到2026年 19c需要运行在linux7.5以上的系统, ...

  8. CENTOS 7 静默安装 ORACLE 19C

    1.版本选择 centos 8会在2021年底结束,centos 7 会持续支持至2024年 oracle 19c是Long Term,支持会到2026年 19c需要运行在linux7.5以上的系统, ...

  9. Oracle 19c VLDB and Partitioning Guide 第8章:Using Parallel Execution 读书笔记

    本文为Oracle 19c VLDB and Partitioning Guide第8章Using Parallel Execution的读书笔记. 并行执行是通过使用多个进程将多个 CPU 和 I/ ...

最新文章

  1. 【Spark亚太研究院系列丛书】Spark实战高手之路-第3章Spark架构设计与编程模型第1节 ①...
  2. bicg matlab,除了bicg之外,还可以使用哪些迭代子解算器来解决MATLAB中的牛顿方程?...
  3. 数据预处理(part3)--缺失值处理和区间化
  4. 实例62:python
  5. json里面的list数据取不出来_[工具]用kaggle API下载数据集
  6. java td背景色_jQuery:无法更改表格单元格的背景颜色
  7. [转载] Python: struct 模块之字节对齐问题
  8. [爬虫练习]爬取同程安全应急响应公开漏洞列表以及详情
  9. 对语言模型(Language Model)与n-gram的理解
  10. 韦东山驱动视频笔记——6.输入子系统之编写驱动程序
  11. .NET开发人员应该下载的十个必备工具(1)
  12. 电脑故障维修常见的故障整理,电脑小白必备!
  13. 国标28181: 视频国标28181协议
  14. 番茄花园GHOST SP3无法安装IIS 信息服务的解决方法
  15. vim 修改注释颜色 tab键
  16. 加密所有事物,将数据安全存储在任何地方
  17. ROS编译依赖配置问题记录
  18. 设备价格暴涨让苹果公司在俄罗斯的最大授权经销商被迫关门谢客
  19. 位图(bitset)的使用【STL】
  20. mysql水果销售系统数据库_mysql数据库水果销售系统

热门文章

  1. 基于Alpha-Beta剪枝树的井字棋人机博弈实现
  2. oracle oem wls,Oracle OEM各种顾问功能
  3. 【WPS JS教程】判断单元格是否为空值
  4. 数字IC手撕代码--小米科技(除法器设计)
  5. 免费Xshell、Xftp下载、安装、连接教程【图文】详细
  6. 仅用5个线程,让Idea全系列Ide能看电视、直播、电影、听广播、音乐、美女图
  7. android 箭头函数,浅谈箭头函数
  8. db2数据库的启动和关闭
  9. Python连接Greenplum及常用gp函数和方法(持续更新)
  10. 用pandas批量处理Excel中的空值与批量合并Excel