日志切换 redo log 频繁

ORACLE 11gr2 ASM redo log 增加 os 阅读详情

2011-09-02 11:37:24|  分类: oracle学习 |  标签:redo日志  切换频繁  |字号 订阅

最近发现日志服务器切换redo log太频繁了,大概一分钟一次,如此过于
频繁也不是个办法,
于是加大日志大小和增加日志组的数量来解决。

另外除了日志切换频繁以外,还有Thread 1 cannot allocate new log、
Checkpoint not complete错误提示

获知关于"Thread 1 cannot allocate new log"警告提示的解释:

一旦发生"Thread 1 cannot allocate new log",表明系统的checkpoint
没有来得及完成,也就是说 buffer cache 中的dirty data还没有完全写
到数据文件,就已经有大量的日志需要写入到系统。而系统只能通知应用:
checkpoint 还没有完成,你只能等待。这个时候,系统就基本处于hang
状态了 When the database waits on checkpoints,redo generation is
stopped until the log switch is done

下面我们来看看日志的实时刷新信息

[root@radius ~]# tail -f $ORACLE_BASE/admin/$ORACLE_SID/bdump/
alert_$ORACLE_SID.log

Thu Jan 6 22:26:35 2011
Thread 1 advanced to log sequence 151078 (LGWR switch)
Current log# 3 seq# 151078 mem# 0: /ora/oradata/radius/redo03.log
Thu Jan 6 22:27:08 2011
Thread 1 cannot allocate new log, sequence 151079
Checkpoint not complete
Current log# 3 seq# 151078 mem# 0: /ora/oradata/radius/redo03.log
Thu Jan 6 22:27:12 2011
Thread 1 advanced to log sequence 151079 (LGWR switch)
Current log# 1 seq# 151079 mem# 0: /ora/oradata/radius/redo01.log
Thu Jan 6 22:27:45 2011
Thread 1 cannot allocate new log, sequence 151080
Checkpoint not complete
Current log# 1 seq# 151079 mem# 0: /ora/oradata/radius/redo01.log

可以看出切换日志间隔不到一分钟,增加日志组容量和数据刻不容缓呐

1.查询下当前redo log 情况
SQL> select group#,status,archived,bytes/1024/1024 from v$log;
GROUP# STATUS ARC BYTES/1024/1024
---------- ---------------- --- ---------------
1 INACTIVE YES 50
2 CURRENT NO 50
3 UNUSED YES 50

可以看出有3组50M redo log

2.根据目前的切换日志的频率,决定将日志组增加至5组,每组200M.
SQL> alter database add logfile group 4 '/ora/oradata/radius/
redo04.log' size 200m;
Database altered.
SQL> alter database add logfile group 5 '/ora/oradata/radius/
redo05.log' size 200m;
Database altered.
SQL> alter database add logfile group 6 '/ora/oradata/radius/
redo06.log' size 200m;
Database altered.
SQL> alter database add logfile group 7 '/ora/oradata/radius/
redo07.log' size 200m;
Database altered.
SQL> alter database add logfile group 8 '/ora/oradata/radius/
redo08.log' size 200m;
Database altered.

查询现在redo log状态

SQL> select group#,status,archived,bytes/1024/1024 from v$log;
GROUP# STATUS ARC BYTES/1024/1024
---------- ---------------- --- ---------------
1 INACTIVE YES 50
2 ACTIVE YES 50
3 CURRENT NO 50
4 UNUSED YES 200
5 UNUSED YES 200
6 UNUSED YES 200
7 UNUSED YES 200
8 UNUSED YES 200

3.删除之前的三个50M的redo log组

由于当前日志还在group# 3 redo log上,所以需要切换日志到其他的日志组中去.

SQL> alter system switch logfile;
System altered.
SQL> select group#,status,archived,bytes/1024/1024 from v$log;
GROUP# STATUS ARC BYTES/1024/1024
---------- ---------------- --- ---------------
1 INACTIVE YES 50
2 ACTIVE YES 50
3 ACTIVE YES 50
4 CURRENT NO 200
5 UNUSED YES 200
6 UNUSED YES 200
7 UNUSED YES 200
8 UNUSED YES 200

从上面的status字段可以看出group# 2,3 redo log 的状态均是ACTIVE,
也就是内存中的脏数据还没有写到数据文件中,这时oracle是不允许你删除的,
如果你硬要删除会出现下面这个提示

SQL> alter database drop logfile group 2;
alter database drop logfile group 2
*
ERROR at line 1:
ORA-01624: log 2 needed for crash recovery of instance radius (thread 1)
ORA-00312: online log 2 thread 1: '/ora/oradata/radius/redo02.log'

如果你需要马上删除这个redo log ,你可以使用checkpoint来将脏数据写
进数据文件(磁盘)中,之后再将group# 1,2,3的redo log一一删除。

SQL> alter system checkpoint;
System altered.
SQL> alter database drop logfile group 1;
Database altered.
SQL> alter database drop logfile group 2;
Database altered.
SQL> alter database drop logfile group 3;
Database altered.

查看当前redo log状态

SQL> select group#,status,archived,bytes/1024/1024 from v$log;
GROUP# STATUS ARC BYTES/1024/1024
---------- ---------------- --- ---------------
4 CURRENT NO 200
5 INACTIVE YES 200
6 INACTIVE YES 200
7 INACTIVE YES 200
8 ACTIVE YES 200

4.删除不可用的redo log

使用Linux命令删除之。

5.每天日志switch数量的查询方法

 select to_char(first_time,'yyyy-mm-dd') day1,count(*)
from v$log_history where first_time>=
to_date('2011-01-11','yyyy-mm-dd')
group by to_char(first_time,'yyyy-mm-dd');

转自:http://netclassroom.blog.163.com/blog/static/135751344201182113724970/

Linux yum源配置以及yum命令讲解 前面为大家介绍了RPM二进制包安装软件,RPM包安装的最大的缺点也提到过,就是依赖性太强,一旦遇到依赖问题,则需要我们手动解决包之间具有依赖性的问题,今天为大家介绍一种可自动解决包之间依赖关系的安装方式:yum。 yum 全称“Yellow dog Updater, Modified”,是一个专门为了解决包的依赖关系而存在的软件包管理器。就好像 Windows 系统上我们通常可以通过各种软件管家实现软件的一键安装、升级和卸载,yum就是Linux 系统中的一键安装工具。yum 解决依赖关系的基本逻辑是:yu 阅读详情

相关推荐

研究生如何快速发CVPR

研究生如何快速发CVPR,找到科研方向

python_vb的博客 785

Oracle redo log切换非常频繁

检查数据库报告,发现log file sync  平均等待已经超过20ms,说明DML提交很慢,很可能磁盘比较慢。先查看IOStat by Function summary,确认一下数据库整体IO的情况。然后分析Segments by Physical Reads、Segments by Direct Physical Writes,是否有消耗占比大的对象。如果有则优化对应的SQL。     如

关注系统性能调优 1万+

工业相机图像格式深度解析:从Mono8到Mono12的选型与应用

本文深度解析工业相机黑白图像格式,重点对比Mono8、Mono10与Mono12的核心差异。文章从位深、动态范围和数据量等关键概念切入,详细阐述了不同格式的优缺点及适用场景,为工业视觉项目中的相机选型提供实战指南,帮助用户在精度、速度与成本间做出最优决策。

weixin_29207439的博客 262

Oracle redo log切换非常频繁

检查数据库报告,发现log file sync 平均等待已经超过20ms,说明DML提交很慢,很可能磁盘比较慢。先查看IOStat by Function summary,确认一下数据库整体IO的情况。然后分析Segments by Physical Reads、Segments by Direct Physical Writes,是否有消耗占比大的对象。如果有则优化对应的SQL。 如果以上问题都没有,还有可能redo log切换太频繁也会导致慢。因为DML commit需要写了redo log才算成功,

qq961573863的博客 2209

AutoDL跑yolo

由于博主在AutoDL的JupyterLab的终端直接上传ZIp文件要么老是再上传中被中断,要么就是上传后使用unzip指令解压显示“找不到”,作为纯小白的我实在太难了!这个文件列出了一个 Python 项目所需的所有依赖包及其精确的版本号。这个文件是 Python 项目中常见的一种方式,用于确保项目在不同环境中都能以相同的依赖包配置运行。3.进入JupyterLab,在文件夹目录中找到上传的文件夹,右键点击“复制路径”。然后在终端中输入以下指令进行切换到该文件夹路径。9.安装成功后开始输入指令开跑!

m0_73804659的博客 1205

下水管道损坏检测数据集总结

下水管道损坏检测数据集包含 6708 张图像,为下水管道损坏情况的检测提供了丰富的数据基础。该数据集提供了 YOLO 和 VOC 两种常见的标注方式,方便不同需求的使用者进行模型训练和研究。

crz1336768325的博客 868

查看oracle数据库的日志归档模式

什么是Oracle归档模式?   Oracle数据库有联机重做日志,这个日志是记录对数据库所做的修改,比如插入,删除,更新数据等,对这些操作都会记录在联机重做日志里。一般数据库至少要有2个联机重做日志组。当一个联机重做日志组被写满的时候,就会发生日志切换,这时联机重做日志组2成为当前使用的日志,当联机重做日志组2写满的时候,又会发生日志切换,去写联机重做日志组1,就这样反...

weixin_34233421的博客 422

手把手教你用Qt和QScada框架,从零搭建一个简易的工业组态监控界面

本文详细介绍了如何使用Qt和QScada框架从零搭建工业组态监控界面,涵盖环境配置、界面设计、动态数据绑定及高级功能实现。通过实战案例演示,帮助开发者快速掌握SCADA系统开发技巧,提升工业自动化项目的开发效率。

weixin_32932149的博客 340

修改 Oracle 的 redo log 日志大小来缓解频繁写入 Oracle 数据造成的 io 压力

从如上信息可以看出,目前数据库有三个成员,1 为 CURRENT,2,3 为 INACTIVE,大小为 50m,现在修改成 200m,500m 更好看需要。b. ACTIVE 是指活动的非当前日志,在进行实例恢复时会被用到。根据导出的 oracle 的 awr 报告分析发现数据的库存在日志频繁切换,经过排查发现 redo log 日志太小,所以进行如下调整。c. INACTIVE 是非活动日志,在实例恢复时不再需要,但在介质恢复时可能需要。a. CURRENT 指当前的日志文件,在进行实例恢复时是必须的;

weixin_40715715的博客 813

论文分享 - OctoMap八叉树建图原理

论文:OctoMap:An Efficient Probabilistic 3D Mapping Framework Based on Octrees。

一只废佐_的博客 2539

基于 Simulink 的三相四线制整流器在三相不平衡负载下的中点电位平衡控制实战教程。

本文介绍了三相四线制整流器在不平衡负载下的中点电位平衡控制方法。首先分析了中点电位漂移的物理机理和控制策略(零序电压注入)。接着详细讲解了Simulink建模步骤:搭建三相四线制主电路、设计平衡控制算法、实现PWM调制。通过对比有无平衡控制的仿真结果,验证了控制方法的有效性。最后提供了工程建议:零序注入需限幅、考虑中性线寄生电感影响、采用稳健的PI参数。该方案能有效抑制中点电位波动,保障三电平系统在不平衡工况下的稳定运行。

MHD0815的博客 60

Oracle的redo日志切换频率

1、查看redo日志信息。2、查看日志切换频率。

雾岛与鲸的博客 1838

Selenium|通过更改亚马逊amazon的配送地获取当地的cookie

如果我们需要拿到国外配送地的商品信息,这个时候就需要用到selenium或者pypputeer自动化的方法去更改配送地,拿到当地的cookie信息,之后,携带当地的cookie使用requests发送请求,就可以拿到国外配送地的商品数据信息。一般来说,我们访问亚马逊,亚马逊的配送地一般显示的是国内,但是国内的商品信息和国外的商品信息其实是存在很大差别的,比如你在搜索框输入某个关键词,看到的

Python进阶专栏《爬虫实战进阶》,《Pyppeteer从入门到精通》原创作者 992

数据库redo log日志太小,默认单个文件只有50M,3个日志文件循环写,容易导致日志频繁切换,因此建议调整

数据库redo log日志太小,默认单个文件只有50M,3个日志文件循环写,容易导致日志频繁切换,因此建议调整。 1.查看当前日志组成员 SQL> select member from v$logfile; MEMBER -------------------------------------------------------------------------------- ...

天涯悠草 1839

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Oracle中修改redo log size的原因和方法

redo log 一般设置让日志转换时间为10-20分钟,转换太频繁会影响性能. 如果AWR report中log file switch (checkpoint incomplete) 比较大, 说明redo log之间的切换过于频繁. 可以通过增加redo log size来降低切换的频率. 但如果redo log size 过大, 可能带来数据库恢复时丢失数据的风险. 所以要折中选择redo

食肉动物的专栏 2565

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

调整redo log 日志大小

最近发现数据的库存在日志频繁切换,查看了才发现redo log日志太小,进行在线调整。 1.查看当前日志组成员 SQL> select member from v$logfile; MEMBER ------------------------------------------------------ /u01/oracle/oradata/orcl/redo03.log /u01/orac

不忘初心、方得始终 9480

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

oracle如何修改redo,oracle 修改redo log 方法

数据库发现redo.log的大小较小和切换次数比较频繁DAY0:001:002:003:004:005:006:007:008:009:0010:0011:0012:0013:0014:0015:0016:0017:0018:0019:0020:0021:0022:0023:0022/078786815125610000...

weixin_35450313的博客 587

如何确定 redo log file 大小

<br />如何确定 redo log file 大小<br /> Oracle10g默认的redo log file大小为50m,在使用中经常会发现alter log里存在大量Checkpoint not complete的问题。<br />这个问题大家应该都清楚是什么,要解决无非就要增加redo log file的大小,但是增加到多少比较合适呢? 其实估测的方法很简单,10g可以使用awr(9i使用statspack)对一个稳定运行周期生成报表,具体周期要看db的使用情况。<br /> Load Pro

wu_wei_jie的专栏 1510

数据安全的最后一道防线:深度解析Oracle LGWR从Redo Log Buffer到联机重做日志的完整写入链路

一、开篇场景:COMMIT之后发生了什么?二、全景架构图:LGWR在整个Oracle体系中的位置三、重做记录(Redo Record)与重做日志缓冲区1.重做记录的本质定义2.Redo Log Buffer的结构四、LGWR的核心写入机制1.LGWR的五大触发条件2.LGWR的写入策略详解3.组提交(Group Commit)优化机制五、多路复用与日志成员管理1.日志多路复用的原理2.添加日志组和成员六、LGWR的性能调优1.日志文件大小设计2.Redo Log Buffer大小调优3.磁盘I/O优化。

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 1043

Thread 1 cannot allocate new log

今天数据库突然宕机,查看alert.log看最后出现Thread 1 cannot allocate new log, sequence 101. 分析觉得应该是dbwr写的太慢,但是redo切换的太频繁,日志量比较大造成的. 查看redo select *  from v$log; GROUP#    THREAD#  SEQUENCE#      BYTES    ME

ElvisTan 1980

切换日志 oracle,诊断一次Oracle日志切换频繁的问题

日志切换,就是生成的日志太大,数据块的变化太频繁。Snap IdSnap TimeSessionsCursors/SessionBegin Snap:1456009-Dec-15 04:00:48594.5End Snap:1456109-Dec-15 05:00:59544.6Elapsed:60.19 (mins)DB Time:82.47 (mins)1s产生2M的日志。Per Second...

weixin_29325007的博客 375

在线修改redo.log文件的大小

<br />在压力测试的中,发现数据库很慢,通过如下语句发现是log_sync<br /><br />select * from v$session_wait<br />在结合如下语句,发现日志切换的频率非常之快<br />select * from v$log<br />针对这个情况我就增加redo文件的大小的个数<br />在线修改redo.log文件的大小<br />1.查找日志文件的路径名和group#号<br />SQL> select * from v$log;<br />    GROUP# 

无双小宝 643

Oracle 调整重做日志(redo)大小

Oracle 调整重做日志(redo)大小/* Oracle 调整重做日志(redo)大小 需求描述:Oracle 默认3个50M的redo日志,对于大量TPS的系统,会出现频繁的日志切换,影响系统性能; 解决办法:新增3个redo日志,并将日志大小调整为为1G; 遗留问题:修改原有redo日志时,会出现无法删除的问题,需要等待日志切换时,在尝试。 */ -- 查看redo日志 select * f

huryer的专栏 2053

Oracle变更Redo日志文件大小的操作方法

一、说明与分析: 由于默认安装的数据库redo日志文件大小为50M,后期测试与生产都会产生切换日志频繁,同时会出现等待事件: logfileswitchcompletion 。这时你只需要将 redo日志...

civbl2961的博客 486

oracle 重做日志组的三种状态:current,active,inactive

current:表示该日志组为当前日志组,oracle正在使用该日志组; active:当current redo组发生日志切换时,状态会改变为active,在这个状态下,如果数据库为归档模式,archive进程会归档active日志组;如果发生数据库crash,该日志组也是实例恢复必需的日志组; inactive:当active日志组归档完毕并且oracle判断不需要进行实例恢复时,会将其

甲骨文可乐的专栏 3439

10g OCFS2系统RAC节点更改redolog

3. redolog 设置大小、没有镜像 SQL> select group#,thread#,SEQUENCE# ,BYTES/1024/1024 "MB", ARCHIVED,STATUS,FIRST_CHANGE# ,FIRST_TIME FROM V$LOG; GROUP# THREAD# SEQUENCE# MB ARC STATUS

GreyHat OMDBA 1197
上一篇: sh脚本异常:/bin/sh^M:bad interpreter: No such file or directory
下一篇: oracle自动内存共享管理测试。修改 oracle 11g SGA_MAX_SIZE。
lucky-laoA
博客等级 码龄15年 8粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值