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状

ORA-00392: log 4 of thread 2 is being cleared, operation not allowed的更多相关文章

  1. 转 ORACLE数据库ORA-00392 log 4 of thread 1 is being cleared, operation not allowed错误

    现象: 数据库在做to-time recovery, 时候,restore and recover 都是正常的,但是最后一步open resetlogs 报错如下 ORA-00392 原因: 因为是在 ...

  2. Rman备份异机恢复

    最后更新时间:2018/12/29 前置条件 已准备一台安装好Centos6+oracle11gr2 软件的服务器; 只安装了 oracle 数据库软件,需要手工创建以下目录: #环境变量 expor ...

  3. 12c RAC 用Rman 恢复到异机单实例

    准备工作 原服务器软件部署:Redhat 6.6 + Oracle 12.2.0.1 rac Oracle12c单实例安装 1.创建恢复服务器,设置大于原库数据大小的磁盘容量.设置相同的服务器主机名参 ...

  4. oracle异机恢复 open resetlogs 报:ORA-00392

    参考文档:ALTER DATABASE OPEN RESETLOGS fails with ORA-00392 (Doc ID 1352133.1) 打开一个克隆数据库报以下错误: SQL> a ...

  5. NBU将RAC数据库恢复到单机

    恢复的过程和(https://www.cnblogs.com/abclife/p/5687993.html)差不多.但是,具体过程有些不同.如果按照之前的恢复方式,在run语句中同时运行restore ...

  6. Oracle RMAN 恢复数据库到不同主机(二)

    我们在recover database时报一个错误: RMAN-06054: media recovery requesting unknown archived log for thread 1 w ...

  7. resetlogs报错 ORA-00392

      alter database open resetlogs或者 alter database open resetlogs upgrade报错:ORA-00392     在rman restor ...

  8. RAC环境备份,RMAN异机在单实例环境恢复redo问题

    目的:客户环境11.2.0.4 ,多节点RAC环境,现在使用带库的备份,在单机环境测试备份有效性 1.normal参数文件 删除集群相关参数cluster 2.mount 使用备份的控制文件进行还原 ...

  9. Oracle--单实例数据库迁移到RAC集群服务器(RMAN)

    单实例数据库版本:11.2.0.1 RAC实例数据库版本:11.2.0.3 1,在单实例数据库备份文件 RMAN> show all; using target database control ...

随机推荐

  1. Python中的sin和cos函数

        1 第一次使用math.sin()和math.cos(),可是发现结果不对,比如Math.sin(90)=0.893996663600,奇怪? 2 3 一查,原来sin(x) \n\n Ret ...

  2. STL之 sort排序与检索(2019.1.18)

    1.作用对象:数组  a[n] 头文件:#include<algorithm> 内容:sort(a,a+n) 功能:进行升序排序 内容:lower_bound(a,a+n,x) 功能:找到 ...

  3. MongoDB系列—— Window 搭建Mongodb 集群

    Mongodb的集群方式的搭建有三种:Replica Set / Sharding / Master-Slaver.这里只说明最简单的集群搭建方式(Replica Set) Replica Set M ...

  4. mysql 死锁解决办法

    查询表的时候,发现一圈圈转啊转,就是不出来数据,猜测表被锁住 解决办法 : mysql> show processlist ; mysql> kill 4;       说明 : 4为 i ...

  5. [原创]Dubbo配置(Spring4+Hiberante4+Druid)

    如果dubbo使用注解,并且spring也使用注解,如使用事务,则dubbo加过注解的类无法发布. <?xml version="1.0" encoding="UT ...

  6. org.apache.subversion.javahl.ClientException: Working copy is not up-to-date

    之前因为将项目中的一个文件删除了,然后添加了新的文件,svn提交的时候报错. 提示:Working copy is not up-to-date 解决办法:对应的项目上右键然后选择team,然后选择u ...

  7. attr()与setAttribute()的区别

    先看红色标注的: 这里传过来的this是个元素节点,因此currentTr也得用获取节点的方式parentNode去获取,而不能写parent(),这是第一个需要注意的地方. 第二个问题,就是怎么给c ...

  8. npm package.json字段全解

    name 在package.json中最重要的就是name和version字段.他们都是必须的,如果没有就无法install.name和version一起组成的标识在假设中是唯一的.改变包应该同时改变 ...

  9. 从零开始的全栈工程师——js篇2.19(BOM)

    一.BOM 浏览器对象模型 1.window.open(url,ways) url 是打开的网页地址ways 打开的方式 _self 2.window.close() 关闭当前页面 3.window. ...

  10. Java学习笔记——集合

    类集简介 从JDK1.2开始Java引入了类集开发框架,所谓的类集指的就是一套动态对象数组的实现方案,在实际开发之中没有有何一项开发可以离开数组,但是传统的数组实现起来非常的繁琐.而且长度是其致命伤, ...