ASM磁碟空間假裝耗盡,ORA-15041: diskgroup space exhausted
一個DATAGUARD,當主庫RESIZE擴大一個資料檔案後,DG上面卻不能應用這個RESIZE的操作,導致MPR程式停掉,報錯如下:
ORA-01237: cannot extend datafile 123
ORA-01110: data file 516: '+DG01/dg/datafile/aa.276.689185035'
ORA-17505: ksfdrsz:1 Failed to resize file to size 3053300 blocks
ORA-15041: diskgroup space exhausted
本來想這個錯誤太明顯了,無非是因為DG上面得ASM組沒有空閒空間了,導致資料檔案不能擴充套件。於是登陸ASM例項,查詢空閒空間,結果如下:
SQL> select name,total_mb,free_mb from v$asm_diskgroup;
NAME TOTAL_MB FREE_MB
------------------------------ ---------- ----------
DG01 5209505 884073
DG02 1023994 988091
也就是說DG01命名還有將近900G的空間,卻給我說空間不夠了,這下抓瞎啦,見鬼的問題來了
第一反應就是這肯定是個BUG!登陸ML開始狂搜,結果發現碰到類似問題的人太多了,而且ASM類似的BUG也是一大堆,沒眉目了。其中一個最引起注意的是這麼一個地方(ML:389877.1),大概意思就是說:
一般我們都是去V$ASM_DISKGROUP或者V$ASM_DISK中來檢視ASM組總共有多少空間,還剩餘了多少空間,大多數情況下呢,這個數字是準確的,但是有時候呢,ORACLE會忽悠你!ASM中記錄這些空間使用資訊的地方有兩個,上面只是其中一個地方(叫disk directory),還有另外一個地方(allocation tables)。那麼當你在RESIZE的時候呢,如果這個RESIZE失敗了,那麼DIRECTORY中的數字是不會更新的,這是對的,因為本來空間就沒分配成功嘛,但是,ALLOCATION TABLE是會更新的,所以就導致了你從V$ASM_DISKGROUP中看到有很多空間資訊,但是乾著急就是沒法用。那麼怎麼確認是否有這種問題存在呢?
select group_number,file_number,bytes,space from v$asm_file,在這個SQL的返回結果中,BYTES是資料檔案實際的大小,而SPACE是資料檔案佔用的ASM空間的大小,而ASM磁碟有三種冗餘方式,分別是EXTERNAL/NORMAL/HIGH,這三種情況下,SPACE分別應該是BYTES的1倍(也就是基本相等)、兩倍和三倍。如果某些資料檔案不符合上面這個對應關係,那就應該是你撞上這個問題了。可是查下來這個問題在我這裡不存在,SPACE確實比BYTES大,但都只是大了一點點。(對於上面這種情況,ML上面的做法是先把這個檔案OFFLINE,然後備份,然後刪除,然後再RESTORE回來,然後再RECOVER,然後再ONLINE,這樣就OK了)
後來無頭蒼蠅一樣亂撞吧,挨個看看v$asm開頭的檢視,結果看到v$asm_disk_stats的時候發現了問題。
select path,total_mb,free_mb from v$asm_disk_stat;
執行這個查詢的時候,發現大多數些卷FREE_MB為0了,而有一個卷卻有將近900G空閒空間。後來想起來了,當初RMAN複製這個庫的時候,因為庫正在恢復的時候發現空間很緊張,就加了1T空間上去,然後POWER為5開始REBALANCE,後來發現RMAN的複製很慢,就把REBALANCE POWER改成0了,複製完把這茬給忘了,結果一直都沒有REBALANCE(本來想著系統自己的REBALANCE POWER設定為1,它自己會慢慢的REBALANCE的),從而導致了今天的問題。
最終,開始POWER 11的REBALANCE,等每個卷都有不少空間空間的時候開始恢復,報錯的地方已經能夠過去了,剩下的就是慢慢等著恢復和REBALANCE就是了
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25016/viewspace-1023300/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORA-15041 IN A DISKGROUP ALTHOUGH FREE_MB REPORTS SUFFICIENT SPACE
- 沒有磁碟空間 No space left on devicedev
- ORACLE ASM磁碟組空間溢位OracleASM
- ORACLE ASM的SSD磁碟空間回收分析OracleASM
- IPv4 地址耗盡,回收 E 類空間是否有意義?
- 磁碟空間不足
- 執行SQL查詢導致磁碟耗盡故障演示SQL
- 如何檢查Mac磁碟空間,mac磁碟空間其他怎麼清理Mac
- win10 如何修改磁碟空間 win10修改磁碟空間方法Win10
- Oracle 擴充磁碟空間Oracle
- 乾淨解除安裝應用程式,節省寶貴磁碟空間盡在App Cleaner & Uninstaller 中文啟用版APP
- ubuntu 擴充套件磁碟空間Ubuntu套件
- docker磁碟空間清理辦法Docker
- [20230201]磁碟空間爆滿.txt
- ASM磁碟組限制ASM
- windows10磁碟空間不足怎麼清理_win10磁碟空間清理的方法WindowsWin10
- Space Capital:地理空間情報手冊報告API
- 【ASM】Oracle asm磁碟被格式化,如何掛載該磁碟組ASMOracle
- linux檢視剩餘磁碟空間Linux
- [20201104]磁碟空間消耗在哪裡.txt
- WSL 回收未使用的磁碟空間
- lsof |grep deleted 釋放磁碟空間delete
- 伺服器磁碟空間滿了伺服器
- [20211029]udump磁碟空間暴漲.txt
- linux vdo驗證 oracle asm diskgroup sector_size 4096 udev asmlibLinuxOracleASMdev
- RAC之grid叢集安裝及ASM磁碟組配置ASM
- 遷移ASM磁碟組ASM
- dbms_space(分析段增長和空間的需求)
- 【ASM】Oracle asm刪除磁碟組注意事項ASMOracle
- 【ASM】ASM磁碟頭被重寫,如何修復ASM
- PHP 獲取伺服器磁碟空間PHP伺服器
- 檢視佔用磁碟空間的程式
- linux檢視mysql佔用磁碟空間LinuxMySql
- Linux 磁碟掛載和swap空間管理Linux
- 基於裸裝置的ASM磁碟組擴容方案ASM
- Space Capital:2024年Q2空間投資報告API
- ASM空間爆滿導致資料庫掛起ASM資料庫
- oracle RAC+DG 擴容ASM和表空間(Linux)OracleASMLinux