• drop redo logfile current报错


    目的:在安装完毕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状态

  • 相关阅读:
    [c++]基类对象作为函数參数(赋值兼容规则)
    easyui datagird 总计栏
    openssl之BIO系列之25---结束语
    具体解释Hibernate中的二级缓存
    记真实自己,炫精彩人生---《爱记》app使用体验
    设置-安全-手机加密功能解说
    Linux下Redis安装
    解题报告 之 HDU5317 RGCDQ
    FireFox所支持的全部标签(持续更新ing)
    本书已出版<拨云见日:基于android的内核与系统架构源代码分析 >
  • 原文地址:https://www.cnblogs.com/lvcha001/p/9180514.html
Copyright © 2020-2023  润新知