注意点:
1、redo要是能sesize的话就完美了
2、drop时候如果active就得checkpoint才能drop
3、物理删除旧redo文件
redo大小影响切换,进而影响性能,至于什么样的业务设置多大暂时还不是很确定,正常情况下设置1g-2g就差不多了。另外可能还跟IO有关,因为在切换时候如果IO差,那么切换就会很慢,这样的话就会影响到性能。
--查询日志组及状态
SQL> select thread#,group#,members,bytes/1024/1024 ,STATUS from v$log;

THREAD# GROUP# MEMBERS BYTES/1024/1024 STATUS
---------- ---------- ---------- --------------- ----------------
1 1 1 1000 INACTIVE
1 2 1 1000 ACTIVE

--查询路径,将新增的redo放在同一目录中
SQL> SELECT MEMBER FROM v$logfile;

MEMBER
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/test/actlog/redo02.log
/u01/app/oracle/oradata/test/actlog/redo01.log

--比如原来redo大小为1000m,现在想调为100m,毕竟是测试环境,没必要搞那么大
SQL> alter database add logfile group 3 ('/u01/app/oracle/oradata/test/actlog/redo03.log') size 100m;

数据库已更改。

SQL> alter database add logfile group 4 ('/u01/app/oracle/oradata/test/actlog/redo04.log') size 100m;

数据库已更改。

SQL> alter database add logfile group 5 ('/u01/app/oracle/oradata/test/actlog/redo05.log') size 100m;

数据库已更改。

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

GROUP# MEMBERS BYTES/1024/1024 STATUS
---------- ---------- --------------- ----------------
1 1 1000 CURRENT
2 1 1000 UNUSED
3 1 100 UNUSED
4 1 100 UNUSED
5 1 100 UNUSED
日志切换,准备删除原来的日志,将被删除的日志切换到INACTIVE就可以drop了
SQL> alter system switch logfile;

系统已更改。
--但是发现,切换了好几次,想drop的redo还是ACTIVE,就来个狠的,强制进行检查点
SQL> alter system checkpoint;

系统已更改。

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

GROUP# MEMBERS BYTES/1024/1024 STATUS
---------- ---------- --------------- ----------------
1 1 1000 INACTIVE
2 1 1000 INACTIVE
3 1 100 CURRENT
4 1 100 INACTIVE
5 1 100 UNUSED

SQL> alter database drop logfile group 1;

数据库已更改。

SQL> alter database drop logfile group 2;

数据库已更改。

为了保持好看,1、2还想再用,就再走一遍,但报错了。。。
SQL> alter database add logfile group 1 ('/u01/app/oracle/oradata/test/actlog/redo01.log') size 100m;
alter database add logfile group 1 ('/u01/app/oracle/oradata/test/actlog/redo01.log') size 100m
*
第 1 行出现错误:
ORA-00301: 添加日志文件 '/u01/app/oracle/oradata/test/actlog/redo03.log'
时出错 - 无法创建文件
ORA-27038: 所创建的文件已存在
Additional information: 1
物理删除redo文件,找到对应redo目录rm redo01.log redo02.log
[oracle@test ~]$ cd /u01/app/oracle/oradata/test/actlog/
[oracle@test ~]$ rm redo01.log redo02.log

SQL> alter database add logfile group 1 ('/u01/app/oracle/oradata/test/actlog/redo01.log') size 100m;

数据库已更改。

SQL> alter database add logfile group 2 ('/u01/app/oracle/oradata/test/actlog/redo02.log') size 100m;

数据库已更改。
添加删除完之后,switch几下看正常不
SQL> alter system switch logfile;

系统已更改。

在线修改redo日志大小的更多相关文章

  1. 修改redo log 的大小

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

  2. 2. 更改InnoDB redo日志文件的数量或大小

    2. 更改InnoDB redo日志文件的数量或大小 要更改InnoDB 重做日志文件的数量或大小,请执行以下步骤: 1)停止MySQL服务器,确保正常关闭且没有错误发生 2) 编辑my.cnf以更改 ...

  3. Oracle11g温习-第七章:redo日志

      2013年4月27日 星期六 10:33 1.redo (重做) log 的功能:        用于数据恢复   2.redo log 特征: [特征]: 1)   记录数据块的变化(DML.D ...

  4. MySQL8.0 redo日志系统优化

    背景 现在主流的数据库系统的故障恢复逻辑都是基于经典的ARIES协议,也就是基于undo日志+redo日志的来进行故障恢复.redo日志是物理日志,一般采用WAL(Write-Ahead-Loggin ...

  5. MySQL中的 redo 日志文件

    MySQL中的 redo 日志文件 MySQL中有三种日志文件,redo log.bin log.undo log.redo log 是 存储引擎层(innodb)生成的日志,主要为了保证数据的可靠性 ...

  6. 在线修改大表结构pt-online-schema-change

    使用场景 在线数据库的维护中,总会涉及到研发修改表结构的情况,修改一些小表影响很小,而修改大表时,往往影响业务的正常运转,如表数据量超过500W,1000W,甚至过亿时 在线修改大表的可能影响 在线修 ...

  7. MySQL 持久化保障机制-redo 日志

    我们在 聊一聊 MySQL 中的事务及其实现原理 中提到了 redo 日志,redo 日志是用来保证 MySQL 持久化功能的,需要注意的是 redo 日志是 InnoDB 引擎特有的功能. 为什么 ...

  8. MySQL的万字总结(缓存,索引,Explain,事务,redo日志等)

    hello,小伙伴们,好久不见,MySQL系列停更了差不多两个月了,也有小伙伴问我为啥不更了呢?其实我去看了MySQL的全集,准备憋个大招,更新篇长文(我不会告诉你是因为我懒的). 好了,话不多说,直 ...

  9. oracle之二redo日志

    redo 日志 4.1 redo (重做) log 的功能:数据recovery4.2 redo log 特征:     1)记录数据库的变化(DML.DDL)     2)用于数据块的recover ...

随机推荐

  1. dubbo实现原理简单介绍

    一.什么是dubbo   Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合).从服务模型的角度来看,     ...

  2. 去重是distinct还是group by?

    distinct简单来说就是用来去重的,而group by的设计目的则是用来聚合统计的,两者在能够实现的功能上有些相同之处,但应该仔细区分,因为用错场景的话,效率相差可以倍计. 单纯的去重操作使用di ...

  3. 令状态寄存器访问指令(MRS,MSR)

    ARM中有两条指令用于在状态寄存器和通用寄存器之间传送数据. 针对32位的ARM处理器,状态寄存器就是一个32位长的寄存器.每个位的含义如下图: 分成了4部分: 1,条件标志位 N(Negative) ...

  4. 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法

    比如Json.NET的JObject明明实现了IEnumerable<T>,具体来说是IEnumerable<KeyValuePair<string, JToken>&g ...

  5. Kali Linux远程连接Windows服务器

    前言: 为了在Kali上远程连接Windows系统的服务器我们需要安装两个工具,rdesktop和tsclient.另外,我们从主机服务商那里购买的Windows操作系统的服务器都是默认开启了远程连接 ...

  6. JavaScript设计模式 Item 3 --封装

    在JavaScript 中,并没有对抽象类和接口的支持.JavaScript 本身也是一门弱类型语言.在封装类型方面,JavaScript 没有能力,也没有必要做得更多.对于JavaScript 的设 ...

  7. mac升级到php7

    使用homebrew安装php7 brew update #更新源 brew search php #查找源中的php,发现有php7.1版本,安装最新的php7.1 brew install php ...

  8. transform-origin

    transform-origin:改变原点中心位置 transform-origin是变形原点,也就是该元素围绕着那个点变形或旋转,transform-origin并不是transform中的属性值, ...

  9. centos7 更新Firefox版本

    1.用你本地的旧版 firefox,访问http://www.firefox.com.cn,下载Linux版本的Firefox,因为我的是64位故选择的安装包是:"Firefox-lates ...

  10. Python实现控制台密码星号输入

    import msvcrt, sys, os print('password: ', end='', flush=True) li = [] while 1: ch = msvcrt.getch() ...