zoukankan      html  css  js  c++  java
  • ORA-00392: log 4 of thread 2 is being cleared, operation not allowed

     alter database open resetlogs或者 alter database open resetlogs upgrade报错:ORA-00392

    在rman restore 还原数据文件和recover 恢复数据文件之后,此时数据库处于mounted状态,需要open并resetlogs 。

    此时resetlogs相当于数据库根据控制文件的redo信息,创建新的redo文件。但是有时open resetlogs报错。

    昨天在使用RMAN备份恢复测试数据库的时候,
    不小心在rename logfile的时候把名字搞错了路径,
    导致在resetlogs打开数据库的时候遇到以下错误 ORA-00392

    解决步骤:

    1:报错查看

    2:查看当前日志组状态

    3:clear 日志组

    4:验证是否报错

    5:日志组合日志文件之间的关系 

    6:日志管理(常用)

    解决步骤:

     
    1.  

      报错查看

      SQL> alter database open resetlogs upgrade;

      alter database open resetlogs upgrade

      *

      ERROR at line 1:

      ORA-00392: log 3 of thread 1 is being cleared, operation not allowed

      ORA-00312: online log 3 thread 1: '/u01/oradata/orcl/redo03.log'

       
    2.  

      查看当前日志组状态

      SQL> select group#,bytes/1024/1024||'M',status from v$log;

          GROUP# BYTES/1024/1024||'M'                 STATUS

      ---------- ----------------------------------------- ----------------

                1 50M                                               CLEARING

                3 50M                                               CLEARING_CURRENT

                2 50M                                               CLEARING

       
    3.  

      clear 日志组

      SQL> alter database clear logfile group 1;  

      Database altered.

      SQL> alter database clear logfile group 2;

      Database altered.

      SQL> alter database clear logfile group 3;

      Database altered.

      SQL> select group#,bytes/1024/1024||'M',status from v$log;

          GROUP# BYTES/1024/1024||'M'                 STATUS

      ---------- ----------------------------------------- ----------------

                1 50M                                               UNUSED

                3 50M                                               CURRENT

                2 50M                                               UNUSED

       
    4.  

      验证是否报错

      alter database open resetlogs upgrade;

      注意:

      执行这条sql的日志文件的物理变化,那就是执行之前目录中还没有日志文件,执行之后,日志文件自动创建

       
       
    5.  

      日志组合日志文件之间的关系 

      SQL> select GROUP#,STATUS,TYPE,MEMBER from v$logfile;

      GROUP# STATUS  TYPE     MEMBER

      ------ ---------- ---------- ------------------------------

           1  ONLINE     /u01/oradata/orcl/redo01.log

           2  ONLINE     /u01/oradata/orcl/redo02.log

           3  ONLINE     /u01/oradata/orcl/redo03.log

      此时每个group组中都有一个member成员

      1:每个日志组至少有一个成员,成员之间的关系是镜像关系

      2:每个数据库中至少有两个组来回switch切换

       
    6.  

      日志管理(常用)

      1:切换日志:alter system switch logfile 

      2:添加一个日志组

      SQL> alter database add logfile group 4 '/u01/oradata/orcl/redo04.log' size 20m;

      SQL> select GROUP#,STATUS,TYPE,MEMBER from v$logfile;

      GROUP# STATUS  TYPE     MEMBER

      ------ ---------- ---------- ------------------------------

           1  ONLINE     /u01/oradata/orcl/redo01.log

           2  ONLINE     /u01/oradata/orcl/redo02.log

           3  ONLINE     /u01/oradata/orcl/redo03.log

           4  ONLINE     /u01/oradata/orcl/redo04.log

        注意:如果没有制定组号,数据库会在创建时自动添加当前最大组号加1

      3:添加一个成员

      SQL>  alter database add logfile member '/u01/oradata/orcl/redo04a.log' to group 4;

      SQL> select GROUP#,STATUS,TYPE,MEMBER from v$logfile;

      GROUP# STATUS  TYPE     MEMBER

      ------ ---------- ---------- ------------------------------

           1  ONLINE     /u01/oradata/orcl/redo01.log

           2  ONLINE     /u01/oradata/orcl/redo02.log

           3  ONLINE     /u01/oradata/orcl/redo03.log

           4  ONLINE     /u01/oradata/orcl/redo04.log

           4 INVALID  ONLINE     /u01/oradata/orcl/redo04a.log

      注意:

      1)添加成员不指定大小,镜像关系会自动设置相同大小

      2)添加之后处于invalid非正常状态,需要不停的切换日志才能变成正常状态

      4:删除一个成员

      SQL> alter database drop logfile member  '/u01/oradata/orcl/redo04.log';

      注意:

      1)CURRENT状态不能删除,先切换再删除  alter system switch logfile;

      2)ACTIVE有时候能删,有时候不能删,如果删除报错,只能等

      5:删除一个日志组

      SQL> alter database drop logfile group 3;

      注意:

      1)CURRENT状态不能删除,先切换再删除  alter system switch logfile;

      2)ACTIVE有时候能删,有时候不能删,如果删除报错,只能等

      6:清楚报废日志

      SQL> alter database clear logfile group 4;

      注意:

      如果redo04.log文件报废,而且处于非CURRENT状

  • 相关阅读:
    hibernate_0100_HelloWorld
    MYSQL子查询的五种形式
    JSF是什么?它与Struts是什么关系?
    nop指令的作用
    htmlparser实现从网页上抓取数据(收集)
    The Struts dispatcher cannot be found. This is usually caused by using Struts tags without the associated filter. Struts tags are only usable when the
    FCKeditor 在JSP上的完全安装
    Java遍历文件夹的2种方法
    充电电池和充电时间说明
    吃知了有什么好处
  • 原文地址:https://www.cnblogs.com/yihr/p/9675664.html
Copyright © 2011-2022 走看看