ORACLE重做日志小结

1.Redo log特点

  1. 重做日志以磁盘I/O为主,将数据库操作记录到日志文件。(磁盘I\O性能有可能成为瓶颈)
  2. 每个实例只有一个活动的LGWR(log writer)进程,至少有两个日志组(logfile group),每个日志组至少一个日志文件,同一日志组多个日志文件内容相同,互为镜像。
  3. 当一个日志组写满时,LGWR自动切换至下一个日志组,覆盖日志文件内容,继续写入。(频繁的日志切换可能影响性能)
  4. 当切换到新的日志组时,如果DBWR(db writer)尚未将所有修改写入数据文件,LGWR将等待写入完成。(DBWR的写入速度可能导致性能瓶颈)
  5. 增大日志文件可以减少日志切换频率,但会增加数据恢复的时间,同时,当日志文件损坏时,将会丢失更多的数据。

2.日志文件切换时间查询

1 Select a.sequence#, b.sequence#, a.first_time, b.first_time,
2 round((a.first_time-b.first_time)*60*60*24,2) timeInterval
3 from v$log_history a
4 left join v$log_history b
5 on a.sequence#=b.sequence#+1 and a.thread#=b.thread#

(Oracle建议日志文件切换时间为20分钟,调整日志文件大小以改变这一时间)

3.Redo log优化

  1. 同一日志组的日志文件分别放在不同的磁盘上,减少日志文件写入、日志切换时的竞争。
  2. 适当增大日志文件可以降低日志切换频率和LGWR等待DBWR的几率。
  3. 将日志文件放于RAID10或RAID0磁盘阵列中以提高写入性能。
  4. 增加DBWR进程数,提高数据写入性能。

4.创建、切换、删除日志文件组

调整日志文件大小只能通过,创建新的日志文件组,切换日志文件组,删除旧的日志文件组的方式进行。

创建日志文件组

1 alter database add logfile group 4(‘D:\redo4.log’) size 1024M reuse;

查看日志文件组状态切换日志文件组

1 select group#, status from v$log;

删除日志文件组(切换至INACTIVE状态再进行删除)

alter database drop logfile group 1;
时间: 2024-10-28 19:34:53

ORACLE重做日志小结的相关文章

Oracle重做日志恢复数据模拟实验

一 系统环境: 1.操作系统:oracle Linux 5.6 2.数据库: Oracle 11g 二 Oracle 重做日志的作用: [模拟介质恢复] 1. 关闭数据库归档模式: [[email protected] ~]$ sqlplus /nolog SQL*Plus: Release 11.2.0.1.0 Production on Mon Feb 6 23:49:30 2017 Copyright (c) 1982, 2009, Oracle. All rights reserved.

oracle 重做日志

原创转载请注明出处 重做日志:记录数据库数据的变化(DDL,DML) 重做日志组:由一个或者多个完全一样的重做日志文件组成,如果一个日志组有多个日志文件,后台进程LGWR会把事务变化写到同一个日志组的多个文件中. 每个数据库最少包括2个日志组,日志组可以循环使用. 重做日志成员:日志组的每个文件都称为日志成员. 工作原理:当用户执行DDL或者DML操作的时候,Oracle进程会把操作记录(重做记录)写到重做日志高速缓冲区中,最后有后台进程LGWR写到重做日志中. LGWR在以下情况会进行写入操作

Oracle重做日志组状态及切换解析

Oracle重做日志(redo log)是用来记录操作条目,用于数据库数据恢复.为了提高效率,oracle通常建议设置三组redo log. 一.概述 oracle重做日志组通常有四种状态,即unused,inactive,active,current. unused通常指从未被使用的日志组,即新添加的日志组. current状态为LGWR进程正把redo log buffer的日志写进日志组中. active为刚刚完成日志切换后的状态,此时该日志组中提交的事务引起的数据改变还没有完全从DB b

Oracle重做日志管理与深入解析_超越OCP精通Oracle视频课程培训14

oracle视频教程目标 Oracle视频教程,风哥本套oracle教程培训学习oracle数据库Redo log日志文件作用与概念解析,重做日志日常维护与优化优化,Redo Log的增加/删除/镜像,DDL/DML操作与REDO的关系,详解update.truncate.select的redo过程,oracle redo转储日志文件深入分析等日常管理与维护. 适用人群 IT相关从业人员.Oracle数据库技术人员.想加工资的.想升职的都可以. 视频在线学习地址: http://edu.51ct

Oracle重做日志文件

http://blog.csdn.net/leshami/article/details/5749556 一.Oracle中的几类日志文件 Redo log files      -->联机重做日志 Archive log files   -->归档日志 Alert log files     -->告警日志 Trace files         -->跟踪日志 user_dump_dest          -->用户跟踪日志 backupground_dump_dest

[转] 增大oracle重做日志的大小

重做日志(redo log)是由LGWR来进行控制的.Oracle对于DML操作数据的时候,并不会马上去修改数据块,而是产出redo记录,并记录到联机的redo log里,当redo Log用满,或者启动全局checkpoint,也或者alter system switch logfile; 这时都会切换redo log group,(如果redo log状态为current,是当前redo log,如果是inactive就是已经有DBWN写入数据块,Inactive还没有写入)redo log

Oracle重做日志REDO

什么是重做? 重做日志包含所有数据产生的历史改变记录. 重做日志目的是保证数据的安全,如果数据因特殊原因没有写到磁盘上,可以通过重做日志来恢复. 重做日志文件通常用于 恢复(实例恢复和介质恢复) 日志挖掘:可以通过oracle工具分析日志里面的内容 流:通过分析redo,从redo获取实时数据,应用到远程数据库. 数据库产生的每个改动: 写入数据库缓存之前,先写入重做日志--内存 写入数据文件之前先写入日志文件 ----数据文件 内存里操作,重做日志的内存区叫Redo buffer 当提交后,日

oracle 重做日志文件无法自动创建保存问题Thread 1 cannot allocate new log, sequence 233678

Mon Nov 26 09:10:16 2018 Thread 1 cannot allocate new log, sequence 233678 Checkpoint not complete Current log# 1 seq# 233677 mem# 0: D:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG Thread 1 advanced to log sequence 233678 (LGWR switch) Current log# 2 s

修改oracle重做日志文件大小

创建3个新的日志组 SQL> ALTER DATABASE ADD LOGFILE GROUP 4 ('/u01/app/oracle/oradata/orcl/redo06.log') SIZE 500M; SQL> ALTER DATABASE ADD LOGFILE GROUP 5 ('/u01/app/oracle/oradata/orcl/redo05.log') SIZE 500M; SQL> ALTER DATABASE ADD LOGFILE GROUP 6 ('/u01