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

    在rman restore 还原数据文件和recover 恢复数据文件之后,此时数据库处于mounted状态,需要open并resetlogs 。此时resetlogs相当于数据库根据控制文件的redo信息,创建新的redo文件。但是有时open resetlogs报错。

解决步骤:

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状态

     
     
     
    END
     

最新文章

  1. gulp自动刷新和css、js压缩
  2. Android Studio中JNI程序的单步调试和日志打印
  3. 使用n2n在没有公网IP条件下访问树莓派
  4. ZOJ 1110 Dick and Jane
  5. CODESOFT 2015中的条形码对象该如何创建
  6. [leetcode72]Edit Distance(dp)
  7. hibernate 使用C3P0数据源
  8. 157. Read N Characters Given Read4
  9. Matlab网格划分
  10. Spring学习笔记——Spring中的BeanFactory与FactoryBean
  11. ps、top 、free查看用户资源信息
  12. c#自带压缩类实现数据库表导出到CSV压缩文件
  13. bootstrap学习: 基本组件以及布局;
  14. 2017-12-19python全栈9期第四天第二节之列表的增删查改之按切片删除
  15. IdentityServer4 中文文档 -4- (简介)打包和构建
  16. 20165236 实验二 《Java面向对象程序设计》实验报告
  17. SpringCloud之Fegin
  18. PHP学习目标
  19. 用CSS3做3D动画的那些事
  20. 01 Getting Started 开始

热门文章

  1. react项目构建中的坑—淘宝镜像安装后要设置
  2. 记录我开发工作中遇到HTTP跨域和OPTION请求的一个坑
  3. (转)linux自动备份oracle数据库并上传到备份服务器 脚本实现
  4. 如何用node命令和webpack命令传递参数
  5. 如何解决webpack中css背景图片的绝对地址
  6. pandas小结
  7. 一张图看懂苹果MacBook所有屏幕分辨率
  8. 判断一个链表是否为回文结构 【题目】 给定一个链表的头节点head,请判断该链表是否为回 文结构。 例如: 1->2->1,返回true。 1->2->2->1,返回true。 15->6->15,返回true。 1->2->3,返回false。 进阶: 如果链表长度为N,时间复杂度达到O(N),额外空间复杂 度达到O(1)。
  9. Bootstrap历练实例:响应式导航栏
  10. css去除链接 input 虚框