Innodb:Undo 表空間巨大
這是一個朋友問我的,簡單記錄一下
一、問題
我用的5.7的Mysql undo清理引數已經開啟了。為什麼undo tablespace沒有清理。
二、分析
這種問題應該是有大查詢的存在,朋友幹掉了大查詢後,undo 依然沒有清理。
------------ TRANSACTIONS ------------ Trx id counter 33083158036 Purge done for trx's n:o < 31961212290 undo n:o < 0 state: running History list length 560689581 作者微信:**gp_22389860**
我們可以大約理解為560689581個事物的UNDO沒有釋放。
我們知道undo的分配是迴圈分配的,清理操作應該等到釋放操作完成之後 可以大概從從函式trx_purge_truncate_history看到(我只是初略的看了一眼),只有當所有的undo header,rollback header。之後才能清理整個表空間。
我叫朋友查了一下當前purge執行緒的壓力如下:
雖然沒有做pstack,可以猜測purge執行緒正在清理這些undo記錄。等到清理完成後應該可以釋放undo tablespace的。然後又看了一下show engine中關於undo的資訊如下:
明顯已經開始減少了。再等等吧。
作者微信: gp_22389860
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7728585/viewspace-2640462/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL InnoDB Undo表空間配置MySql
- undo表空間容量
- 更改undo表空間大小
- UNDO表空間空間回收及切換
- Configure innodb 表空間
- 2.5.5 使用自動Undo管理: 建立 Undo 表空間
- MySQL InnoDB表空間加密MySql加密
- ORACLE線上切換undo表空間Oracle
- MySQL InnoDB臨時表空間配置MySql
- innodb表空間儲存結構
- MySQL UNDO表空間獨立和截斷MySql
- [20210527]rman與undo表空間備份.txt
- Oracle切換undo表空間操作步驟Oracle
- MySQL 增加InnoDB系統表空間大小MySql
- MySQL InnoDB File-Per-Table表空間MySql
- undo表空間使用率過高解決
- oracle中undo表空間丟失處理方法Oracle
- 檢查及設定合理的undo表空間
- MySQL innodb表使用表空間物理檔案複製表MySql
- 【UNDO】Oracle undo表空間使用率過高,因為一個查詢Oracle
- undo表空間使用率100%的原因檢視
- MySQL 減少InnoDB系統表空間的大小MySql
- Oracle 19c 線上縮減 UNDO 表空間 容量Oracle
- MySQL 5.7新特性之線上收縮undo表空間MySql
- InnoDB undo log原理
- MySQL InnoDB系統表空間資料檔案配置MySql
- 刪除UNDO表空間並處理ORA-01548問題
- Innodb undo之 undo結構簡析
- 18_深入解析Oracle undo原理(2)_undo表空間使用率100%問題處理Oracle
- 16、表空間 建立表空間
- 2.6.8 設定UNDO空間管理方法
- 12C關於CDB、PDB 回滾undo表空間的總結
- Innodb undo之 undo物理結構的初始化
- 為Zabbix MySQL設定獨立表空間innodb_file_per_tableMySql
- InnoDB文件筆記(三)—— Undo Log筆記
- mysql Innodb表空間解除安裝、遷移、裝載的使用方法MySql
- oracle 表空間Oracle
- PostgreSQL 表空間SQL