首页 > 数据库 >Oracle重做日志文件clear logfile与clear unarchived logfile浅析

Oracle重做日志文件clear logfile与clear unarchived logfile浅析

时间:2024-03-28 12:00:11浏览次数:15  
标签:clear INACTIVE ---------- YES logfile 浅析 日志

首先,从v$log动态视图中观察到ARC和STATUS两个字段

STATUS:分为CURRENT、ACTIVE和INACTIVE三种,当数据库进程DBWn进行一次写入,脏数据从内存刷写到redo logfile中,这时承载数据写入的redo logfile状态即为CURRENT;而数据从redo logfile拷贝到归档目录下时处于ACTIVE状态,完成数据从内存到硬盘的归档,redo logfile被重新置于INACTIVE状态下,循环往复。

ARCHIVED: 有YES和NO两种状态。分别表示对应重做日志组成员上的数据是否已经完成归档。没有完成归档的重做日志文件,在进行数据库恢复的时候可能需要用到。 

下面使用案例来说明clear logfile与clear unarchived logfile的区别

当数据库的重做日志文件仅为两组时,不能通过删除和添加的方法来重建日志文件;这时只能清除重做日志文件

1、当前处于CURRENT状态的重做日志文件,包含了未归档的数据,未切换之前,不能进行删除和清除

2、ACTIVE状态的重做日志文件,已完成归档

SQL> select group#,thread#,archived,status from v$log;

GROUP# THREAD# ARC STATUS
---------- ---------- --- ----------------
1 1 YES INACTIVE
2 1 YES ACTIVE
3 1 NO CURRENT
4 1 YES INACTIVE
5 1 YES INACTIVE

SQL> alter database clear unarchived logfile group 2;

Database altered.

SQL> select group#,thread#,archived,status from v$log;

GROUP# THREAD# ARC STATUS
---------- ---------- --- ----------------
1 1 YES INACTIVE
2 1 YES UNUSED
3 1 NO CURRENT
4 1 YES INACTIVE
5 1 YES INACTIVE

 

3、INACTIVE状态的重做日志文件,已完成归档

SQL> select group#,thread#,archived,status from v$log;

GROUP# THREAD# ARC STATUS
---------- ---------- --- ----------------
1 1 NO CURRENT
2 1 YES ACTIVE
3 1 YES ACTIVE
4 1 YES INACTIVE
5 1 YES INACTIVE

SQL> alter database clear logfile group 5;

Database altered.

SQL> select group#,thread#,archived,status from v$log;

GROUP# THREAD# ARC STATUS
---------- ---------- --- ----------------
1 1 NO CURRENT
2 1 YES UNUSED
3 1 YES INACTIVE
4 1 YES INACTIVE
5 1 YES UNUSED

 

总结:clear logfile 只能用于重建未处于活动状态的重做日志文件,当不能通过删除和新增的方式来重建日志文件,这是一种非常重要的处理手段;而清除ACTIVE状态的重做日志,要使用clear unarchived logfile方式,若日志文件不能正常归档,是不能清除的。

标签:clear,INACTIVE,----------,YES,logfile,浅析,日志
From: https://www.cnblogs.com/tarvin/p/18100918/3b049a78-d8d5-4f76-8ab6-2dc465545bae

相关文章

  • java线程池原理浅析
     问题:查询大数据量的时候,例如一次返回50w数据量的包,循环去查询发现读取会超时。解决方案:经过思考采用多线程去分页查询。使用线程池创建多个线程去查询分页后的数据最后汇总一下,解决了一次查询大量数据返回超时的问题。一次查询现状:  多线程分页查询改造图: ......
  • 浅析JS原型链
    目录实例对象原型对象对象原型短暂总结一下constructor原型链何为原型链呢?就是实例对象和原型对象之间的链接,每一个对象都有原型,原型本身又是对象,原型又有原型,以此类推形成一个链式结构.称为原型链。这里又扯到了另外两个概念了。实例对象>>>先往下看实例对象原型对象>>......
  • 浅析BFS
    广度优先搜索(BFS)广度优先算法(BFS)又称宽度优先搜索,是指依次将与根节点路径长度(默认每条边长度相同)相同的点遍历,再遍历路径长度加一的点,直到遍历完整个图结束。BFS在树中的应用作用:BFS用于在树中搜索某个特定的数据。方法:从根节点开始搜索,按层遍历整个树。一般使用队......
  • C++ 参数传递浅析
    全文目录概述值传递(pass-by-value)什么是变量?值传递的例子指针传递(pass-by-pointer)什么是指针?指针传递的例子引用传递(pass-by-reference)什么是引用?引用和指针的异同引用传递的例子写在最后小结概述众所周知C++参数传递有三种,分别问值传递、指针传递、引用传......
  • C++内置 new /delete 运算符浅析
    全文目录malloc()/free()原型解析简化版本用法举例new/delete静态/动态类型new/delete运算符原型常用但没有注意区分的例子使用new分配对象的生存期那new/delete都做什么事呢几个注意点写在最后malloc()/free()提到new/delete运算符就不得不说malloc()/f......
  • 浅析ChatGPT的秘密:它如何颠覆我们对AI的认知?
    ChatGPT迅速成为公众和专业圈子关注的焦点。技术和投资界的权威人物纷纷投入到对这一技术的评估和讨论中。比尔·盖茨在接受《福布斯》杂志采访时,列举了ChatGPT的三个潜在应用:辅助学习、提供医疗建议以及创作诗歌。甚至埃隆·马斯克在推特上也对ChatGPT表示了自己的看法,认为......
  • 浅析MySQL中的ACID实现
    浅析MySQL中的ACID实现一、原子性(Atomicity)二、一致性(Consistency)三、隔离性(Isolation)事务隔离级别隔离性实现四、持久性(Durability)五、技术总结日志系统并发控制机制事务管理与状态跟踪故障恢复机制MySQL的InnoDB存储引擎通过多种底层机制来实现ACID......
  • JAVA中文乱码浅析及解决方案
            在Java编程中,中文乱码问题是程序员经常面临的一个挑战。中文乱码指的是在处理中文字符时,由于字符编码不统一或者编码转换错误导致的字符显示不正常、无法正确解析的问题。本文将从中文乱码的原因分析开始,然后介绍一些常见的解决方案,帮助程序员有效地解决这一问......
  • shell脚本中main函数中$#获取不到脚本传入参数个数浅析
    Linux的shell脚本,有时候我们在运行shell脚本时会给脚本传入参数,出于逻辑上的严谨,在脚本中可能会做一些逻辑判断或处理,例如判断脚本传入参数的个数。一般我们会用$#获取传入参数的个数,假如,我们在shell脚本的main函数中去判断脚本传入参数的个数,类似如下所示:.........function mai......
  • SQL Server索引查找/扫描没有出现key lookup的案例浅析
    在我们讲解这个案例前,我们先来了解/预热一下SQLServer的两个概念:键查找(keylookup)和RID查找(RIDlookup),通常,当查询优化器使用非聚集索引进行查找时,如果所选择的列或查询条件中的列只部分包含在使用的非聚集索引和聚集索引中时,就需要一个查找(lookup)来检索其他字段来满足请求。对......