Oracle调整联机日志大小
近期一个项目反馈月底高峰期时系统整体性能下降,抓取对应的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调整联机日志大小的更多相关文章
- Oracle体系结构之联机日志文件管理
日志文件分类:重做日志文件 归档日志文件 警告日志文件 跟踪日志文件 redo_log_file文件作用: 1)维护数据一致性 2)记录了数据库里的更改操作 redo_log_friles以组为单位, ...
- Oracle联机日志损坏解决办法
关于此问题,在网上找到一篇不错的文章. 大家都清楚,联机日志分为当前联机日志和非当前联机日志. ---------------------------------------------------- ...
- 调整swap分区大小-Linux下安装Oracle时报swap不够解决方法
调整swap分区大小 方法一:如果磁盘有剩余的空间,用分区工具新建一个swap分区.并写到/etc/fstab里面.再 #swapon -a方法二:可以用一个文件做交换分区. su root cd / ...
- ORACLE联机日志文件丢失或损坏的处理方法(转)
经验总结: 联机日志分为当前联机日志和非当前联机日志,非当前联机日志的损坏是比较简单的,一般通过clear命令就可以解决问题. 损坏非当前联机日志:1.启动数据库,遇到ORA-00312 or ORA ...
- Windows Server 2016-DHCP服务器审核日志大小调整
DHCP Server服务在%windir%\System32\DHCP或"%SystemRoot%\System32\DHCP"文件夹下存放了一个审核日志.审核日志文件名称是基于 ...
- acle联机日志文件的维护
1.刷新重做日志缓存的时机 a.commit b.缓存满了 c.checkpoint,checkpoint的触发有两种机制: 定时触发,由log_checkpoint_interval[1]参数决定间 ...
- ORACLE数据库 memory_target SGA 大小
修改 memory_target 用oracle用户登录,sqlplus "/as sysdba"SQL> show parameters target; show ...
- Linux Oracle删除归档日志
今天遇到Oracle报这样的错:ORA-00257 查看了下,原来是Oracle的归档日志满了,解决方案两个 一:增加归档日志大小 二:删除无用的归档日志(我们选择这个方案) 什么也不说了Linux下 ...
- Linux下调整ext3分区大小【转】
本文转载自:https://blog.csdn.net/cruise_h/article/details/22403529 本文讨论如何再不丢失数据的情况下调整已有ext3分区的大小,包括: 压缩已有 ...
随机推荐
- ORACLE分页查询SQL语法——最高效的分页
--1:无ORDER BY排序的写法.(效率最高)--(经过测试,此方法成本最低,只嵌套一层,速度最快!即使查询的数据量再大,也几乎不受影响,速度依然!) SELECT * FROM (SELECT ...
- Django1.9开发博客(9)- 用户认证
你应该注意到了一点,当你去新建.修改和删除文章的时候并不需要登录,这样的话任何浏览网站的用户都能随时修改和删除我的文章.这个可不是我想要的! 编辑和删除的认证 我们需要保护post_new, post ...
- OpenAl编程入门:播放一段音频
OpenAl编程入门 关于OpenAl我就不多介绍了,这两篇说明对于初步了解已经足够了:http://baike.baidu.com/view/1355367.htmhttp://en.wikiped ...
- C语言混乱代码大赛
main() {printf(&unix["\021%six\012\0"], (unix)["have"] + "fun" - 0 ...
- ABAP之声母韵母
我们一开始上学的时候,老师最先教的是什么? 拼音,声母,韵母,声调等等. 那么ABAP里什么是这些东西呢? 基础的数据类型,已经数据字典里的东西:域,数据元素,结构,视图,表,搜索帮助,锁... 数据 ...
- vm10虚拟机安装Mac OS X10.10教程[转]
update:http://www.sysprobs.com/vmware-workstation-8-0-8-0-1-unlocker-to-run-mac-os-x-guest-in-window ...
- 用python定时文章发布wordpress
用python定时文章发布wordpress: 流程: 采集 - 筛选文章 - wordpress文章发布. wordpress文章发布代码:python利用模块xmlrpclib发布文章非常便捷,省 ...
- [HB2014 Week5] Allot 人员分配
这两天决心专门搞好网络流了 - - 题解在什么瞎胡搞跟我说要连n+2和n+1容量为无穷的边…我看了下std才做的… 坑死人的地方就是,需要求多次网络流,每次别忘了把流给清空了…这次是用链表所以专门写了 ...
- AngularJS向指令传递数据
我今天要实现的功能是利用AngularJS来完成客户端过滤器. list.html页面主要代码如下: ...... <div class='tj_con_tr_ipt' ng-init=&quo ...
- Wince 6.0 窗口最大化显示
在InitDialog用如下代码实现: CRect m_FullScreenRect; //全屏区域 CRect WindowRect; GetWindowRect(&Window ...