8. Truncate undo表空间
8. Truncate undo表空间
要Truncate Undo 表空间,必须为MySQL实例配置至少两个undo表空间(两个undo表空间可确保一个undo表空间保持活动状态,另一个处于脱机状态以进行truncate)。undo表空间的数量由innodb_undo_tablespaces控制。,默认值0,最大值95
mysql> select @@innodb_undo_tablespaces;
+---------------------------+
| @@innodb_undo_tablespaces |
+---------------------------+
| 95 |
+---------------------------+
1 row in set (0.00 sec)
8.1 启用 Truncate undo表空间
要truncate undo表空间,请启用 innodb_undo_log_truncate
mysql> SET GLOBAL innodb_undo_log_truncate=ON;
当innodb_undo_log_truncate启用时,一个undo表空间超过参数innodb_max_undo_log_size设置的大小时,将被标记为truncate。
innodb_max_undo_log_size默认值为1024M,最大值2**64 -1,可以动态修改
修改方法:
mysql> SET GLOBAL innodb_max_undo_log_size=2147483648;
undo 超出innodb_max_undo_log_size设置的表空间标记为truncate。选择用于truncate的undo 表空间是以循环方式执行的,以避免每次都truncate相同的undo 表空间。
驻留在所选undo tablespace中的回滚段将处于非活动状态,以便不会给他们分配新事务。允许完成当前使用回滚段的现有事务。
该清除系统释放那些不需要的回滚段。
释放undo表空间中的所有回滚段后,将允许truncate操作,并将undo表空间truncate为其初始大小。undo表空间文件的初始大小取决于 innodb_page_size值。对于默认的16k InnoDB页面大小,初始undo表空间文件大小为10MiB。对于4k,8k,32k和64k页面大小,初始undo表空间文件大小分别为7MiB,8MiB,20MiB和40MiB。
重新激活回滚段,以便将它们分配给新事务。
8.2 加快 truncate undo表空间文件
在释放其回滚段之前,不能truncate表空间。通常,每调用一次purge系统就得purge128次才会释放回滚段。
要增加purge线程释放回滚段的频率,请减少innodb_purge_rseg_truncate_frequency例如:
mysql> select @@innodb_purge_rseg_truncate_frequency;
+----------------------------------------+
| @@innodb_purge_rseg_truncate_frequency |
+----------------------------------------+
| 128 |
+----------------------------------------+
1 row in set (0.00 sec)
mysql> SET GLOBAL innodb_purge_rseg_truncate_frequency=32;
8.3 在线truncate undo表空间对性能的影响
当truncate undo表空间时,该表空间中的回滚段暂时停用。其他undo 表空间剩余的活动回滚段承担整个系统负载的责任,这可能会导致性能略有下降。性能下降程度取决于许多因素,包括:
- undo 表空间数量
- undo log数量
- undo表空间大小
- I/O速度
- 现有的长事务
- 系统负载
8. Truncate undo表空间的更多相关文章
- MySQL 5.7新特性之在线收缩undo表空间
1. MySQL 5.5时代的undo log 在MySQL5.5以及之前,大家会发现随着数据库上线时间越来越长,ibdata1文件(即InnoDB的共享表空间,或者系统表空间)会越来越大,这会造成2 ...
- 【oracle11g,13】表空间管理2:undo表空间管理(调优) ,闪回原理
一.undo空间原理: dml操作会产生undo数据. update时,sever process 会在databuffer 中找到该记录的buffer块,没有就从datafile中找并读入data ...
- 万答#18,MySQL8.0 如何快速回收膨胀的UNDO表空间
欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答 GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 背 ...
- 如何删除回滚段状态为NEEDS RECOVERY的undo表空间
环境:RHEL 6.4 + Oracle 11.2.0.4 背景:备份恢复的测试库在一次不完全恢复后,没有来及做有效的全备,又一次数据库故障导致数据库无法正常open. 只能离线部分数据文件打开数据库 ...
- 记一次ORACLE的UNDO表空间爆满分析过程
这篇文章是记录一次ORACLE数据库UNDO表空间爆满的分析过程,主要整理.梳理了同事分析的思路.具体过程如下所示: 早上收到一数据库服务器的UNDO表空间的告警邮件,最早一封是7:55发出的(监控作 ...
- Oracle 11gR2 Database UNDO表空间使用率居高不下-转载
客户的数据库是Oracle Database 11.2.0.3.0 for AIX 6.1 64bit的单机数据库.客户查询DBA_FREE_SPACE发现UNDO表空间的使用率高达98%以上.客户的 ...
- UNDO表空间设置
flashback query和flashback table都是以用UNDO表空间的内容来进行恢复数据 查看undo内容保存的时间: SQL> show parameter undo_re N ...
- UNDO表空间损坏,爆满,ORA-600[4194]/[4193]错误解决
模拟手工删除UNDO表空间 在ORADATA 中把UNDOTBS01.DBF 删除 模拟启库 SQL> STARUP; * 第 1 行出现错误: ORA-01157: 无法标识/锁定数据文件 2 ...
- oracle表空间查询维护命令大全之二(undo表空间)
--undo表空间汇总 --查看全部的表空间名字 select name from v$tablespace; --创建新的UNDO表空间,并设置自己主动扩展參数; create undo table ...
随机推荐
- POJ2446【建图建图】
题意: 给你一个n*n的矩阵,然后再给你几个坑,然后问你能否被1*2的长方形给覆盖: -弱知道了是二分匹配的做法,但是弱还是不会转化,又是在建图上GG了 分析: 从国际象棋的那个黑白色理解,这是一张二 ...
- R Factor 如何转为c()
从 R语言本身来说 > f [1] 130015.IB 130013.IB Levels: 130013.IB 130015.IB > data = c(f) > data [1] ...
- CentOS 7 设置系统语言为英文并解决 cannot change locale 问题
首次安装Cent OS 7.6时,将系统语言设置成了中文.后续学习和使用过程中却发现种种不便,甚至有翻译错误.为锻炼自己的英文能力,所以将系统语言设置问英文. 编辑 locale 配置文件,将 LAN ...
- JAVA多线程(一) Thread & Runnable
githut代码地址:https://github.com/showkawa/springBoot_2017/tree/master/spb-demo/spb-brian-query-service/ ...
- Vue 页面加载闪现代码问题
CSS中 [v-cloak] { display: none; } HTML中 <div v-cloak> {{ message }} </div> 显示代码主要是{{}}这个 ...
- gbk编码文件传输json实例
cline.php <?php $str='此地无银三百两'; $str = iconv('gbk', 'utf-8', $str); //Json只支持utf-8编码,如果不进行转码的话,服务 ...
- Spring源码:Spring IoC容器加载过程(1)
Spring源码版本:4.3.23.RELEASE 一.加载过程概览 Spring容器加载过程可以在org.springframework.context.support.AbstractApplic ...
- Python学前基础知识
Python基础计算机常识:硬件性能:CPU.内存输入设备:鼠标.键盘外部存储设备:硬盘输出设备;显示器.打印机(不算自带)通讯设备:无线网卡----------------------------- ...
- php 批量依照ID建立 文件
<?php // 登录验证 include_once('inc/conn.php'); // sql查询 $sql="SELECT * FROM zcgl ";// $res ...
- 洛谷 P2319 [HNOI2006]超级英雄
题目描述 题目描述 现在电视台有一种节目叫做超级英雄,大概的流程就是每位选手到台上回答主持人的几个问题,然后根据回答问题的多少获得不同数目的奖品或奖金.主持人问题准备了若干道题目,只有当选手正确回答一 ...