联机日志文件Inacitve状态表示这个日志包含的数据修改已经同步到数据文件中,实例恢复时已不需要它,所以它的丢失不会造成任何的数据丢失,但是会造成数据库无法打开,解决方法是把丢失的inactive删除掉,重新添加新的联机日志。
1)模拟灾难
首先查看log的状态:
SQL> select group#,sequence#,status from v$log;
GROUP# SEQUENCE# STATUS
---------- ---------- ----------------
1 1 INACTIVE
2 2 INACTIVE
3 3 CURRENT
Group#1的状态为inactive,我们找出它所对应的磁盘文件:
SQL> select group#,member from v$logfile where group#=1;
GROUP# MEMBER
---------- --------------------------------------------------
1 I:\INTEL_DATA\O04DMS0\REDO01.O04DMS0
关闭数据库:
SQL> shutdown immediate;
把REDO01.O04DMS0文件在操作系统级别删除。
2)根据错误信息定位问题
启动数据库会出现以下错误:
SQL> startup
ORACLE instance started.
Total System Global Area 281018368 bytes
Fixed Size 1296292 bytes
Variable Size 251660380 bytes
Database Buffers 25165824 bytes
Redo Buffers 2895872 bytes
Database mounted.
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312:online log 1 thread 1:'I:\INTEL_DATA\O04DMS0\REDO01.O04DMS0'
从以上错误信息中,可以看到联机日志文件丢失导致无法打开数据库,查一下丢失日志的状态:
SQL> select group#,sequence#,status from v$log where group#=1;
GROUP# SEQUENCE# STATUS
---------- ---------- ----------------
1 1 INACTIVE
幸运地是,丢失的联机日志状态为inactive,那么我们不需要做什么,只要删除它即可,但是最好在删除它之前先增加一组联机日志:
SQL> alter database add logfile group 4 ('I:\INTEL_DATA\O04DMS0\REDO04.O04DMS0') size 100M;
Database altered.
然后把丢失的联机日志删除:
SQL> alter database drop logfile group 1;
Database altered.
SQL> select group#,sequence#,status from v$log;
GROUP# SEQUENCE# STATUS
---------- ---------- ----------------
2 2 INACTIVE
4 0 UNUSED
3 3 CURRENT
现在可以打开数据库:
SQL> alter database open;
Database altered.
新增加的Group#4的状态时unused,做几次日志切换使其处于current状态。
===========================
还有一种解决方法更简单,不用删除、增加,直接清除Group1即可,语句如下:
SQL> alter database clear logfile group 1;
分享到:
相关推荐
Oracle备份恢复-redo文件损坏的各种场景恢复专题:redo文件损坏涉及到多种多样场景,具体场景可以分四大部分: 1、按照redo的状态可以分为current、active和inactive; 2、按照数据库归档模式可以分为归档和非归档;...
Inactive 和 current 状态的 redo 日志需要完成恢复 B. Online 和 Archived 日志需要实例恢复 C. 最后一个 checkpoint 之后的所有 redo 信息都要应用到数据文件 D. 所有记录在 current 状态日志中直到检查点位置...
本文档为5GNR RRC_IDLE 和RRC_INACTIVE态描述,描述了这两个状态的主要任务,以及相应的服务类型。根据3GPP协议翻译整理而成,仅供学习。
DECODE(C.STATUS, 'INACTIVE', '不活动', 'ACTIVE', '活动') 活动情况, C.SERVER, C.SID, C.SERIAL#, C.PROGRAM 连接方式, C.LOGON_TIME FROM ALL_OBJECTS A, V$LOCKED_OBJECT B, SYS.GV_$SESSION C, v$lock ...
如何图形界面下修改恢复模式 找到你想修改的数据库 右键 > 属性 > 左侧 选项既可看到 ...这样做的好处是log文件非常小,不需要DBA去维护、备份log,但坏处也是显而易见的,就是一旦数据库出现异常,需要恢复时,
但有时可能网络发生的瞬断,从而就产生了一些死进程,他们的状态为Inactive的状态。当我们用alter system kill session ‘sid,serial#’进行清除时,这些session的状态又变成了killed,这些就由Pmon进程来慢慢进行...
使用 Inactive Logout 插件可以自动终止非活跃的用户会话,从而在用户离开无人参与的会话时保护站点。 该插件非常易于配置和使用。安装并激活插件后,只需从插件设置中配置空闲超时即可。然后,现在任何长时间无...
a vb6 code about howto_close_if_inactive
INACTIVE-httpmzl.laghe-archive-软件发布机制的流程文档.zip
An add-in that helps you hide ’inactive’ pieces of your code in include files(42KB)
nadeko, [INACTIVE] 常数时间 Rust 实验 nadeko是一个实验性的语法扩展,它将函数转换为amd64汇编代码。比如,#[const_time]pub fn add3(a: u8, b: u8, c: u8) -> u8 { return a + b +
SQL> SELECT KTUXEUSN, KTUXESLT, ...='INACTIVE'; KTUXEUSN KTUXESLT KTUXESQN STATUS FLAGS KTUXESIZ ---------- ---------- ---------- ---------------- ------------------------ ---------- 13 5 47447 A
suruga, 在 Rust 中,[INACTIVE] TLS 1.2实现 suruga是 TLS 1.2的Rust 实现。它目前实现了 TLS 1.2的核心部分,NIST的P-256 ECDHE 和 chacha20-poly1305.用法extern crate suruga;use
不活动 - 没有进展
无效用户动作可以对GitHub组织运行的GitHub动作,以生成有关给定时间段内用户活动的报告。 这对于检测不活动的用户很有用,以便可以收回许可证。加工此操作将对您的组织执行许多API请求,以生成用于识别用户活动的...
多页面文件管理器(Just Manager)是一个易于使用的应用程序,便于管理你的文件,重命名或删除它们。其多面板界面,让你一次管理多个文件夹。你可以使用多批量重命名文件重命名工具。在功能方面包含了很多高级文件管理...
错别字 帮帮我 :)开始$ npm ... 目前仅是一个文件,但是方法将被扩展并链接到数据库以保存搜索索引。 在server.js文件中,现在使用有GitHub OAuth示例。 另外,还要向喊出色的。 :folded_hands_dark_skin_tone:
借助Smart Mute恢复对音频体验的控制,并一次聆听一个标签页的音频 ----------------------------注意:此扩展程序无法通过短键或右键单击来使选项卡静音 ,但我确实有计划在不久的将来实施它们 -------------------...
CSS-Buddy, 在图层上,[INACTIVE] 一个草图 3插件,允许你使用 CSS 允许你在图层上使用CSS的草图 3插件。v0.0.3注意:这个插件还处于开发早期阶段。 点击这里 riiiight查看演示( gif在这一页 bogged ) 。用法安装...