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状

  • 相关阅读:
    POJ
    POJ-2253 Frogger(最短路)
    背包问题(转自背包九讲+对应题目)
    POJ-1860 Currency Exchange (最短路)
    Bellman-Ford 最短路径算法
    POJ-3295 Tautology (构造)
    POJ-2586 Y2K Accounting Bug 贪心
    POJ 2965 The Pilots Brothers' refrigerator (暴力枚举)
    python(pymysql操作数据库)
    python复习概念__oop中
  • 原文地址:https://www.cnblogs.com/yihr/p/9675664.html
Copyright © 2011-2022 走看看