因为数据仓库ETL过程中,某个mapping的执行时间超过了一个小时,

select event,count(*) fromv$session_wait  group by event order bycount(*)  desc

发现日志切换占用了大量的时间,估尝试增大redo log的大小。

(1) redo log的大小可以影响  DBWR 和 checkpoint ;

(2)larger redo log files provide better performance. Undersized logfiles increase checkpoint activity and reduce performance.

大的log file可以提供更好的性能,小的logfile 会增加checkpoint 和降低性能;

(3)A rough guide is to switch log files at most once every 20 minutes.(推荐日志切换的时间不要超多20分钟).

通过查看 我有三组redolog 1/2/3每组两个成员状态都正常大小50m

select * from v$log ;

status 有几个值分别是:

  1. UNUSED(还没有使用过);
  2. CURRENT(正在使用);
  3. ACTIVE(Log isactive but is not the current log. It is needed for crash recovery);
  4. INACTIVE(Log is nolonger needed for instance recovery),

查看日志文件

select * from v$logfile ;

由于ORACLE并没有提供类似RESIZE的参数来重新调整REDO LOG FILE的大小,因此只能先把这个文件删除了,然后再重建。又由于ORACLE要求最少有两组日志文件在用,所以不能直接删除,必须要创建中间过渡的REDO LOG日志组。

1、创建3个新的日志组

ALTER DATABASE ADD LOGFILE GROUP 4('/usr/oracle/app/oradata/orcl/redo04a.log','/usr/oracle/app/oradata/orcl/redo04b.log') SIZE 2048M;

ALTER DATABASE ADD LOGFILE GROUP 5('/usr/oracle/app/oradata/orcl/redo05a.log','/usr/oracle/app/oradata/orcl/redo05b.log') SIZE 2048M;

ALTER DATABASE ADD LOGFILE GROUP 6('/usr/oracle/app/oradata/orcl/redo06a.log','/usr/oracle/app/oradata/orcl/redo06b.log')  SIZE 2048M;

2、切换当前日志到新的日志组

alter system switch logfile;

alter system switch logfile;

alter system switch logfile;

3、删除旧的日志组

查看日志组的状态看一下哪个是当前组,哪个是inactive状态的。

SQL> select * from v$log;

删除掉inactive的那个组。如果状态为current和active 在删除的时候会报错

alter database drop logfile group 1;

alter database drop logfile group 2;

alter database drop logfile group 3;

4、操作系统下删除原日志组1、2、3中的文件

注意:每一步删除drop操作,都需要手工删除操作系统中的实体文件。

5、重建日志组1、2、3

ALTER DATABASE ADD LOGFILE GROUP 1('/usr/oracle/app/oradata/orcl/redo01a.log','/usr/oracle/app/oradata/orcl/redo01b.log')SIZE 2048M;

 ALTER DATABASE ADD LOGFILE GROUP 2('/usr/oracle/app/oradata/orcl/redo02a.log','/usr/oracle/app/oradata/orcl/redo02b.log')SIZE 2048M;

 ALTER DATABASE ADD LOGFILE GROUP 3('/usr/oracle/app/oradata/orcl/redo03a.log','/usr/oracle/app/oradata/orcl/redo03b.log')SIZE 2048M;

6、切换日志组

alter system switch logfile; 

alter system switch logfile; 

alter system switch logfile;

7、删除中间过渡用的日志组4、5、6

alter database drop logfile group 4; 

alter database drop logfile group 5; 

alter database drop logfile group 6;

8、到操作系统下删除原日志组4、5、6中的文件

9、备份当前的最新的控制文件

SQL> alter database backupcontrolfile to trace resetlogs

Oracle更改redo log的大小的更多相关文章

  1. Oracle更改redo log大小 or 增加redo log组

    (1)redo log的大小可以影响 DBWR 和 checkpoint : (2)arger redo log files provide better performance. Undersize ...

  2. 修改redo log 的大小

    alert日志中含有大量警告信息:"Thread 1 cannot allocate new log, sequence 320xx Checkpoint not complete" ...

  3. Oracle current redo.log出现坏块后的不完全恢复案例一则

    1异常出现      8月30日下午2时左右,接同事电话,说数据库异常宕机了,现在启动不了. 2初步分析 我让现场把alert.log发过来,先看看是什么问题.   关于ORA-00353和ORA-0 ...

  4. Oracle Redo Log 机制 小结(转载)

    Oracle 的Redo 机制DB的一个重要机制,理解这个机制对DBA来说也是非常重要,之前的Blog里也林林散散的写了一些,前些日子看老白日记里也有说明,所以结合老白日记里的内容,对oracle 的 ...

  5. Oracle Dataguard Standby Redo Log的两个实验

    在Data Guard环境中,Standby Redo Log是一个比较特殊的日志类型.从最新的DG安装指导中,都推荐在Primary和Standby端,都配置Standby Redo Log. 简单 ...

  6. 调整innodb redo log files数目和大小的具体方法和步骤

    相较于Oracle的在线调整redo日志的数目和大小,mysql这点则有所欠缺,即使目前的mysql80版本,也不能对innodb redo日志的数目和大小进行在线调整,下面仅就mysql调整inno ...

  7. InnoDB事务日志(redo log 和 undo log)详解

    数据库通常借助日志来实现事务,常见的有undo log.redo log,undo/redo log都能保证事务特性,undolog实现事务原子性,redolog实现事务的持久性. 为了最大程度避免数 ...

  8. MySQL · 引擎特性 · InnoDB redo log漫游(转)

    前言 InnoDB 有两块非常重要的日志,一个是undo log,另外一个是redo log,前者用来保证事务的原子性以及InnoDB的MVCC,后者用来保证事务的持久性. 和大多数关系型数据库一样, ...

  9. Mysql InnoDB Redo log

    一丶什么是redo innodb是以也为单位来管理存储空间的,增删改查的本质都是在访问页面,在innodb真正访问页面之前,需要将其加载到内存中的buffer pool中之后才可以访问,但是在聊事务的 ...

随机推荐

  1. python 全栈开发,Day53(jQuery的介绍,jQuery的选择器,jQuery动画效果)

    js总结 js: 1.ECMAScript5 ES5语法 2.DOM CRUD 获取 3种方式 id tag className //面向对象 对象 : 属性和方法 某个对象中 function $( ...

  2. java使用md5加密

    代码: public String EncoderByMd5(String str) throws NoSuchAlgorithmException, UnsupportedEncodingExcep ...

  3. 《剑指offer》-斐波那契数列

    大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项. n<=39 这么直接的问fibonacci,显然是迭代计算.递归的问题在于重复计算,而迭代则避免了这一点:递归是自 ...

  4. ERP产品销售发货判断库存功能(四十二)

    产品数量的前端(键盘抬起的事件): <td> <input type="text" name="proCount" onkeyup=" ...

  5. 开始写博客,学习Linq(5)

    开始写代码了,我会把自己的代码粘贴在这里,好不容易可以实践了,可是不能偷懒的. string[] words = { "hello", "wonderful", ...

  6. #13【BZOJ2794】[Poi2012]Cloakroom

    题解: 感觉真是很智障..连这么简单的题都没想出来 一直在想这么做动态背包..发现不会 首先显然我们将询问按照m 序列按照a[i]排序 然后怎么满足b呢 其实很简单啊..只需要记录f[i]表示前面这些 ...

  7. day--16页面布局

        后台页面布局 一.fixed布局 <!DOCTYPE html> <html lang="en"> <head> <meta ch ...

  8. Evolution ZOJ2853

    矩阵太大导致爆栈 解决方法:矩阵不要开在main函数里面  全部在外面处理  main函数只能处理简单的赋值和加减 损失的要自减!! 最后为  sum+=t[i]*ans.m[i][n-1];   得 ...

  9. poj2230 Watchcow【欧拉回路】【输出路径】(遍历所有边的两个方向)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4392 题目大意: 一个图,要将每条边恰好遍历两遍,而且要以不同的方向,还要回到原点. dfs解法    ...

  10. Java基础--对象的序列化

    所有分布式应用常常需要跨平台,跨网络,因此要求所有传的参数.返回值都必须实现序列化. 比如常见的Dubbo分布式平台,里面的对象实体类必须实现序列化才能在网络间传递 一.定义 序列化:把Java对象转 ...