1. 程式人生 > >案例分析:程式媛記一次特殊的“故障”處理

案例分析:程式媛記一次特殊的“故障”處理

關注我們獲得更多精彩

640?wx_fmt=jpeg

作者 | 蘭珊,多年資料庫服務經驗、主要服務於政府、電網等企。擅長資料庫升級、遷移、故障處理。

摘要

資料庫表空間擴容是我們在運維過程中經常需要做的事情,本文分享一次在擴容表空間中遇到的情況以及針對本次情況的一些想法。

記一次在運維過程中遇到的問題,在最近的一次表空間擴容中遇到的問題,該表表空間使用率達到 80% 以上,照常對該表空間進行擴容時報錯,報錯提示如下:

640?wx_fmt=png

打碼部分為表空間名稱,錯誤提示空間不足,在擴容表空間時已經檢查過磁碟組的剩餘空間。

DATA 磁碟組的剩餘空間還很充足,於是根據錯誤提示上 mos 查:

640?wx_fmt=png

結果如圖,錯誤提示一樣,直接拉到最後看解決辦法。

640?wx_fmt=png

根據 mos 提供的方法,檢查修復之後重新 rebalance。


alter diskgroup diskgroupname rebalance power 32:使用此子句手動重新平衡磁碟組。自動儲存管理在所有驅動器上均勻地重新分配資料檔案。

POWER :在 POWER 子句中,指定 0 到 11 之間的值,其中 0 表示重新平衡操作,11 表示 Oracle ASM 儘可能快地執行重新平衡。您在 POWER 子句中指定的值預設為 ASM_POWER_LIMIT 初始化引數的值。

雖然指定 power 值為32,但是實際日誌中檢視,最大隻能達到 11

640?wx_fmt=png

查詢官方文件給出的解釋:

ASM_POWER_LIMIT:該 ASM_POWER_LIMIT initialization 引數指定磁碟組中磁碟重新平衡的預設功率。該值的範圍是 0 到 1024。預設值為 1。值 0 禁用重新平衡。較高的數值使重新平衡操作能夠更快地完成,但可能會導致更高的 I / O 開銷和更多的重新平衡過程。

  • 對於具有磁碟組ASM相容性集到磁碟組11.2.0.2或更大(例如,COMPATIBLE.ASM= 11.2.0.2),值的操作範圍是 0 到 1024 用於重新平衡能力。

  • 對於磁碟組 ASM 相容性設定為小於的磁碟組 11.2.0.2,值的操作範圍 0 為 11包含。如果值 ASM_POWER_LIMIT 大於11,則將值用於 11 這些磁碟組。

初始化引數的 POWER 子句允許值範圍相同 ASM_POWER_LIMIT。如果 POWER 指定的子句的值大於 11ASM 相容性設定為小於的磁碟組 11.2.0.2,則會顯示警告,並且將使用 POWER 等於的值 11 進行重新平衡,所以日誌中看到的最大值為 11。

等到重新 rebalance 完成之後,重新增加資料檔案發現仍然失敗了,檢視磁碟組資訊發現每塊盤的大小並沒有改變。

640?wx_fmt=png

於是返回仔細檢視 mos 文件,根據 mos 提示檢視 Usable_file_MB 的值,我發現數據庫的 Usable_file_MB=-115876 是一個負數。

640?wx_fmt=png

這個值代表什麼意思,為什麼是負數呢?我查詢官方文件,官方文件給出的解釋是:USABLE_FILE_MB 表示為映象調整的可用空間量,可用於新檔案在磁碟發生故障後恢復冗餘。USABLE_FILE_MB 通過 REQUIRED_MIRROR_FREE_MB 從磁碟組中的總可用空間中減去然後調整映象值來計算。例如,在正常冗餘磁碟組中,預設情況下,映象檔案使用的磁碟空間等於其大小的兩倍,如果剩餘 4 GB 的實際可用檔案空間,則 USABLE_FILE_MB 大約等於 2 GB。然後,您可以新增最大 2 GB 的檔案。

REQUIRED_MIRROR_FREE_MB 指為了使 diskgroup 能在一個或多個磁碟損壞後能夠恢復冗餘(redundancy),磁碟組中應該保留的剩餘空間。

在 data 磁碟組的查詢輸出示例中,計算如下:

(FREE_MB - REQUIRED_MIRROR_FREE_MB)/ 2=USABLE_FILE_MB

 (278199-509952)/2=-115875

該值為負數時有那些影響呢?官方文件給出的解釋:

1. 根據值FREE_MB,您可能無法建立新檔案。

2. 下一次失敗可能會導致冗餘減少的檔案。

如果 USABLE_FILE_MB 變為負數,強烈建議您儘快為磁碟組新增更多空間

雖然 DATA 磁碟組還剩 兩百八十多G 未使用,但是採用的是 Normal redundancy,減去故障恢復所需要的磁碟空間,剩下的空間已經不足了。所以無法新增資料檔案,對錶空間進行擴容。

聯絡儲存工程師新加一塊 500G 的磁碟,對 DATA 磁碟組進行擴容。

alter diskgroup DATA rebalance power 11;

等待 rebalance 完成之後,再進行擴容表空間,表空間成功擴容。

640?wx_fmt=png

總結

這次故障其實算不上真正意義上的故障,擴容失敗主要是磁碟組剩餘可使用空間不足,慣性思維認為剩餘空間大小充足,就應該能進行擴容表空間,本來新增儲存擴容磁碟組就能解決問題,由於知識儲備不夠,關注的問題的點不夠全面導致這次簡單的擴容複雜化了。以後在對錶空間進行擴容時,不僅要關注磁碟組的剩餘空間大小,還要注意磁碟的冗餘方式。

作者:蘭珊

投稿:有投稿意向技術人請在公眾號對話方塊留言。

轉載:意向文章下方留言。

更多精彩請關注 “資料和雲” 公眾號

招聘專欄

Oracle 售前工程師(廣州、深圳、上海、武漢、北京、石家莊)

Oracle 高階工程師(上海、深圳、北京、成都、昆明、貴州、西寧)

MySQL 技術經理(上海、南京、成都)

MySQL 工程師(上海、杭州)

超高待遇:豐厚的年終獎,五險一金,高額學習基金,團建旅遊,法定節假日,福利假期等。

推薦他人成功入職有好禮(iPhone X)相送 。

投遞簡歷至郵箱:[email protected]

資源下載

關注公眾號:資料和雲(OraNews)回覆關鍵字獲取

2018DTCC , 資料庫大會PPT

2017DTC,2017 DTC 大會 PPT

DBALIFE ,“DBA 的一天”海報

DBA04 ,DBA 手記4 電子書

122ARCH ,Oracle 12.2體系結構圖

2017OOW ,Oracle OpenWorld 資料

PRELECTION ,大講堂講師課程資料

近期文章

640?wx_fmt=jpeg

相關推薦

案例分析程式特殊的“故障處理

關注我們獲得更多精彩作者 | 蘭珊,多年資料庫服務經驗、主要服務於政府、電網等企。擅長資料庫升級

Python按位異或運算子^應用案例一則查詢只出現的數字

問題描述:有一個整數列表,裡面有一個數字只出現了一次,而其他數字都出現了4次,要求查詢這個只出現了一次的數字。 思路要點:一個數字和自己異或一次會變成0。 參考程式碼: import random def onlyYou(lst):     r = lst[0]     for item in lst[1

Mongodb---事故故障

free 連接 最小 idt 日誌 垃圾清理 清空 mongodb -m 2014.06.19.001---故障報告 事故發生時間 事故簡述 事故責任方 是否解決 19:21-20:15 IISserverD盤即將溢出

kafka故障

con type 檢查 狀態 shadow ef6 sed tex consumer 故障現象:kafka有3個Partition分別為0,1,2,在實際運行中發現consumer只能收到Partition:0和Partition:1的數據,檢查topic狀態均正常。查找P

OOM查詢處理過程

poi pri eve ctime oop spa 進行 無需 頻繁 記一次OOM查詢處理過程 問題的爆出及分析排查現場 排查後的解決方案 項目的jvm參數 總結 一、問題的爆出及分析排查現場   服務偶爾會出現不可用的情況,導致出現time o

MongoDB故障排查的過程

資料技術嘉年華等你來預告:11.16-17日,北京市東三環中路61號富力萬麗酒店,相聚資料技術嘉

解Bug之路-儲存故障的排查過程

# 解Bug之路-記一次儲存故障的排查過程 高可用真是一絲細節都不得馬虎。平時跑的好好的系統,在相應硬體出現故障時就會引發出潛在的Bug。偏偏這些故障在應用層的表現稀奇古怪,很難讓人聯想到是硬體出了問題,特別是偶發性出現的問題更難排查。今天,筆者就給大家帶來一個儲存偶發性故障的排查過程。 ## Bug現場 我

通過v$active_session_history來分析問題的案例

關於:v$active_session_history是oracle中一個最重要的檢視之一,該檢視每秒一次記錄當前資料庫中的活動程序相關的資訊,可以用於問題的分析和診斷;同時awr還會將部分v$active_session_history中的部分記錄保留到dba_hist_a

資訊系統故障分析案例---------效能檢測系統故障排查

         2018年10月10日凌晨2點接到信調值班員電話,單位資訊運維統一監管(I6XXX)系統報警顯示公司門戶和網站系統性能檢測報警,頁面訪問響應時長和模擬登入功能異常,實際情況是網站和門戶系統執行正常,稍有寬心,現在單位執行指標考核太變態,壓力太大啊。立即開始協

解決OutOfMemoryError: Java heap space詳細過程與解決思路(jvisualvm解決問題案例詳細分析

喧譁的夜滿地銀光。望向窗外, 星的眨眼頻率格外的高,低眼看泛著油光的鍵盤,心中的寂寞。。。 滴滴,靠著每天【ctrl+alt+w】幾千+的慣性,開啟最【嘿嘿嘿】的聊天軟體,心中不免惆悵,已過午時三刻,還tm不下班。 惆 惆啥?油光的臉瞬間露出一

構建SaaS平臺專案失敗後的反思-技術VS產品哪個更重要-如何權衡-程式設計師職業生涯的自我批判與成長-業務型程式設計師的商業視角-多維度分析研發型企業管理之道

記一次構建SaaS平臺專案失敗後的反思 前言: 筆者從2017年起開始著手將公司現有的軟體系統改造成多租戶模式,以降低整

對java對象在內存中的分析

數據 ots 字節對齊 位數 數據位 64位 數組 內存大小 特殊 java 對象 占內存大小 計算方式 及 常用類型的占用 HotSpot的對齊方式為8字節對齊 ----計算公式:(對象頭 + 實例數據 + padding) % 8等於0且0 <= padding

OGG數據寫入HBase的丟失數據原因分析

hat xdg column 安裝 tint b- 主鍵 取余 bst 一、現象二、原因排查2.1 SparkStreaming程序排查2.2 Kafka數據驗證2.3 查看OGG源碼2.3.1 生成Kafka消息類2.3.2 Kafka配置類2.3.3 Kafka 消息發

lvs-tunnel模式的故障分析(SYN_REC)

過濾 oot som 一次 hose 不知道 也會 推理 min 一、測試環境 類型 IP 負載均衡器 eth0:10.20.73.20 VIP eth0:0 10.20.73.29 後端真實機 10.0.0.7(web01)、10.0.0.9(we

Java的內存泄露分析

新項目 引用 極限 out size exce -a 場景 tpc 當前環境 jdk == 1.8 httpasyncclient == 4.1.3 代碼地址 git 地址:https://github.com/jasonGeng88/java-network-prog

網上流量分析

words itl word 很多 release sctf 數據包 base 沒有 這是捕獲的黑客攻擊數據包,LateRain用戶的密碼在此次攻擊中泄露了,你能找到嗎? FLAG格式:SCTF{LateRain的明文密碼} LINK: http://pan.baidu.c

前端性能優化的案例

uga 手動更新 分享 不生效 花屏 打開 重繪 通過 。。 前兩天遇到一個前端性能相關的bug,感覺還挺典型的,整理了一下解決過程和思路,寫下來分享給大家。 場景是這樣的,有一個答題的界面,可以播放音頻、填空、提交答案,界面是長這個樣子的: 看起來還挺簡單吧,但是

2018第一發【Advanced Installer】打包之旅

4.0 config文件 cli 簡單 官網 class 用法 process file 一、前言 2017年最後幾天,你們都高高興興的跨年,博主還在加班制作.net安裝包。因為年前要出來第一版的安裝包,所以博主是加班加點啊。本來想用VS自帶的制作工具,不過用過的人都知道

LINUX-CRONTAB失敗的排查案例

一段時間 執行 linu linux-c 權限 排查 左右 完成 進行 在LINUX中,使用crontab來做計劃任務是一件很常見的事。本文記錄一次排查過程 故障描述 在crontab 設置計劃任務,每天淩晨3點執行腳本 conrtab(3點)tomcat用戶--執行腳本

內存溢出的分析經歷——thrift帶給我的痛orz

一個bug 服務端 ide 參數 comment ces 結果 業務 改變 說在前面的話 朋友,你經歷過部署好的服務突然內存溢出嗎? 你經歷過沒有看過Java虛擬機,來解決內存溢出的痛苦嗎? 你經歷過一個BUG,百思不得其解,頭發一根一根脫落的煩惱嗎? 我知道,你有過! 但