目的:在安装完毕11.2.0.4版本Oracle单实例数据库后,对日志进行格式化,删除原日志组current状态,删除报错

#对于理论学习,而带来的理解命令,因此作为记录

#查询日志状态
SYS > select GROUP#,MEMBERS,STATUS from v$log;

GROUP#    MEMBERS STATUS
------ ---------- ----------------

1          2 CURRENT
     2          2 ACTIVE
     3          2 ACTIVE

#查询日志组成员信息

SYS >  select group#,member from v$Logfile where type='ONLINE'

GROUP# MEMBER
------ ------------------------------------------------------
     1 /u01/app/oracle/oradata/ENMO/redo01a.log
     1 /u01/app/oracle/oradata/ENMO/redo01b.log
     3 /u01/app/oracle/oradata/ENMO/redo03a.log
     3 /u01/app/oracle/oradata/ENMO/redo03b.log
     2 /u01/app/oracle/oradata/ENMO/redo02a.log
     2 /u01/app/oracle/oradata/ENMO/redo02b.log

6 rows selected.

#删除 ACTIVE状态日志组,某个成员,可以成功

SYS > alter database drop logfile member '/u01/app/oracle/oradata/ENMO/redo02a.log' ;

Database altered.

#删除ACTIVE状态日志组,整个组删除,失败,提示介质恢复需要使用,无法删除

alter database drop logfile group 2
*
ERROR at line 1:
ORA-01624: log 2 needed for crash recovery of instance ENMO (thread 1)
ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/ENMO/redo02b.log'

#如下操作可以改变日志组状态

SYS > alter system checkpoint;

System altered.

SYS > select GROUP#,MEMBERS,STATUS from v$log;

GROUP#    MEMBERS STATUS
------ ---------- ----------------
     1          2 CURRENT
     2          1 INACTIVE
     3          2 INACTIVE

#可以删除

SYS > alter database drop logfile group 2;

Database altered.

#理论学习: CURRENT 代表日志组为当前日志组,log_buffer 经过lgwr进程写入此状态的日志组成员中

ACTIVE     在线日志组,代表实例恢复需要使用此日志组,在此日志组记录的日志中,存在脏块数据,也就是数据块的改变信息记录通过lgwr写入了redo logfile,但是被改变的数据块,并未经过dbwr 写入 datafile文件中,因此实例恢复时,需要前滚应用redo logfile 将数据库块的改变信息,重新构建内存数据块。

INACTIVE  离线日志组,代表此日志组中,记录的脏块数据,对应的缓存脏块数据,也已经都被DBWR写入了datafile文件中

#而 alter system checkpoint;命令为 触发CKPT进程,  进程会触发DBWR写脏块,因此能快速将日志组状态,从active 修改为 inactive状态。  当然,如果有耐心,可以等待dbwr进程自动写脏块,日志组状态也能从active转变为inactive状态

drop redo logfile current报错的更多相关文章

  1. 简单记录一次REDO文件损坏报错 ORA-00333重做日志读取块出错

    一.故障描写叙述 首先是实例恢复须要用到的REDO文件损坏 二.解决方法 1.对于非当前REDO或者当前REDO可是无活动事务使用下面CLEAR命令: 用CLEAR命令重建该日志文件SQL>al ...

  2. Hive在drop表的时候报错

    问题背景: 在安装完Hive之后,初始化mysql是成功的,hive启动也是成功的,也能创建database,在database中也能创建表,也能查看表结构,但是在drop的时候就不行了,在hive ...

  3. Oracle recover current redo ORA-00600:[4193] (oracle 故障恢复current redo日志ORA-00600:[4193]报错)

    背景:搭建了一套oracle 19c主备库(单实例非CDB,PDB),linux7.5在断电后(没有进行数据库关闭)重启数据库报错如下图,redo当前状态下进行不完全恢复主库后resetlogs 打开 ...

  4. Oracle报错ORA-16433非归档丢失redo无法启动的恢复过程

    [案例]Oracle报错ORA-16433非归档丢失redo无法启动的恢复过程 转惜纷飞 今天ML的群中女神和travel在纠结一个恢复的问题,11.2.0.3版本,非归档,大概是rm掉current ...

  5. mysql报错Ignoring the redo log due to missing MLOG_CHECKPOINT between

    mysql报错Ignoring the redo log due to missing MLOG_CHECKPOINT between mysql版本:5.7.19 系统版本:centos7.3 由于 ...

  6. spring+hibernate整合:报错org.hibernate.HibernateException: No Session found for current thread

    spring+hibernate整合:报错信息如下 org.hibernate.HibernateException: No Session found for current thread at o ...

  7. GTID复制报错处理:Last_Error: Error 'Can't drop database 'test'; database doesn't exist' on query

    创建GTID主从连接: mysql, master_user; 报错显示: Slave_IO_Running: Yes Slave_SQL_Running: No Last_Error: Error ...

  8. current online redo logfile 丢失的处理方法

    昨天做了rm -rf操作后的恢复演练,并且是在没有不论什么备份的情况下.今天在做破坏性操作前,做了个rman全备,然后在线删除所有数据库文件,包含控制文件,数据文件,在线日志文件,归档文件等.来看看有 ...

  9. Spring+Hibernate4 Junit 报错No Session found for current thread

    论坛上有另外一篇更全面的帖子,jinnianshilongnian写的:http://www.iteye.com/topic/1120924 本文的环境是:  spring-framework-3.1 ...

随机推荐

  1. server library[unbound] 服务未绑定解决办法

    情景如下:

  2. 一、JDBC

    一.CRUD(增删改查) C:增加Create R查询(Retrieve) U更新(Update) D删除(Delete) 在JDBC中,增加,删除,修改,操作都基本一样,只是传递不同SQL语句,最后 ...

  3. springboot程序构建一个docker镜像(十一)

    准备工作 环境: linux环境或mac,不要用windows jdk 8 maven 3.0 docker 对docker一无所知的看docker教程. 创建一个springboot工程 引入web ...

  4. vue中nextTick和$nextTick的差别

    <ul id="demo">     <li v-for="item in list">{{item}}</div> < ...

  5. Tomcat压缩传输设置

    1.配置位于server.xml文件中的Connector节点下,具体参数如下: 参数 默认值 参数说明 compression off 是否开启压缩传输 compressableMimeType t ...

  6. 解决eclipse/myeclipse导入项目时出现红色叹号的方法

  7. java③

    1.变量是什么? 变量====>一个数据在内存中 存储空间的表示! 在程序运行期间可以发生变化! *变量名 可以 迅速的从内存中 查询出 指定的变量! 2.数据类型: 数据类型 一共分为两种: ...

  8. 如何在Ubuntu中安装中文输入法

    在使用ubuntu系统时,有的时候总觉得英文输入法不方便操作,总希望能有中文输入法可以辅助操作,那怎样才能在ubuntu中安装中文输入法呢?下面有一种简单的方法可以安装中文输入法. 如何在ubuntu ...

  9. shell脚本总结

    1.变量 A:  定义变量A=1,只会对自己所在的shell进程有效 B: 定义变量export B=1,会对自己所在的shell进程及其子进程生效 C: 在script.sh脚本中定义的变量,在当前 ...

  10. Array和ArrayList有什么区别?

    Array和ArrayList的区别: 1.Array可以包含基本数据类型和对象类型,而ArrayList只能包含对象类型 2.Array有固定的大小,而ArrayList是动态变化的. 3.Arra ...