搞死SAP系統(tǒng)系列 讓PO系統(tǒng)宕機

點擊藍字 關(guān)注我們

前言

首先鄭重申明:本文并不是想教唆你怎么把SAP服務(wù)器搞死.

雖然你確實可以從本文中學到搞死SAP服務(wù)器的技巧,但是如果因為你對公司的抱怨而導(dǎo)致你無意中使用了本文中的方式無意中搞死了貴公司的SAP服務(wù)器.

請不要甩鍋給本文作者. 罪過在于你無意的報復(fù)之心及貴公司無意讓你擁有了報復(fù)之心.

鑒于本文可能讓部分心有芥蒂的程序員有更強的破壞力.

在文末會給出相應(yīng)的解決方案

本文主要介紹怎么無意中讓PO系統(tǒng)宕機

技能儲備

干壞事之前先儲備一些技能,關(guān)鍵時候才能發(fā)揮出重要的作用. 比如:節(jié)假日中讓系統(tǒng)掛掉(這對開發(fā)或系統(tǒng)維護人員無疑是最大的噩耗,美美的假期泡湯,還不一定有加班工資).

使用本文的方式之前需要先儲備如下的知識

使用PO的JDBC通道從中間表讀取數(shù)據(jù),生成消息傳遞到目標系統(tǒng).

可能你無意中查詢到了SAP的這個幫助. 如圖一

在JDBC通道中按圖一中方式配置了發(fā)出通道的讀取語句和更新語句,如圖二

https://help.sap.com/doc/saphelp_nw73/7.3.16/en-US/7e/5df96381ec72468a00815dd80f8b63/content.htm?no_cache=true

select * from table where processed = 0

update table set processed = 1 where processed = 0

圖一

圖二

天時地利人和

中國傳統(tǒng)文化講究天時地利人和,三者合一方成大事. 因此要干票大的,也得考慮考慮這些因素.

01

天時

你夜觀天象,發(fā)現(xiàn)最近七星不亮,似有不吉之兆. 因此暫停了JDBC SENDER通道一段時間,恰逢元旦假期,為了安度假期,又重新打開了JDBC SENDER通道(把期間累計的幾百萬條記錄處理掉,數(shù)據(jù)量大是很重要的因素).

關(guān)于通道的暫停的方法

暫停通道的兩種方式

  1. 通道配置中設(shè)置狀態(tài)inactive(圖三)

  2. 通道監(jiān)控器停止通道(圖四)

  3. 自動啟動停止通道

詳見鏈接無峰,公眾號:ABAP 技巧與實戰(zhàn)PO系列之 通道的可用性計劃

圖三

圖四

02

地利

這個存粹湊數(shù)的, 想不到啥地利的因素. 如果要硬湊, 那么你恰好出現(xiàn)在銀河系獵戶座旋臂-太陽系-地球-亞洲-中國-某地. 是為地利

03

人和

開發(fā)和系統(tǒng)維護人員在假期中休假的休假,結(jié)婚的結(jié)婚,離異的離異. 總之各顧各的去了. 人都不在是為人和.

案發(fā)

然后PO系統(tǒng)就掛了. 在崗的的業(yè)務(wù)人員及時的發(fā)現(xiàn)了問題: 怎么倉庫收不到收貨單據(jù), 供應(yīng)商貨都拉到了倉庫,在等著按單收貨呢.

事件持續(xù)發(fā)酵幾個小時. 估計中國移動的營收又增加了0.00000000165890個百分點.(這個梗來自拼多多)

BASIS緊急介入. 祭出重啟大法. 重啟了PO系統(tǒng), 重啟后幾分鐘,系統(tǒng)又不響應(yīng)了. 靠,重啟都沒法解決的問題,那基本無解了.

休假結(jié)婚離異的開發(fā)人員被緊急召回:沒改任何代碼呀, 咱可是嚴格遵照中國程序員編程規(guī)范,節(jié)假日前不發(fā)布新版本.

維護人員也很冤枉: 我只是重新開啟了一個接口. 這不是正常操作么?

解決辦法

找到之前使用JDBC SENDER 通道訪問的表, 把處理標記 都設(shè)置為已處理 processed = 9. 然后再重啟PO系統(tǒng). BINGO,問題成功解決. 有沒有覺得這個問題的發(fā)生和解決都有點不可思議?

總結(jié)

PO JDBC SENDER 通道中的SELECT 語句用于獲取數(shù)據(jù)產(chǎn)生一個消息. 如果讀取數(shù)據(jù)庫的SELECT 語句讀取了大量數(shù)據(jù),PO嘗試把所有這些數(shù)據(jù)構(gòu)造成一個巨大的XML時,出現(xiàn)系統(tǒng)宕機, 重啟后, 通道重新激活,再次讀取,再次構(gòu)造,再次宕機. (感覺PO好脆弱).

不太建議PO中使用JDBC SENDER 通道. 因為很難解決PO讀取數(shù)據(jù), 外部系統(tǒng)同時寫入數(shù)據(jù)的場景(序列化讀取是系統(tǒng)推薦的一種方式,需要讀寫雙方都設(shè)置序列化操作).

如果一定需要使用JDBC SENDER通道, 可以嘗試通過rownum<= N 限定一下消息的大小(ORACLE數(shù)據(jù)庫有效, 其它數(shù)據(jù)庫類型不確定)

SELECT ROWnum ,exord,flag FROM DANIANG.Zttemp

WHERE (flag IS NULL OR FLAG = '') AND rownum <= 100;

UPDATE DANIANG.Zttemp SET FLAG = 'X'

WHERE (flag IS NULL OR FLAG = '') AND rownum <= 100;

通過rownum 獲取的數(shù)據(jù)和更新的數(shù)據(jù)是否嚴格一致, 這一點有些存疑. 在JDBC SENDER 通道中怎么限定每次讀取的數(shù)據(jù)包大小? 這個問題期望讀者能給出更好的答案.

(驗證ORACLE的rownum 的獲取,select 的字段順序不一樣, 會導(dǎo)致一條記錄的rownum不一致. update 中使用的rownum 可能是基于select * 獲取的. 這就要求SELECT 語句一定不能修改字段原本順序,否則可能導(dǎo)致更新的數(shù)據(jù)和讀取的數(shù)據(jù)不一致)

THE

END

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市胸蛛,隨后出現(xiàn)的幾起案子狼纬,更是在濱河造成了極大的恐慌抖甘,老刑警劉巖爷绘,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鲤屡,死亡現(xiàn)場離奇詭異孝治,居然都是意外死亡列粪,警方通過查閱死者的電腦和手機审磁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來岂座,“玉大人态蒂,你說我怎么就攤上這事》咽玻” “怎么了钾恢?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長鸳址。 經(jīng)常有香客問我瘩蚪,道長,這世上最難降的妖魔是什么稿黍? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任疹瘦,我火速辦了婚禮,結(jié)果婚禮上巡球,老公的妹妹穿的比我還像新娘言沐。我一直安慰自己,他們只是感情好酣栈,可當我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布险胰。 她就那樣靜靜地躺著,像睡著了一般矿筝。 火紅的嫁衣襯著肌膚如雪鸯乃。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天跋涣,我揣著相機與錄音缨睡,去河邊找鬼。 笑死陈辱,一個胖子當著我的面吹牛奖年,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播沛贪,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼陋守,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了利赋?” 一聲冷哼從身側(cè)響起水评,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎媚送,沒想到半個月后中燥,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡塘偎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年疗涉,在試婚紗的時候發(fā)現(xiàn)自己被綠了拿霉。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡咱扣,死狀恐怖绽淘,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情闹伪,我是刑警寧澤沪铭,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站偏瓤,受9級特大地震影響伦意,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜硼补,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一驮肉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧已骇,春花似錦离钝、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至鲤竹,卻和暖如春浪读,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背辛藻。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工碘橘, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人吱肌。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓痘拆,卻偏偏與公主長得像,于是被迫代替她去往敵國和親氮墨。 傳聞我的和親對象是個殘疾皇子纺蛆,可洞房花燭夜當晚...
    茶點故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內(nèi)容