近期一个项目反馈月底高峰期时系统整体性能下降,抓取对应的AWR和ASH查看,等待事件排第一位的竟然是redo日志切换。进一步看每秒的日志量是5M多,而日志文件大小仅有200M。建议项目上调整日志大小,经验证确认性能问题明显下降,现记录调整联机日志的操作。

 

数据初始化日志有3组,每组50M。我们建议将日志添加到6组,根据实际情况设日志大小,建议设置为1~2G,我这里设成2G;

归档模式下请确保所有日志已经归档,再进行日志文件大小的调整

日志状态说明

UNUSED未使用过的(新的)

INACTIVE静态的(非激活状态)

ACTIVE活动的(激活状态)

CURRENT正在写的状态

以下示例将重设联机日志,原三组各50M的日志改为六组各2G。

第一步、查询联机日志大小及位置

SQL> select group#,bytes/1024/1024,status from v$log;

GROUP# BYTES/1024/1024 STATUS

------------------------------------------------------

1 50 INACTIVE

2 50 INACTIVE

3 50 CURRENT

这里有3组重做日志,每组50M,目前第3组日志正在写

SQL> select * from v$logfile;

GROUP# STATUS TYPE MEMBER

---------------- ---------------- ----------- ----------------------------------------

1 ONLINE /data1/oracle/oradata/ora11r2/redo01.log

2 ONLINE /data1/oracle/oradata/ora11r2/redo02.log

3 ONLINE /data1/oracle/oradata/ora11r2/redo03.log

第二步、添加新的日志组

每组2048M,累计增加到6组日志

SQL> alter database add logfile group 4 '/data1/oracle/oradata/ora11r2/redo04.log' size 2048M;

Database altered.

SQL> alter database add logfile group 5 '/data1/oracle/oradata/ora11r2/redo05.log' size 2048M;

Database altered.

SQL> alter database add logfile group 6 '/data1/oracle/oradata/ora11r2/redo06.log' size 2048M;

Database altered.

添加完成,再用第一步的SQL查看是否添加成功和大小

SQL> select group#,bytes/1024/1024,status from v$log;

GROUP# BYTES/1024/1024 STATUS

------------------------------------------------------

1 50 INACTIVE

2 50 INACTIVE

3 50 CURRENT

4 2048 UNUSED

5 2048 UNUSED

6 2048 UNUSED

这里看到4、5、6三组日志已成功添加

第三步、切换日志,并删除之前的日志组

将日志切换到新建的日志组,删除之前的1、2、3日志组

SQL> alter system switch logfile;

Database altered.

注意事项:删除日志组时,日志组状态要为非激活状态才可以删除(重启数据库,使得group1,group2,group3都是inactive状态)

SQL> alter database drop logfile group 3;

Database altered.

SQL> alter database drop logfile group 2;

Database altered.

SQL> alter database drop logfile group 1;

Database altered.

日志组1、2、3成功删除

SQL> select group#,bytes/1024/1024,status from v$log;

GROUP# BYTES/1024/1024 STATUS

------------------------------------------------------

4 2048 CURRENT

5 2048 UNUSED

6 2048 UNUSED

这里看到只有4、5、6三组日志,表明已经成功将1、2、3删除

注意事项:执行删除日志组命令后,其实只是在数据字典中删掉了对于日志信息。你到操作系统日志目录下查看,你会发现日志文件还在,只有手动删除,才能真正的删除日志文件。

第四步、重建原日志组

重建1、2、3日志组并将日志文件大小设为2048M

SQL> alter database add logfile group 1 '/data1/oracle/oradata/ora11r2/redo01.log'size 2048M;

Database altered.

SQL> alter database add logfile group 2 '/data1/oracle/oradata/ora11r2/redo02.log' size 2048M;

Database altered.

SQL> alter database add logfile group 3 '/data1/oracle/oradata/ora11r2/redo03.log' size 2048M;

Database altered.

日志组1、2、3重建完成

使用第1步、第2步的SQL查询验证

SQL> select group#,bytes/1024/1024,status from v$log;

GROUP# BYTES/1024/1024 STATUS

------------------------------------------------------

1 2048 UNUSED

2 2048 UNUSED

3 2048 UNUSED

4 2048 CURRENT

5 2048 UNUSED

6 2048 UNUSED

SQL> select * from v$logfile;

GROUP# STATUS TYPE MEMBER

---------------- ---------------- ----------- ----------------------------------------

1 ONLINE /data1/oracle/oradata/ora11r2/redo01.log

2 ONLINE /data1/oracle/oradata/ora11r2/redo02.log

3 ONLINE /data1/oracle/oradata/ora11r2/redo03.log

4 ONLINE /data1/oracle/oradata/ora11r2/redo04.log

5 ONLINE /data1/oracle/oradata/ora11r2/redo05.log

6 ONLINE /data1/oracle/oradata/ora11r2/redo06.log

Oracle调整联机日志大小的更多相关文章

  1. Oracle体系结构之联机日志文件管理

    日志文件分类:重做日志文件 归档日志文件 警告日志文件 跟踪日志文件 redo_log_file文件作用: 1)维护数据一致性 2)记录了数据库里的更改操作 redo_log_friles以组为单位, ...

  2. Oracle联机日志损坏解决办法

    关于此问题,在网上找到一篇不错的文章. 大家都清楚,联机日志分为当前联机日志和非当前联机日志. ---------------------------------------------------- ...

  3. 调整swap分区大小-Linux下安装Oracle时报swap不够解决方法

    调整swap分区大小 方法一:如果磁盘有剩余的空间,用分区工具新建一个swap分区.并写到/etc/fstab里面.再 #swapon -a方法二:可以用一个文件做交换分区. su root cd / ...

  4. ORACLE联机日志文件丢失或损坏的处理方法(转)

    经验总结: 联机日志分为当前联机日志和非当前联机日志,非当前联机日志的损坏是比较简单的,一般通过clear命令就可以解决问题. 损坏非当前联机日志:1.启动数据库,遇到ORA-00312 or ORA ...

  5. Windows Server 2016-DHCP服务器审核日志大小调整

    DHCP Server服务在%windir%\System32\DHCP或"%SystemRoot%\System32\DHCP"文件夹下存放了一个审核日志.审核日志文件名称是基于 ...

  6. acle联机日志文件的维护

    1.刷新重做日志缓存的时机 a.commit b.缓存满了 c.checkpoint,checkpoint的触发有两种机制: 定时触发,由log_checkpoint_interval[1]参数决定间 ...

  7. ORACLE数据库 memory_target SGA 大小

    修改 memory_target 用oracle用户登录,sqlplus "/as sysdba"SQL> show parameters target;     show ...

  8. Linux Oracle删除归档日志

    今天遇到Oracle报这样的错:ORA-00257 查看了下,原来是Oracle的归档日志满了,解决方案两个 一:增加归档日志大小 二:删除无用的归档日志(我们选择这个方案) 什么也不说了Linux下 ...

  9. Linux下调整ext3分区大小【转】

    本文转载自:https://blog.csdn.net/cruise_h/article/details/22403529 本文讨论如何再不丢失数据的情况下调整已有ext3分区的大小,包括: 压缩已有 ...

随机推荐

  1. MySQL学习笔记--基本操作

    1.登录数据库 在命令行输入 "mysql -u username -p" 回车后输入密码 2.选择数据库 USE datebase name,选择要操作的数据库 3.显示所有数据 ...

  2. DEV GridControl.TableView FocusedRow选中行背景颜色

    上次修改了TableView.RowStyle,导致了一个问题:覆盖了GridControl默认的选中行颜色. 于是需要重写选中行的颜色. 刚开始的想法是: <dxg:TableView> ...

  3. Yii 添加Input时间插件

    1.首先引入时间组件的JS文件,组件可以在网上下载到没有的可以到网上去下载 <script language="javascript" type="text/jav ...

  4. BFC 神奇背后的原理

    BFC已经是一个耳听熟闻的词语了,网上有许多关于BFC的文章,介绍了如何触发BFC, 以及BFC的一些用处(如清浮动,防止margin重叠等).虽然我知道如何利用BFC解决这些问题,但当别人问我BFC ...

  5. CentOS7下安装FTP服务

    1.安装vsftp 1.1.安装vsftp,测试安装的vsftpd的版本是:vsftpd.x86_64 0:3.0.2-11.el7_2 yum -y install vsftpd 1.2.修改配置文 ...

  6. 公用表表达式CTE

    公用表表达式CTE表面上和派生表非常相似,看起来只是语义上的区别.但和派生表比较起来,CTE具有几个优势:第一,如果须要在一个CTE中引用另一个CTE,不需要像派生表那样嵌套,相反,只要简单地在同一个 ...

  7. iOS开发UI篇—Quartz2D简单介绍

    iOS开发UI篇—Quartz2D简单介绍 一.什么是Quartz2D Quartz 2D是⼀个二维绘图引擎,同时支持iOS和Mac系统 Quartz 2D能完成的工作: 绘制图形 : 线条\三角形\ ...

  8. Halcon 10.0:Sample 分割边缘拟合圆Circles.hdev

    处理流程:快速二值化(区域)->获取区域边缘->截取边缘->膨胀边缘区域(定位)->定位区域进行边缘检测->边缘分割:线和圆->选择属性为圆的弧->拟合圆 * ...

  9. bzoj 3124: [Sdoi2013]直径

    #include<cstdio> #include<iostream> #define M 400009 #define ll long long using namespac ...

  10. 替换Notes,K2 BPM为vivo打造新平台

    vivo是步步高旗下的分品牌,专注于智能手机领域,隶属于广东步步高工业电子有限公司.vivo追求乐趣.充满活力.年轻时尚的群体一起打造拥有卓越外观.专业级音质.极致影像.愉悦体验的智能产品,并将敢于追 ...