注意点:
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. seo优化做起来不是哪么简单,其实需要的是思维

          SEO百科:随着人们互联网的认识水平的提升,SEO似乎也已经得到了更多的认识.无论是浅显还是深入,SEO一直被大众认为是简单的,甚至是不值得一提的东西,甚至认为SEO无非就是作弊,SEO并 ...

  2. springboot项目利用devtools实现热部署,改动代码自动生效

    一.前言 spring-boot-devtools是一个为开发者服务的一个模块,其中最重要的功能就是自动应用代码更改到最新的App上面去.原理是在发现代码有更改之后,重新启动应用,但是速度比手动停止后 ...

  3. Oracle-08:连接查询

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 首先提供数据库脚本,供测试使用 create table DEPT ( deptno ) not null, ...

  4. Python题库

    Date:2018-05-08 1.Given: an array containing hashes of names Return: a string formatted as a list of ...

  5. CSS3 :nth-child() 选择器---挖坑

    E:nth-child(n) 语法: E:nth-child(n) { sRules } 说明: 匹配父元素的第n个子元素E,假设该子元素不是E,则选择符无效.(也就是说,会检查从body开始的每个元 ...

  6. node npm --save,不同JS解析器的内置全局变量,PROMISE,CONST---ES6

    npm  --save 当你为你的模块安装一个依赖模块时,正常情况下你得先安装他们(在模块根目录下npm install module-name),然后连同版本号手动将他们添加到模块配置文件packa ...

  7. MyBatis-Spring中间件逻辑分析(怎么把Mapper接口注册到Spring中)

    1.      文档介绍 1.1.      为什么要写这个文档 接触Spring和MyBatis也挺久的了,但是一直还停留在使用的层面上,导致很多时候光知道怎么用,而不知道其具体原理,这样就很难做一 ...

  8. 解决 Scrapy-Redis 空跑问题,链接跑完后自动关闭爬虫

    Scrapy-Redis 空跑问题,redis_key链接跑完后,自动关闭爬虫 问题:scrapy-redis框架中,reids存储的xxx:requests已经爬取完毕,但程序仍然一直运行,如何自动 ...

  9. Linux运行firefox出错

    虚拟机自带的firefox版本太旧了,于是在官网上下载了最新的安装包,运行后提示: $ firefox XPCOMGlueLoad error for file /home/parallels/fir ...

  10. jQuery的入口函数四种写法

    1.第一种: $(document).ready(function(){ }); 2.第二种(最简洁的写法,推荐): $(function(){ }); 3.第三种: jQuery(document) ...