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

1.Redo log特点 重做日志以磁盘I/O为主,将数据库操作记录到日志文件.(磁盘I\O性能有可能成为瓶颈) 每个实例只有一个活动的LGWR(log writer)进程,至少有两个日志组(logfile group),每个日志组至少一个 日志文件,同一日志组多个日志文件内容相同,互为镜像. 当一个日志组写满时,LGWR自动切换至下一个日志组,覆盖日志文件内容,继续写入.(频繁的日志切换可能影响性 能) 当切换到新的日志组时,如果DBWR(db writer)尚未将所有修改写入数据文件,LGW…
一 系统环境: 1.操作系统:oracle Linux 5.6 2.数据库: Oracle 11g 二 Oracle 重做日志的作用: [模拟介质恢复] 1. 关闭数据库归档模式: [oracle@test ~]$ 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. SQL>…
一.联机重做日志的规划管理 1.联机重做日志 记录了数据的所有变化(DML,DDL或管理员对数据所作的结构性更改等) 提供恢复机制(对于意外删除或宕机利用日志文件实现数据恢复) 可以被分组管理  11g默认的大小是50M 2.联机重做日志组 由一个或多个相同的联机日志文件组成一个联机重做日志组 至少两个日志组,每组一个成员(建议每组两个成员,分散放开到不同的磁盘) 由LGWR后台进程同时将日志内容写入到一个组的所有成员 LGWR的触发条件 在事务提交的时候(COMMIT) Redo Log Bu…
rman target/ list backup; list backup summary; 删除数据库数据文件夹下的log日志,例如/u01/app/oracle/oradata/ORCL下的所有后缀为log的文件 sqlplus / as sysdba alter system switch logfile; 因为没有重做日志文件,会一直处于等待装填,如果需要切换日志,数据库将会报错 shutdown immediate; startup 也会报错 recover database unti…
转自 http://blog.csdn.net/indexman/article/details/7746948 以下易容翻译自oracle dba官方文档,不足之处还望指出. 管理重做日志文件 学习目标: 1.解释重做日志文件的目的 2.描述重做日志文件的结构 3.学会控制日志切换与检查点 4.多元化管理重做日志文件 5.使用OMF管理重做日志文件 1.概念介绍: 重做日志文件通过记录数据的所有改变情况对系统或介质故障提供恢复机制. 1)重做日志文件以组的形式存在 2)一个oracle数据库至…
什么是重做? 重做日志包含所有数据产生的历史改变记录. 重做日志目的是保证数据的安全,如果数据因特殊原因没有写到磁盘上,可以通过重做日志来恢复. 重做日志文件通常用于 恢复(实例恢复和介质恢复) 日志挖掘:可以通过oracle工具分析日志里面的内容 流:通过分析redo,从redo获取实时数据,应用到远程数据库. 数据库产生的每个改动: 写入数据库缓存之前,先写入重做日志--内存 写入数据文件之前先写入日志文件 ----数据文件 内存里操作,重做日志的内存区叫Redo buffer 当提交后,日…
原创转载请注明出处 重做日志:记录数据库数据的变化(DDL,DML) 重做日志组:由一个或者多个完全一样的重做日志文件组成,如果一个日志组有多个日志文件,后台进程LGWR会把事务变化写到同一个日志组的多个文件中. 每个数据库最少包括2个日志组,日志组可以循环使用. 重做日志成员:日志组的每个文件都称为日志成员. 工作原理:当用户执行DDL或者DML操作的时候,Oracle进程会把操作记录(重做记录)写到重做日志高速缓冲区中,最后有后台进程LGWR写到重做日志中. LGWR在以下情况会进行写入操作…
重做日志-Redo log 首先给出参考资料: 1.Oracle官网-Managing the Redo Log 为什么需要redo log 内存中数据修改后,不必立即更新到磁盘---效率 由日志完成数据的保护目的---效率 其他副产品 数据恢复(备份集+归档日志) 数据同步(DG,streams,goldengate) 日志挖掘 什么是Redo log 重做日志包含所有数据产生的历史改变记录. 重做日志文件通常用于 恢复 日志挖掘 流 数据库产生的每个改动 写入数据块缓冲之前,先写入redo…
创建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…
ORACLE重做日志文件用于在数据库崩溃等情况下用于恢复数据,默认情况下为三个文件redo01.log/redo02.log/redo03.log,文件组循环使用,在录入与更新操作比较多的应用中,日志文件更新比较繁忙. 1. 查询日志文件: SQL>select * from v$logfile; SQL>select group# as gid,bytes,status,members from v$log; --status 为current则代表正在使用 2. 在挂载新的磁盘时可考虑创建…
归档日志(Archive Log)是非活动的重做日志备份.通过使用归档日志,可以保留所有重做历史记录,当数据库处于ARCHIVELOG模式并进行日志切换式,后台进程ARCH会将重做日志的内容保存到归档日志中.当数据库出现介质失败时,使用数据文件备份,归档日志和重做日志可以完全恢复数据库. 1.查看当前数据库是否处于归档模式:select name,log_mode from v$database;archive log list; 2.改变非归档模式到归档模式: conn / as sysdba…
实验环境:RHEL6.4 + Oracle 11.2.0.4 一.丢失重做日志组中成员 1.1 故障模拟 1.2 处理方法 1.3 实际处理过程 二.丢失重做日志组 2.1 丢失INACTIVE重做日志组 2.2 丢失ACTIVE重做日志组 2.3 丢失CURRENT重做日志组 Reference 环境准备 SQL> set linesize 160 SQL> col member for a80 SQL> select * from v$logfile; GROUP# STATUS T…
ORACLE数据库有时候需要对存储进行调整,增加分区.IO调优等等,此时需要移动数据文件.重做日志文件.控制文件等等,下文结合例子总结一下这方面的知识点. 进行数据文件.重做日志文件.控制文件的迁移前,需要总体了解一下当前Linux服务器的磁盘.分区信息,以及服务器文件使用情况,如下所示 查看Linux服务器的文件使用情况 1: [root@DB-Server ~]# df -h 2:  3: Filesystem Size Used Avail Use% Mounted on 4:  5: /…
ORACLE归档日志比联机重做日志小很多的情况   前几天一网友在群里反馈他遇到归档日志比联机重做日志(redo log)小很多的情况,个人第一次遇到这种情况,非常感兴趣,于是在一番交流沟通后,终于弄清楚了情况,顺便将这方面的资料整理于此!也是一个总结.学习过程! 归档日志比联机重做日志小很多,出现这种情况的原因有很多,我们可以从下面这几方面着手检查,一一排除确认. 1:检查参数ARCHIVE_LAG_TARGET ARCHIVE_LAG_TARGET参数可以设置一个时间,通过时间限制,指定数据…
Oracle数据库重做日志及归档日志的工作原理: lgwr进程将redo log buffer中的重做数据写入到redo log中,此时的redo log分组,每当一个redo log group写满时,或者发出switch logfile指令时都会触发日志组的切换,当发生日志组切换时,arc进程会将当前的重做日志数据写入归档日志: lgwr进程是将内存中的数据写入到重做日志文件,这是内存读磁盘写.然而arc进程是将重做日志文件写入到归档文件,是磁盘读磁盘写. 显然lgwr进程的读写效率或者读写…
在实际开发过程中,有时我们很有可能需要某个表的操作痕迹,或通过记录的SQL语句进行有目的性的数据恢复(此时POINT-IN-TIME恢复已经满足不了更细的粒度).或仅仅是查看: 据说Oracle8i之后,就提供了Logminer日志分析工具,虽然没有GUI图形化的界面,但也阻挡不了使用他的决心. Oracle11g下使用的情况: (1).数据库开启归档模式 在安装Logminer之前,我们先讲数据库设置为归档模式: 注意:如果开启日志分析功能,仅仅是分析系统默认的Redo01.log.Redo0…
--========================================= -- Oracle 联机重做日志文件(ONLINE LOG FILE) --========================================= 一.Oracle中的几类日志文件 Redo log files      -->联机重做日志 Archive log files   -->归档日志 Alert log files     -->告警日志 Trace files        …
归档重做日志文件的概念和选择 Oracle数据库能够把已经写满了的重做日志文件保存到一个或多个指定的离线位置,这种保存的文件为归档重做日志文件.通常情况下一个归档重做日志时一个被LGWR写满的重做日志文件组的一个成员的拷贝, 包含所有的重做记录及日志序列号等信息. 如果一个数据库应用系统不能承受任何的数据丢失,即使是介质损坏,也需要数据完全恢复,那么必须将数据库运行在归档模式. 1.非归档模式 此时数据库系统不会对被LGWR进程写满了的重做日志文件进行归档操作,所有的历史重做日志信息都将被覆盖而…
以下易容翻译自oracle dba官方文档,不足之处还望指出. 管理重做日志文件 学习目标:1.解释重做日志文件的目的2.描述重做日志文件的结构3.学会控制日志切换与检查点4.多元化管理重做日志文件5.使用OMF管理重做日志文件 1.概念介绍:重做日志文件通过记录数据的所有改变情况对系统或介质故障提供恢复机制.1)重做日志文件以组的形式存在2)一个oracle数据库至少需要两组,每组至少有一文件3)在一组里的每一重做日志文件叫做成员The redo log files are used only…
我们在Oracle的日常运维中,有可能会遇到重做日志组丢失的情况.下面我将模拟丢失不同状态的日志组,并分别给出解决办法: 重做日志有以下几种状态,如下: -  CURRENT:此状态表示正在被 LGWR 使用的日志组: -  ACTIVE:重做日志组中仍含有实例恢复所需的重做数据: -  INACTIVE:表示实例恢复不再需要此日志组,可以覆盖: -  UNUSED:未使用: -  CLEARING:对已存在的日志组执行 clear 操作的后的状态: -  CLEARING_CURRENT:日志…
13.5 恢复临时文件 临时文件没有也不应该备份.通过V$TEMPFILE可以找到所有的临时文件. 此类文件的损坏会造成需要使用临时表空间的命令执行失败,不至于造成实例崩溃或session中断.由于临时表空间不用保存永久性数据,所以RMAN不会对其备份,一旦损坏采用的恢复策略是替换或者重建. SQL> ALTER TABLESPACE TEMP ADD TEMPFILE ... 13.6 恢复在线重做日志 所谓恢复在线日志是指其损坏后,创建新的日志取代受损的日志,最终的目的是能够让LGWR进程和…
一 redo log Oracle数据库中的三大核心文件分别是数据文件(data file).重做日志(redo log)和控制文件(control file).数据文件保证了数据库的持久性,是保存修改结果的地方:重做日志保证了数据库的可恢复性,是保存修改操作(包括对数据文件.控制文件等各类文件的修改)的地方:控制文件的作用是确定数据数据文件和重做日志文件的路径.数据库字符集.数据库当前的状态.检查点信息.保存其他文件头部的部分信息及提供备份信息资料库等. 重做日志可分为在线重做日志(onlin…
Oracle RACDB 增加.删除 在线重做日志组 select * from v$log;select * from v$logfile ; ----删除日志组:alter database drop logfile group 19; -- 日志切换alter system switch logfile;  —日志切换alter system checkpoint ;  — 将active 的日志变为 inactive -- 增加日志组 ----要求:每个节点6个组,每个组两个成员 ---…
1.查询数据库中的重做日志组 SQL> select * from v$log; GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME 1 1 64 52428800 512 1 NO CURRENT 1522229 17-MAY-19 2.8147E+14 2 1 62 52428800 512 1 NO INACTIVE 150207…
告警日志介绍 告警日志文件是一类特殊的跟踪文件(trace file).告警日志文件命名一般为alert_<SID>.log,其中SID为ORACLE数据库实例名称.数据库告警日志是按时间顺序记录message和错误信息.   告警日志位置 在ORACLE 10g中,BACKGROUND_DUMP_DEST参数确定了告警日志的位置,但是告警日志的文件名无法修改,告警日志的名称为:alert_<SID>.log ,其中<SID>是实例的名称.BACKGROUND_DUMP…
ORACLE工作原理1-连接 我们从一个用户请求开始讲,ORACLE的完整的工作机制是怎样的,首先一个用户进程发出一个连接请求,如果使用的是主机命名或者是本地服务命中的主机名使用的是机器名(非IP地址),那么这个请求都会通过DNS服务器或HOST文件的服务名解析然后传送到ORACLE监听进程,监听进程接收到用户请求后会采取两种方式来处理这个用户请求,下面我们分专用服务器和共享服务器分别采用这两种方式时的情况来讲: 专用服务器模式下:一种方式是监听进程接收到用户进程请求后,产生一个新的专用服务器进…
问题背景: 有时会考虑一件事情,如果在Oracle环境下出现了锁阻塞的情况,如何定位到SQL源头(通过session.lock.transaction等视图仅能定位到会话)?或许有人会想有没有可能通过AWR相关的数据库性能历史视图找到有用的信息呢?答案是否定的,因为AWR仓库中的历史性能数据都是收集的有性能问题的会话.语句.活动,而最初加锁的那个update语句执行速度非常快,往往根本达不到AWR收集的阀值,不被Oracle注意到.而Oracle注意到的都是被“它”给阻塞的那些会话. 是不是没方…
日志文件能不能resize,直接扩大日志文件的大小?10g是不能的. 网上的一般方法就是新建两个临时日志组(oracle至少要求两个日志组),切换到这两个临时日志组后,删掉重建扩大或缩小,再添加日志组成员.在中间过程中用alter system checkpoint 来使 日志状态active转inactive,用alter system switch logfile切换日志组. 1.增大日志文件大小,我是通过新创建大的日志组然后进行切换实现的,在原有的日志组上创建新的日志组 alter dat…
在NOARCHIVELOG模式下启动和运行一个数据库. 确定闪回恢复区的位置和归档日志目标目录的位置. 步骤一 为归档的重做日志配置FRA和单独的归档日志目标. 首先,设置FRA参数DB_RECOVERY_FILE_DEST_SIZE和DB_RECOVERY_FILE_DEST SQL> alter system set db_recovery_file_dest_size=2G; System altered. SQL> alter system set db_recovery_file_d…
环境 OS:Red Hat Linux As 5 DB:10.2.0.1 1.添加日志组 alter database add logfile group 4 ('/u01/app/oracle/oradata/oracl/redo04.log') size 50m; 2.添加日志组(指定日志已经存在) alter database add logfile group 4 ('/u01/app/oracle/oradata/oracl/redo04.log') size 50m reuse; 3…