博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ORA-00392: log 4 of thread 2 is being cleared, operation not allowed
阅读量:6402 次
发布时间:2019-06-23

本文共 3103 字,大约阅读时间需要 10 分钟。

 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状

转载于:https://www.cnblogs.com/yihr/p/9675664.html

你可能感兴趣的文章
导入MySQL官方样本数据库employees的问题
查看>>
基于 HTML5 的 3D 工业互联网展示方案
查看>>
.NET MD5加密解密代码
查看>>
JavaScript 中有用的 Array 和 Object 方法
查看>>
Java文件上传细讲
查看>>
公司表态+马斯克暗示,特斯拉在全球将会有5座“超级电池”工厂
查看>>
Java Web的传值汇总(含JavaBean)
查看>>
万达调整架构第四次转型:成立网络科技集团
查看>>
代理IP收集
查看>>
【IT背包客】CIO们的徽杭古道徒步记
查看>>
直角停车不是梦,东京车展出现搭载AI技术的球形轮胎
查看>>
计算与推断思维 十四、回归的推断
查看>>
OC3大会给行业者的启发:移动VR、IP内容、未来图景
查看>>
Kotlin+SpringBoot服务端restful框架搭建(1)
查看>>
工信部下属单位赛宝认证中心成功实施云服务平台
查看>>
滴滴美国研究院落户硅谷,重点发展大数据安全和智能驾驶
查看>>
ARM嵌入式系统启动架构研究
查看>>
Java NIO之拥抱Path和Files
查看>>
Java中的包
查看>>
PostgreSQL Oracle 兼容性之 - create type
查看>>