redo日志全部丢失的情况下。Oracle的实例恢复
场景:
redo日志全部丢失的场景。
alert日志报错如下:
ORA-00313: 无法打开日志组 1 (用于线程 1) 的成员
ORA-00312: 联机日志 1 线程 1: '/u01/app/oradata/oradb/redo01.log'
ORA-27037: 无法获得文件状态
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Thu Oct 15 16:22:08 2020
Errors in file /u01/app/diag/rdbms/oradb/oradb/trace/oradb_m000_2835.trc:
ORA-00322: log 1 of thread 1 is not current copy
ORA-00312: online log 1 thread 1: '/u01/app/oradata/oradb/redo01.log'
Errors in file /u01/app/diag/rdbms/oradb/oradb/trace/oradb_m000_2835.trc:
ORA-00313: open failed for members of log group 2 of thread 1
ORA-00312: online log 2 thread 1: '/u01/app/oradata/oradb/redo02.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Completed: ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 1
Errors in file /u01/app/diag/rdbms/oradb/oradb/trace/oradb_m000_2835.trc:
ORA-00313: open failed for members of log group 3 of thread 1
ORA-00312: online log 3 thread 1: '/u01/app/oradata/oradb/redo03.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Checker run found 6 new persistent data failures
ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 2
Clearing online log 2 of thread 1 sequence number 4430
Errors in file /u01/app/diag/rdbms/oradb/oradb/trace/oradb_ora_2826.trc:
ORA-00313: 无法打开日志组 2 (用于线程 1) 的成员
ORA-00312: 联机日志 2 线程 1: '/u01/app/oradata/oradb/redo02.log'
ORA-27037: 无法获得文件状态
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Errors in file /u01/app/diag/rdbms/oradb/oradb/trace/oradb_ora_2826.trc:
ORA-00313: 无法打开日志组 2 (用于线程 1) 的成员
ORA-00312: 联机日志 2 线程 1: '/u01/app/oradata/oradb/redo02.log'
也可以看到redo在线日志丢失。
这里可以看看redo日志的位置和状态:
SYS@oradb> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------------
NEXT_CHANGE# NEXT_TIME
------------ --------------
1 1 4429 52428800 512 1 YES INACTIVE 1.0235E+13 15-10月-20
1.0235E+13 15-10月-20
3 1 4431 52428800 512 1 NO CURRENT 1.0235E+13 15-10月-20
2.8147E+14
2 1 4430 52428800 512 1 YES INACTIVE 1.0235E+13 15-10月-20
1.0235E+13 15-10月-20
SYS@oradb> select * from v$logfile;
GROUP# STATUS TYPE
---------- ------- -------
MEMBER
------------------------------------------------------------------------------------------------------------------------
IS_
---
3 ONLINE
/u01/app/oradata/oradb/redo03.log
NO
2 ONLINE
/u01/app/oradata/oradb/redo02.log
NO
1 ONLINE
/u01/app/oradata/oradb/redo01.log
NO
可以看到group1和group2是inactive。可以通过如下命令恢复重建
SYS@oradb> ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 1;
数据库已更改。
SYS@oradb> ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 2;
数据库已更改。
但是,对于current的redo日志来说,就是很大的问题了。
这里是通过一个实例恢复的方式,命令如下:
正常关闭数据库
SYS@oradb> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
启动数据库至mount状态,恢复数据库实例
SYS@oradb> startup mount;
ORACLE 例程已经启动。
Total System Global Area 1.0260E+10 bytes
Fixed Size 2347880 bytes
Variable Size 2583694488 bytes
Database Buffers 7667187712 bytes
Redo Buffers 6402048 bytes
数据库装载完毕。
SYS@oradb> recover database until cancel;
完成介质恢复。
SYS@oradb> alter database open resetlogs;
NOTE: If the current online log, needed for instance recovery, is lost, the database must be restored and recovered through the last available archivelog file(PITR).
至此,模拟环境的oracle恢复成功,文献参考:
How to Recover from Loss Of Online Redo Log And ORA-312 And ORA-313 (Doc ID 117481.1) To BottomTo Bottom
redo日志全部丢失的情况下。Oracle的实例恢复的更多相关文章
- 关于数据库一致改关闭下redo日志文件丢失的处理办法的总结
数据库一致性关闭下redo日志文件丢失的处理办法(归档和非归档都行) 1. inactive log 在一致性关闭后删除重启时可以在mount下(不丢失数据) alter database clea ...
- 【恢复】Redo日志文件丢失的恢复
第一章 Redo文件丢失的恢复 1.1 online redolog file 丢失 联机Redo日志是Oracle数据库中比较核心的文件,当Redo日志文件异常之后,数据库就无法正常启动,而且有丢 ...
- 解决 RecyclerView 在Android Studio已经导入情况下还无法实例引用问题
系统:Windows 10 IDE::android studio 1. 问题:RecyclerView 在Android Studio已经导入情况下还无法实例引用问题 由于RecyclerView是 ...
- Oracle的实例恢复解析
在数据库服务器异常断电重启后,数据库会进行实例恢复,那么实例恢复的过程中Oracle做了什么操作呢?参考官网在这里做一下解释,菜鸟水平有限,欢迎勘正. 首先说下实例恢复的定义: Instance re ...
- Linux在丢失的情况下重置密码
1.开机菜单是 移动光标到第一行 --敲击e 2.找到UTF-8,加上空格rd.break,敲击ctrl+x 3.输入以下命令 mount -o remount,rw /sysroot chroot ...
- linux下Oracle数据库实例开机自启动设置
linux下数据库实例开机自启动设置 1.改动/oratab [root@org54 ~]# vi/etc/oratab --把N改为Y,例如以下提示 # This file is used ...
- spring-如何在项目启动的情况下获取Bean实例
十年阿里,就只剩下这套Java开发体系了 >>> 大家都知道,项目启动的时候,spring读取xml文件,将配置的bean 或者 注解下的controller service d ...
- Oracle recover current redo ORA-00600:[4193] (oracle 故障恢复current redo日志ORA-00600:[4193]报错)
背景:搭建了一套oracle 19c主备库(单实例非CDB,PDB),linux7.5在断电后(没有进行数据库关闭)重启数据库报错如下图,redo当前状态下进行不完全恢复主库后resetlogs 打开 ...
- ORACLE联机日志文件丢失或损坏的处理方法(转)
经验总结: 联机日志分为当前联机日志和非当前联机日志,非当前联机日志的损坏是比较简单的,一般通过clear命令就可以解决问题. 损坏非当前联机日志:1.启动数据库,遇到ORA-00312 or ORA ...
- Linux 6.x 下Oracle 11g R2 安装配置
Oracle 11g R2 数据库安装硬件配置要求: 最小内存 1 GB of RAM 虚拟内存容量,这个oracle也有要求,不用担心此时的swap分区不够oracle的要求 .虚拟内存swap如何 ...
随机推荐
- WebRTC开源框架
1.什么是WebRTC WebRTC (Web Real-Time Communications)是一项实时通讯的技术,旨在使得浏览器能为实时通信提供简单的JavaScript接口,让浏览器通过JS实 ...
- 一款比Typora更简洁优雅的Markdown编辑器神器(完全开源免费)
前言 自从Typora收费以后经常有朋友会问有没有一个好用.简洁.免费的Markdown编辑器推荐的,今天大姚给大家分享一款比Typora更简洁优雅的.完全开源免费(MIT License)Markd ...
- 鸿蒙HarmonyOS实战-ArkUI组件(Button)
一.Button Button(按钮)是一种常见的用户界面控件,通常用于触发操作或提交数据.Button 拥有文本标签和一个可点击的区域,用户点击该区域即可触发相应的操作或事件. Button 的主要 ...
- .NET Emit 入门教程:第六部分:IL 指令:3:详解 ILGenerator 指令方法:参数加载指令
前言: 在上一篇中,我们介绍了 ILGenerator 辅助方法. 本篇,将详细介绍指令方法,并详细介绍指令的相关用法. 在接下来的教程,关于IL指令部分,会将指令分为以下几个分类进行讲解: 1.参数 ...
- Techwalk攻略 | 来北京与OpenHarmony技术大会一起技术漫游!
去北京Citywalk已经不是新鲜事? 不如来第二届OpenHarmony技术大会一起Techwalk! 大会即将开幕请速速收藏以下打卡攻略↓ 点击链接,观看线上直播
- SQL CREATE INDEX 语句- 提高数据库检索效率的关键步骤
SQL CREATE INDEX 语句 SQL CREATE INDEX 语句用于在表中创建索引. 索引用于比其他方式更快地从数据库中检索数据.用户无法看到索引,它们只是用于加速搜索/查询. 注意: ...
- 部署解压版mysql
1.检查系统是否安装过mysql //检查系统中有无安装过mysql rpm -qa|grep mysql //查询所有mysql 对应的文件夹,全部删除 whereis mysql find / - ...
- Java操作FileUtils读取数据与写入数据到文件
前言:用一行代码实现读取文件内容 代码如下: 一.添加FileUtils依赖: 1 <!-- FileUtils依赖--> 2 <dependency> 3 <group ...
- MogDB 使用样本数据集Mogila
MogDB 使用样本数据集 Mogila MogDB 提供了一个样本数据集 Mogila,本数据集借鉴了适用于 MySQL 的Sakila 示例数据库.Sakila最初由 MySQL AB 文档团队的 ...
- 通过 API 快速创建 AlertManager silence
概述 通常我们要 silence 某个 AlertManager 的 alert 时,需要通过 UI 界面操作,如下图: 效率有点低,而且不够自动化,那么是否可以有一种办法快速创建 AlertMana ...