6個月前。
蓉城研究所三樓的走廊里回蕩著高跟鞋急促的咔嗒聲,徐璐攥著述職評價表的手指節(jié)發(fā)白。
“缺乏團(tuán)隊協(xié)作精神”八個字在眼前不斷放大,她猛地推開消防通道門,將細(xì)高跟狠狠砸向垃圾桶。
“徐姐?”轉(zhuǎn)角傳來試探的呼喚。
從解決方案部新轉(zhuǎn)崗過來的劉洋抱著一摞OraCle調(diào)優(yōu)手冊,鏡片后的眼神透著局促。
這個解決方案部來的年輕人剛在技術(shù)攻防中嶄露頭角,此刻卻像個做錯事的孩子。
徐璐別過臉抹了把眼睛:“讓你看笑話了?!?/p>
“您修復(fù)主從延遲那招太絕了!能教教我...”話音未落,徐璐已踩著平底鞋快步離去,留下劉洋對著滾落的高跟鞋發(fā)怔。
5個月前。
深夜的數(shù)據(jù)庫監(jiān)控室,二十塊屏幕藍(lán)光閃爍。
徐璐蜷在轉(zhuǎn)椅上盯著突發(fā)的鎖等待告警,丈夫的微信在手機(jī)屏上亮起:“女兒說又好幾天沒看見媽媽了”
她鼻尖一酸,最近幾天都是10點(diǎn)多才到家,到家的時候女兒已經(jīng)熟睡。她雖然能看到女兒,女兒卻看不到她。
兩年前女兒出生時恰逢ERP容災(zāi)改造,她在月子中心抱著筆記本調(diào)索引的場景還歷歷在目。
做中學(xué)教師的丈夫總說“你盡管拼”,可此刻失敗的陰影像把鈍刀,慢慢割裂著這份信任。
“徐工!”值夜班的劉洋舉著咖啡探過頭來,“華東區(qū)報表集群IOPS異常,能幫我看下嗎?”
徐璐起身時不小心碰倒了桌角的相框——全家福里女兒的笑臉讓她頓住。
突然,監(jiān)控屏上爆出大片紅色,兩人同時撲向控制臺。
黎明時分,徐璐揉著發(fā)脹的太陽穴看劉洋興奮地手舞足蹈:“要不是您教我動態(tài)調(diào)整UNDO表空間,這波事務(wù)回滾至少要癱瘓兩小時!”
此刻看著劉洋整理的故障分析文檔,徐璐在知識庫里新建了《高并發(fā)事務(wù)處置手冊》。
鼠標(biāo)懸在“編輯者”欄時,她鄭重加上了劉洋的名字。
她望著年輕工程師眼底的崇拜,忽然想起陳默在走廊叫住她時的情景。
那天她執(zhí)拗地解釋:“我不是不配合,只是怕新人走彎路...”
“但團(tuán)隊不是單兵作戰(zhàn)。” 陳默指著她工牌,“知道為什么讓你帶新人嗎?”
...
4個月前的某個早上,7:55 數(shù)據(jù)庫監(jiān)控室。
徐璐的手指在機(jī)械鍵盤上快速敲擊,屏幕里OraCle EnterpriSe Manager的界面亮著微光。
昨夜華東大區(qū)的ASH報告顯示有零星enq: TX - rOW lOCk COntentiOn事件,她正要把這些數(shù)據(jù)整理進(jìn)晨會材料,手機(jī)震動著彈出丈夫的消息:“退燒藥給你放進(jìn)包里了,記得吃早餐?!?/p>
她摸了摸保溫杯里已經(jīng)涼透的咖啡,余光瞥見實(shí)習(xí)生小林戰(zhàn)戰(zhàn)兢兢地站在門口。
這個計算機(jī)系研三男生總把工牌掛反,此刻緊張得抱著懷里筆記本電腦的樣子像是抱著顆炸彈。
“徐、徐工...”小林的聲音帶著變聲期尾聲的顫抖,“昨天您讓我做的索引重建方案...”
8:15 第三會議室
晨會的投影儀發(fā)出輕微的電流聲,二十余名工程師的筆記本屏幕像星群般亮起。
徐璐剛要開口,突然發(fā)現(xiàn)大屏上的《華東區(qū)性能優(yōu)化方案》文檔里,一張B樹索引示意圖明顯錯位——聚集索引的葉子節(jié)點(diǎn)竟指向了非聚集索引。
“這是誰做的拓?fù)鋱D?”負(fù)責(zé)ERP系統(tǒng)的老張皺眉敲了敲桌子,“物理結(jié)構(gòu)都畫反了,照著執(zhí)行要出大事故。”
小林“騰”地一下站起來,后腰撞翻椅子的聲響在會議室里炸開。
劇烈的聲響讓年輕人更緊張了,他臉色煞白,手肘又碰倒了劉洋的咖啡杯,褐色的液體在會議桌上蜿蜒成河。
他一邊快速收拾著桌面一邊道歉,“對...對不起!我昨晚用ViSiO重繪時沒注意圖層順序...” 他的聲音越來越小,“本來是想優(yōu)化復(fù)合索引...”
徐璐看著文檔末尾“實(shí)習(xí)生林致遠(yuǎn)”的署名,腦海里記憶閃現(xiàn),她忽然想起幾個月前自己在消防通道砸出的高跟鞋;又想到當(dāng)初實(shí)習(xí)生剛到位時她恨不得把工牌摔在HR臉上質(zhì)問“為什么給我派菜鳥?”
此刻小林像做錯事的孩子一樣低著頭手足無措。
“大家先安靜?!?她叩了叩麥克風(fēng),“小林,你說說為什么要調(diào)整這個索引?”
年輕人怔住了,投影儀藍(lán)光在他鏡片上跳動:“因為...因為監(jiān)控到全表掃描次數(shù)...”
“具體數(shù)值?”徐璐打斷他。
“昨天14時至18時,v$Sql_plan顯示全表掃描觸發(fā)137次,其中82次集中在INVENTORIES表?!毙×值穆曇敉蝗涣鲿称饋恚拔覍Ρ攘藞?zhí)行計劃,發(fā)現(xiàn)現(xiàn)有索引的inClUde列沒有覆蓋lOCatiOn_id字段?!?/p>
會議室里面,劉洋悄悄豎起大拇指。徐璐注意到這個細(xì)節(jié),嘴角微微上揚(yáng):“思路正確,但實(shí)現(xiàn)方式有問題。知道為什么老張一眼看出拓?fù)鋱D錯誤嗎?”
“因為...物理結(jié)構(gòu)...”
“在OraCle里,非聚集索引的葉子節(jié)點(diǎn)存儲的是rOWid,不是數(shù)據(jù)頁指針?!毙扈凑{(diào)出昨天深夜的ASH報告,“就像這個TX鎖爭用,你以為調(diào)整索引就能解決,其實(shí)根源在應(yīng)用程序沒有正確使用悲觀鎖?!?/p>
她點(diǎn)擊鼠標(biāo),大屏切換成密密麻麻的等待事件圖譜:“但敢于挑戰(zhàn)遺留系統(tǒng)值得肯定,會后和劉工一起重做方案——記得先檢查UNDO表空間是否夠用?!?/p>
8:45 茶水間
小林堵住正在洗杯子的徐璐,九十度鞠躬時眼鏡差點(diǎn)滑落:“謝謝徐工!我保證不會再...”
“把腰直起來?!毙扈此α怂κ稚系乃椋爸牢覟槭裁戳裟銌??”她抽出一張擦手紙,一邊擦拭一邊說道,“上周巡檢腳本里那個自動清理過期歸檔日志的模塊,是你偷偷加的吧?”
年輕人瞳孔地震 —— 那是他利用下班時間熬了兩周寫的PythOn腳本。
“代碼里十七處硬編碼路徑,八處沒處理異常。”她把擦手紙扔進(jìn)垃圾桶,“但用rSynC增量同步歸檔日志的思路不錯,比某些老油條強(qiáng)?!?/p>
說罷她轉(zhuǎn)身走向監(jiān)控中心,聽到身后傳來壓抑的歡呼。
走廊拐角處,小張正舉著手機(jī)錄像:“徐姐當(dāng)年罵哭三個實(shí)習(xí)生的傳說終結(jié)了?”
“再拍信不信下次你哭著喊著求我都不幫你了?!?徐璐作勢要搶手機(jī),忽然瞥見屏幕里帶著笑意的自己。