點(diǎn)擊藍(lán)字 關(guān)注我們
一
問(wèn)題描述
運(yùn)行一段時(shí)間后,生產(chǎn)系統(tǒng)每天上午都很卡,表現(xiàn)為:
執(zhí)行簡(jiǎn)單顯示事務(wù)系統(tǒng)無(wú)響應(yīng)
登陸無(wú)響應(yīng)
簡(jiǎn)單查詢語(yǔ)句無(wú)響應(yīng)
過(guò)2-3個(gè)小時(shí)后,系統(tǒng)趨于正常.
一般情況下,上述系統(tǒng)無(wú)響應(yīng)的原因可以通過(guò)查看系統(tǒng)是否有空閑進(jìn)程來(lái)判斷原因.實(shí)際檢查時(shí)發(fā)現(xiàn)(TCODE:SM50/SM66),系統(tǒng)還有大量空閑進(jìn)程.
那基本上問(wèn)題可以確定在數(shù)據(jù)庫(kù)服務(wù)的響應(yīng)上.因?yàn)樗袩o(wú)響應(yīng)的事務(wù)都有一個(gè)共同點(diǎn), 需要查詢數(shù)據(jù)庫(kù).
二
問(wèn)題分析-進(jìn)程概覽
系統(tǒng)進(jìn)程大量卡在訪問(wèn)隊(duì)列或后臺(tái)作業(yè)相關(guān)的表(TCODE:SM66),如圖一
TRFCQIN
TRFCQOUT
ARFCSSTATE
ARFCSDATA
ARFCRSTATE
QREFTID
TRFCQDATA
TRFCQSTATE
TSTCS
TSTCY
TSTCP
圖一
三
問(wèn)題分析-歸納
這些表都是與后臺(tái)作業(yè)或隊(duì)列相關(guān)的表.
進(jìn)一步查詢隊(duì)列情況(TCODE:SMQ1/SMQ2)
進(jìn)一步查詢后臺(tái)作業(yè)情況 (TCODE: SM37)
發(fā)現(xiàn)系統(tǒng)響應(yīng)很慢. 尤其時(shí)隊(duì)列情況. 入站隊(duì)列只有2000個(gè)左右, 但是SMQ2查詢需要10分鐘或更久.
DB02中查看表的情況: 索引占用空間遠(yuǎn)大于表占用空間(考慮刪除索引后重建索引). 如圖二
這些表還有如下共性
行表存儲(chǔ)(通過(guò)TCODE SE11->技術(shù)設(shè)置可以看到如圖三
表里的當(dāng)前記錄不大(使用完就會(huì)被刪除)
注意到這些表是行存儲(chǔ)的表. 基于從前ORACLE數(shù)據(jù)庫(kù)的經(jīng)驗(yàn),行存儲(chǔ)的表刪除的條目還是會(huì)占用磁盤空間. 需要通過(guò)重組(類似于從前機(jī)械硬盤年代的磁盤重組)釋放空間.HANA中的行表是否也可以通過(guò) REORGANIZATION 來(lái)優(yōu)化?
圖二
圖三
四
問(wèn)題分析-一個(gè)優(yōu)化方案
查詢NOTES 發(fā)現(xiàn)了一個(gè)優(yōu)化上述相關(guān)表訪問(wèn)的NOTES
查詢到NOTES: 2700051 - Delivery of Statement Hints (SAP HANA >= 1.00.122.03)這個(gè)NOTES中提到對(duì)一些查詢指定索引.
目前TRFCQIN等表中的記錄不大, 但是查詢很慢.
NOTES 2700051實(shí)際上是指定一些查詢語(yǔ)句使用特定的索引來(lái)優(yōu)化查詢結(jié)果. 使用后沒(méi)有效果.
五
問(wèn)題分析-重組行表
帶著這個(gè)問(wèn)題通過(guò)關(guān)鍵字 REORGANIZATION查詢了NOTES
查詢到NOTES 1813245 - SAP HANA Row Store Reorganization
通過(guò)NOTES 1813245 得知
HANA行表的reorganization 根據(jù)版本不同, 有多種方式處理
重啟數(shù)據(jù)庫(kù)會(huì)觸發(fā)離線重組
在線重組 HAHA2 SPS00->SPS03
在線重組 HANA2 >=SPS04
HANA數(shù)據(jù)庫(kù)的版本可以通過(guò)GUI菜單->系統(tǒng)->狀態(tài)查看
六
問(wèn)題分析-檢查HANA狀態(tài)
參考下面這個(gè)NOTES 檢查表? CALL CHECK_TABLE_CONSISTENCY('CHECK', 'SAPABAP1', 'TRFCQIN'); 返回空信息
1977584 - Technical Consistency Checks for SAP HANA Databases
七
問(wèn)題的解決
重啟數(shù)據(jù)庫(kù)自動(dòng)觸發(fā)
offline row store reorganization 解決問(wèn)題
同時(shí)表的索引問(wèn)題也得以解決
八
總結(jié)
特定版本的HANA系統(tǒng)(不確定最新版本的是否還有這個(gè)問(wèn)題)對(duì)于頻繁刪除的行表 (比如后臺(tái)作業(yè)相關(guān)表或隊(duì)列相關(guān)表),沒(méi)有定時(shí)重組表.
導(dǎo)致該表占用過(guò)大的空間(刪除后的記錄任然占用了空間),同時(shí)影響了表的查詢性能并且占用了大量的數(shù)據(jù)庫(kù)服務(wù)器資源.
生產(chǎn)系統(tǒng)每天早上都有大量的接口傳遞到S4系統(tǒng)處理, 這些處理同時(shí)啟用隊(duì)列及后臺(tái)作業(yè). 導(dǎo)致大量數(shù)據(jù)庫(kù)資源被占用,無(wú)法響應(yīng)一些新的簡(jiǎn)單查詢. 導(dǎo)致系統(tǒng)異呈颈玻卡頓.
重啟數(shù)據(jù)庫(kù)后,觸發(fā)了系統(tǒng)的重組行表機(jī)制,解決了問(wèn)題.
但是因?yàn)樯a(chǎn)系統(tǒng)數(shù)據(jù)庫(kù)不能總是通過(guò)重啟解決問(wèn)題,所以最終解決辦法還是需要通過(guò)升級(jí)數(shù)據(jù)庫(kù), 或者定時(shí)通過(guò)腳本在線重組行表實(shí)現(xiàn).
參考NOTES:? 1813245
THE
END
約定