返回顶部
首页 > 资讯 > 数据库 >Oracle的重做日志
  • 394
分享到

Oracle的重做日志

2024-04-02 19:04:59 394人浏览 薄情痞子
摘要

oracle数据库在运行当中,用户更改的数据首先会存放在数据库高速缓冲区当中,为了提升磁盘读写,oracle机制不会频繁的将缓冲区的数据写到磁盘,而是等到检查点或者数据高速缓冲区达到一定数量时才会写入数据库

oracle数据库在运行当中,用户更改的数据首先会存放在数据库高速缓冲区当中,为了提升磁盘读写,oracle机制不会频繁的将缓冲区的数据写到磁盘,而是等到检查点或者数据高速缓冲区达到一定数量时才会写入数据库文件;倘若在检查点或者数据量等条件还没满足系统就挂了,那么此时用户提交的数据就会丢失,因为数据还在内存里,为了防止数据丢失,oracle提出了重做日志
重做日志的目的是用来做数据恢复的,LGWR进程负责优先把用户更改的数据写到重做日志文件中。
LGWR的触发条件:
事务提交的时候(COMMIT)
Redo Log Buffer 三分之一满
Redo Log Buffer 多于一兆的变化记录
在DBWn写入数据文件之前
如果数据库开启了归档(查看是否归档arcHive log list),那么重做日志会在写满后,关闭当前日志文件并把重做日志文件中的内容移动到归档文件中,归档完毕后轮询下一组可用重做日志组;也叫归档重做日志。
查看系统当前的重做日志文件信息
Oracle的重做日志
如上图数据库有5个日志组,每组日志组有2个日志成员;目测数据库开启了归档模式,当前正在使用的重做日志为第4组重做日志;
查看重做日志文件位置
Oracle的重做日志
重做日志组内的每一个重做日志文件称为一个成员,一个组内的每一个成员具有相同的日志序列号(log sequence number)并且成员的文件大小相同。
Oracle的重做日志
来个自画原理图
Oracle的重做日志
在实际生产中,会需要添加多个重做日志组,且每个日志组至少有一个以上的重做日志成员,并存放于不同的磁盘分区。
实战:添加重做日志组和日志成员。
alter database add logfile group 6 ('/u01/app/oracle/oradata/orcl/redo0601.log','/u01/app/oracle/oradata/orcl/redo0602.log') size 5M;
Oracle的重做日志
以上添加一个重做日志组6,重做日志成员有两个redo0601.log和redo0602.log都为5M大小。
查看刚才添加的日志组使用情况,新添加的是未使用Unused
Oracle的重做日志
实战:删除重做日志组
alter database drop logfile group 6——若active状态不可删除
重做日志组有六种状态:
UNUSED : 表示该联机重做日志文件组对应的文件还从未被写入过数据,通常是刚刚创建的联机重做日志文件或重建后的联机重做日志文件。
CURRENT : 表示当前正在使用的日志文件组。该联机重做日志组是活动的。
ACTIVE : 表示该组是活动的但不是当前组,实例恢复时需要这组日志。如果处于这一状态,表示虽然当前并未使用,文件中的数据没有全部写入数据文件,一旦需要实例恢复,必须借助该文件中保存的内容。可以是已归档或没归档。
INACTIVE: 表示实例恢复已不再需要这组联机重做日志组了,文件中的数据全部写入数据文件。该组联机重做日志当前处于空闲状态。可以是已归档或没归档。
CLEARING:在执行了 ALTER DATABASE CLEAR LOGFILE 后,表示该组重做日志文件正被重建(重建后该状态会变成UNUSED)。
CLEARING_CURRENT:表示该组重做日志重建时出现错误,如io错误。
实战:添加重做日志成员
alter database add logfile member '/u01/app/oracle/oradata/orcl/redo0603.log' to group 6
实战:删除重做日志成员
alter database drop logfile member '/u01/app/oracle/oradata/orcl/redo0603.log'
实战:切换日志
Oracle的重做日志
执行:alter system switch logfile
Oracle的重做日志
切换后变成当前可用状态
Oracle的重做日志
如果要重设重做日志文件大小,需要删除日志组重建重做日志组并设置新的重做成员大小;
1.alter database drop logfile group 6
2.alter database add logfile group 6 ('/u01/app/oracle/oradata/orcl/redo0603.log') size 100M
如果无法删除重做日志组,请执行alter system switch logfile(可以多次执行切换)并查看日志组状态,如果为INACTIVE则可以删除;也可以执行alter database checkpoint,此检查点的功能是LGWR进程把重做日志缓冲区数据写入重做日志文件中,同时通知DBWR进程将数据库高速缓冲区提交的数据写入数据文件中。

您可能感兴趣的文档:

--结束END--

本文标题: Oracle的重做日志

本文链接: https://lsjlt.com/news/44563.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Oracle的重做日志
    Oracle数据库在运行当中,用户更改的数据首先会存放在数据库高速缓冲区当中,为了提升磁盘读写,oracle机制不会频繁的将缓冲区的数据写到磁盘,而是等到检查点或者数据高速缓冲区达到一定数量时才会写入数据库...
    99+
    2024-04-02
  • 如何为oracle添加重做日志组及重做日志成员
    本篇内容主要讲解“如何为oracle添加重做日志组及重做日志成员”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何为oracle添加重做日志组及重做日志成员”吧...
    99+
    2024-04-02
  • 重做日志与二进制日志
    MySQL 中有六种日志文件, 分别是:重做日志( redo log )、回滚日志( undo log )、二进制日志( binlog )、错误日志( er...
    99+
    2024-04-02
  • 重做日志管理
    计算机操作的文件越大,系统的效率越低,因此,日志文件应该尽可能地小,但文件过小又会导致日志文件频繁切换,引发完全检查点,导致系统挂起 所谓的重做日志维护或修复,就是将有问题的重做日志组或日志成员删掉...
    99+
    2024-04-02
  • 修改oracle重做日志文件大小
    创建3个新的日志组SQL> ALTER DATABASE ADD LOGFILE GROUP 4 ('/u01/app/oracle/oradata/orcl/redo06.log') SI...
    99+
    2024-04-02
  • Oracle联机如何重做日志文件
    Oracle联机如何重做日志文件,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。-Oracle 联机重做日志文件(ONLINE LOG FILE...
    99+
    2024-04-02
  • 重做日志及归档日志的工作原理解析
    开门见山,先来看张图(PS:这张图是我从网上找的):工作原理:首先lgwr进程将redo log buffer中的重做数据写入到redo log中,此时的redo log分组,每当一个redo log gr...
    99+
    2024-04-02
  • 如何理解Oracle归档日志比联机重做日志小很多的情况
    本篇内容介绍了“如何理解Oracle归档日志比联机重做日志小很多的情况”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够...
    99+
    2024-04-02
  • MySQL重做日志的概念是什么
    今天小编给大家分享一下MySQL重做日志的概念是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。在事务的ACID特性中,原...
    99+
    2023-06-29
  • 详解MySQL 重做日志(redo log)与回滚日志(undo logo)
    前言: 前面文章讲述了 MySQL 系统中常见的几种日志,其实还有事务相关日志 redo log 和 undo log 没有介绍。相对于其他几种日志而言, redo log 和 undo log 是更加神秘,难以观测...
    99+
    2022-05-11
    MySQL 重做日志 MySQL 回滚日志 MySQL redo和undo
  • Online Redo Log File(联机重做日志)
    Online Redo Log File(联机重做日志) 一.Online Redo Log File作用1.记录对数据所做的所有更改。2.提供恢复机制。二.Redo Log File Group...
    99+
    2024-04-02
  • 深入理解MySQL重做日志redolog
    目录一、redo log概念二、缓存、磁盘结构在事务的ACID特性中,原子性(A)、一致性(C)、持久性(D)由undo log和redo log实现,隔离性(I)由锁+MVCC实现...
    99+
    2024-04-02
  • MySQL 撤销日志与重做日志(Undo Log与Redo Log)相关总结
    Undo Log 数据库事务开始之前,会将要修改的记录存放到 Undo 日志里,当事务回滚时或者数据库崩溃时,可以利用 Undo 日志,撤销未提交事务对数据库产生的影响。 Undo Log产生和销毁 Undo L...
    99+
    2022-05-20
    MySQL 撤销日志Undo Log MySQL 重做日志Redo Log
  • Laravel 重写日志,让日志更优雅
    更改目的: 重写了日志格式 加入trace,一次请求的唯一标识 加入error级别信息推送,事例中使用企业微信群助手 让我们可以更及时、更优雅、更方便追踪日志信息 ...
    99+
    2024-04-02
  • Oracle 11g RAC查看ASM日志、grid日志和DB日志
    查看ASM日志 [root@ATFDB1 ~]# su - grid [grid@ATFDB1 ~]$ sqlplus / as sysasm SQL*Plus: Release 11.2.0.3.0...
    99+
    2024-04-02
  • 康哥教你如何有效管理重做日志文件
    有的人可能还不知道什么是重做日志文件,其实就是你的oradata目录下面的那几个redo.log文件。作用:当你的数据库崩溃的时候,管理员可以通过重做日志文件和数据库备份文件,把数据库恢复到最近一次记录日志...
    99+
    2024-04-02
  • Laravel如何重写日志
    这篇文章将为大家详细讲解有关Laravel如何重写日志,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。更改目的:重写了日志格式加入trace,一次请求的唯一标识加入error级别信息推送,事例中使用企业微信...
    99+
    2023-06-14
  • Oracle的日志挖掘技术
           日志挖掘:logminer作用: 通过对日志的分析,能够获得用户的dml操作语句,用来修复用户数据的丢失或者是错误; 能够通过日志挖掘,获得用户操作...
    99+
    2024-04-02
  • oracle有几种日志
    oracle有4种日志,分别是:1、重做日志,用于记录数据库中所有的变更操作,包括插入、更新和删除等;2、归档日志,用于保留数据库中的历史变更记录;3、控制文件日志,记录了数据库的结构和状态信息,用于控制文件日志记录了对控制文件的变更操作;...
    99+
    2023-07-10
  • Python重定向npm日志:解决日志问题的最佳方法?
    如果你使用过npm,你可能会遇到日志输出问题。npm将所有的日志都输出到控制台,而不是将其记录到文件中。这可能会导致在处理大型项目时,日志信息过多而难以捕捉。为了解决这个问题,我们可以使用Python来重定向npm的日志输出。 在Pyth...
    99+
    2023-06-19
    重定向 日志 npm
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作