程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 表空間撐滿問題的解決方法

表空間撐滿問題的解決方法

編輯:關於MYSQL數據庫
為了解決表空間不足告警,我已經使用過下面三種形式。其實無論是那種方法,如果存儲介質實在緊張了,讓應用開發商清理舊的沒用的數據,才是解決表空間告警的最佳方法。

為了解決表空間不足告警,到如今,我已經使用過下面三種形式:

一、添加數據文件

這個方法最為簡單有效,但是需要足夠的存儲介質。

如果數據文件放在系統文件上則需要數據庫主機上空間充裕;如果是裸設備的話,則需要有足夠的lv。

腳本為:

alter tablespacets_nameadd datafile 'file_name' size 4095M autoextend off;(

裸設備:一般選擇autoextend off,因為lv已經提前劃好容量,而已最好設size比lv稍小一點)

二、壓縮table和index

這種方法一般不推薦,除非是實在沒有擴展的空間了,而且表或索引不能經常進行DDL操作的,這才允許。就算compress了,能節約出來的空間也是十分可憐的。

如果對已經壓縮了的表或索引做update、insert等DDL操作,那將會犧牲無數的IO來做代價的……

腳本為: 

alter tableowner.table_namemove compress parallel 8 nologging;
  alter indexowner.index_namerebuild compress nologging;

不知道為什麼索引不能采用parallel(並行)操作

三、Move an object to a different tablespace

顧名思義,就是挪動對象到其它表空間去。將原來表空間容量緊張裡的某些對象,挪到其它不緊張的表空間裡,以解燃眉之急。

也不推薦,僅僅解燃眉之急而已。

具體步驟在下篇文檔中說明

其實無論是那種方法,如果存儲介質實在緊張了,讓應用開發商清理舊的沒用的數據,才是解決表空間告警的最佳方法。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved