Рваная Грелка
Конкурс
"Рваная Грелка"
18-й заход
или
Три миллиона оставленных в покое

Текущий этап: Подведение окончательных итогов
 

Тимур Мазаев
№45371 "Оракл сдвигает индексы"

ОРАКЛ СДВИГАЕТ ИНДЕКСЫ

 

"Три миллиона жизней - это плата за независимость?!" - третий раз вопрошала героиня низким грудным голосом, всеми силами изображая волнение за судьбу планеты. Герой не отвечал, и его можно было понять: огромные трехглавые ракопауки, вооруженные ржавыми трезубцами, загоняли беднягу в дюзу гигантской ракеты, которая вот-вот собиралась стартовать. Тревожно тикала атомная бомба, привязанная ржавой цепью к ногам героини. Лицо героя алело от крови, чистыми оставались лишь белоснежные кудри, но было ясно, что сейчас он что-нибудь придумает, и в пламени дюзы сгорят пауки, а не он. Ну вот, так и есть, нашел тайную кнопку. Нет, определенно третий фильм мне не нравился. Во-первых, это оказалась жуткая экранка, украденная, видно, с какого-то предпоказа - первые десять минут не было звука, затем он появился, но чересчур бухающий - казалось, наушники на голове подпрыгивают и бьют по ушам. Вдобавок вместе со звуком в центре экрана возник титр "Украдено на Первом" и мешал смотреть. Когда вой прогревающейся дюзы достиг максимума, а вопли пауков смешались в один яростный вопль, к ощущениям добавилась тряска за плечо. Я поспешно нажал пробел и стянул с головы наушники.

— Оглох что ли? - спросил наш хамоватый менеджер Вова. - Чем ты занимаешься на рабочем месте? Иди к начальству!

— Случилось что-то? - поморщился я.

— Случилось, - ответил Вова серьезно. - Случилось. Молись.

 

* * *

 

В кабинете Ивана Ильича на монументальном столе среди бумаг, телефонов, калькуляторов и распахнутого Макбука возвышался большой половой каучуковый член. Сам Иван Иванович говорил по мобильнику. Держал он мобильник двумя пальчиками брезгливо как лягушку, но тон был подобострастным. Когда я вошел, Иван Ильич глазами приказал мне сесть, но разговор продолжал. "Да, конечно, - повторял он, - конечно. Конечно. Мы разберемся. Это не повторится. Конечно". Наконец беседа закончилась. Начальник оперся руками о стол и уставился на меня.

— Вызывали, Иван Ильич?

Вместо ответа он показал глазами на член посреди стола и гневно спросил:

— Тимохин, что это?

— Не могу знать, - ответил я по-военному, слегка смутившись от такого начала беседы.

— ЧТО ЭТО ТАКОЕ, ТИМОХИН?!!! - взревел Иван Ильич.

— Почему вы на меня кричите? - обиделся я. - У вас на столе, пардон, половой член. Если не ошибаюсь, из нашего ассортимента. Если вам нужен точный артикул - могу посмотреть в базе.

— Тимохин! - Иван Ильич схватил злополучный член и потряс им в воздухе. - Это пришло наложенным платежом нашей клиентке!

Я пожал плечами:

— Для того он и в каталоге, чтоб клиентки его заказывали.

— Да! Но она заказывала у нас набор посуды! Набор посуды и учебник задачник Сканави по математике! У нее дочка поступает в ВУЗ!

— Все так говорят. - Я снова пожал плечами. - Сперва заказывают черте что, а после все кругом виноваты.

— Это, - Иван Ильич заговорщицки понизил голос, - жена губернатора Омска.

— Рад за них обоих. - Я постарался изобразить максимум тактичности, но, похоже, мне это не удавалось. - Зачем таким большим людям Интернет-магазин? Дочка поступит в ВУЗ без учебника, посуду пришлют из Франции.

— Вот при чем! - Иван Ильич совершенно непоследовательно вновь потряс членом.

— А я что? Я - ди-би-эй, не кладовщик и не логистик.

— Это не первый раз, Тимохин! - начальник укоризненно покачал в воздухе товаром. - И я уверен, это ошибки в базе!

— В базе Oracle ошибки? - усмехнулся я. - Иван Ильич, вы меня, конечно, извините, но это смешно. Я восемь лет работаю с Oracle, пять лет проработал в Штатах и там же получал ди-би-эй-сертификат. И почему-то никто на мою работу до сих пор не жаловался. А тут какие-то полуграмотные таджики, которых вы нанимаете на склад оптом по дешевке, перепутали артикулы и вместо учебников завернули член. А вы вызываете меня. Это нормально, как вы считаете?

Он устало бросил член на стол, тот с грохотом прокатился по полировке и уперся в Макбук. Иван Ильич опустился в кресло и сцепил перед собой руки плетнем, оттопырив вверх большие пальцы. Видимо, этому жесту его учили на курсах высшего руководства.

— Понимаете, Павел, - проникновенно начал он, выдержав театральную паузу, - мы делаем очень большое, очень нужное дело. Наш Интернет-магазин борется за звание самого лучшего, самого крупного Интернет-магазина России с самым большим ассортиментом, самой гибкой системой цен и самой пластичной системой доставки...

Я молчал. Когда Иван Ильич начинает шпарить наизусть свои собственные пресс-релизы, перебивать его бесполезно. Пока не дочитает до конца - не остановится.

— Поэтому мы и называемся "Сто тысяч мелочей точка нет", - пел Иван Ильич. - Мы продаем книги, одежду, бытовую технику, компьютеры, мебель, бижутерию, лекарства, продукты питания, книги, товары для спорта и отдыха...

— Члены каучуковые, - не выдержал я.

— Интимные товары и сувениры для розыгрышей, - печально согласился Иван Ильич, и в голосе его чувствовалась глубокое раскаяние. Видать, крепко досталось ему от администрации губернатора Омска. Но он продолжал: - Понимаете, Тимохин, одна подобная ошибка - это такой удар по репутации, что она, ошибка, может стоить нам... - Иван Ильич задумался, пододвинул к себе широкий калькулятор и принялся бойко перебирать кнопки. - Может стоить нам многих миллионов, - печально закончил он.

— Да, Иван Ильич, - согласился я. - Очень неприятный инцидент. Только я при чем? Трясите кладовщиков. Трясите менеджера Вову. Трясите отдел логистики. Я ди-би-эй, понимаете? Датабэйс-администратор, программист Oracle.

— Все понимаю, Тимохин, - согласился Иван Ильич. - Я же не дурак.

Я тактично промолчал.

— Но вы, Тимохин, - Иван Ильич снова поднял каучуковый член и принялся качать им в воздухе, словно отбивая такт своим словам, - расследуйте этот случай внимательно и напишите мне докладную.

— Конечно, Иван Ильич, - кивнул я. - Но вы хоть немного понимаете в базах данных?

— Cовершенно не понимаю, - покачал головой Иван Ильич и кивнул на свой Макбук. - Я и в компьютерах не понимаю, я малограмотный пользователь. У вас это называется, чайник, да? Но у меня пятнадцатилетний опыт руководства и чутье руководителя. Проблема - не первая. И я чувствую - проблема в базе данных.

Ну что тут скажешь?

— Вас понял, - кивнул я. - Проведу расследование и напишу докладную. Что? Нет, спасибо, эта штука мне не нужна.

— Господи, - произнес Иван Ильич вполголоса, когда я уже шел к двери, - сделай так, чтобы мне не пришлось лететь в Омск с извинениями!

 

* * *

 

По пятницам мы всегда пили пиво в Ирландском пабе: я, Альберт, Володька Панфилов и Максим. Я думал, что опоздал, но за столиком сидел только Альберт и пил он почему-то молочный коктейль, закусывая фисташками из вазочки.

— Салют труженикам симфонической эстрады! - крикнул я Альберту и кивнул на коктейль. - А что, пива сегодня не наливают?

— Так... - поморщился Альберт. - Со здоровьем что-то неважно.

— Что такое? - насторожился я, вдруг вспомнив, что Альберт и на прошлой неделе был какой-то кислый.

— Давление скачет в последнее время, - объяснил Альберт.

— Ко врачу надо, анализы посдавать... - кивнул я.

— Да уже в процессе, - отмахнулся Альберт. - Ну а ты чего невеселый?

— На работе неприятности, - объяснил я.

— Поделись.

— Ты не ди-би-эй, ты не поймешь, - вздохнул я. - Это тебе не виолончель пилить.

— А ты объясни, чтоб я понял, - предложил Альберт.

Я вздохнул и набрал полную горсть фисташек.

— Ну, смотри. Допустим, ты играешь в Большом симфоническом оркестре.

— Допустим, - признал Альберт.

— И перед тобой лежат ноты. И вот дирижер взмахивает палочкой, ты играешь ноту...

— Одну? - иронично уточнил Альберт.

— Не придирайся! - отмахнулся я. - Ты играешь ноту, а оказывается, что не ту.

— Вчера такое - дважды, - поморщился Альберт. - Давление прыгнуло...

— Нет, просто пюпитры перепутаны, - объяснил я. - И ты сыграл не свою ноту, а ту, что должен был сыграть пианист. А пианист сыграл ту, что должен был сыграть барабанщик. А барабанщик - ту, что должен был играть гитарист...

— Ты когда последний раз симфонический оркестр слышал? - хохотнул Альберт. - Знаешь, расскажи-ка лучше в своих терминах, я пойму.

— Ну, смотри, - начал я вторую попытку. - Как ты помнишь, я работаю программистом в Интернет-магазине. И вот у нас с какого-то момента начались сбои. Сперва единичные, а потом сплошным потоком. Заказывает клиент, допустим, учебник математики, а ему присылают член.

Альберт удивленно изогнул бровь:

— Совсем ничего не присылают?

— Если бы! Ему присылают каучуковый член. А тому, кто заказывал каучуковый член, присылают ортопедический матрац.

— В этом есть своя логика, - заметил Альберт, задумчиво помешивая коктейль трубочкой.

— Логики ни малейшей, - перебил я раздраженно. - Тому, кто заказывал матрац, присылают детский велосипед. А тому, кто заказывал детский велосипед, присылают золотые сменные панельки для Айфона.

— Такие бывают? - удивился Альберт.

— Все бывает, - ответил я. - Сто тысяч товаров в каталоге. Я сперва думал, на складах посылки путают. Но эти заказы так записаны в базе заказов! Понимаешь? А база - это моя ответственность. Понимаешь? Идет по всей базе какой-то сдвиг на одну позицию. И никак не поймаешь, потому что один заказ пришел из Омска, а в следующую секунду другой - из Новгорода. Только обзванивать клиентов и спрашивать "вы точно матрац заказывали, не велосипед?"

Альберт снова изогнул бровь, задумчиво приложил к виску два длинных пальца и уставился вдаль.

— Такова, в общем, вся наша жизнь, - заключил он философски. - Просим одно, получаем другое.

— Так мне и объяснить начальнику? - усмехнулся я.

— Так и объясни, - кивнул Альберт. - Если он не дурак, то поймет.

Мы помолчали.

— Вот ты мне лучше скажи, как программист, - начал Альберт, - я уже могу где-то скачать "Обитаемый остров" третью часть?

Такого я от Альберта не ожидал.

— А тебе зачем? Я как раз сегодня скачал, посмотрел - и стер. Первый был еще ничего, второй - похуже, а уж третий...

— Дай посмотреть? - жадно попросил Альберт. - Мне очень надо, я музыку для него записывал, только не знаю, взяли или нет...

Я пожал плечами.

— Да у меня и ссылки не сохранилось, совсем случайно наткнулся и скачал.

— Ну вот, - расстроился Альберт, - я тут неделю молился богу Интернета, чтобы дал мне скачать этот фильм, а он - случайно наткнулся, фыркнул и стер... Несправедливость.

 

В этот момент в зале появился Володька Панфилов. Он был отчасти моим коллегой, когда-то собирал компьютеры, потом стал совладельцем маленькой фирмы и вел бухгалтерию, но фирма влезла в какую-то неприятную историю, директорат разбежался, а под суд попал Панфилов. Спасло его только чудо и наша помощь, и теперь он снова трудился бухгалтером на пяти работах, раздавая долги. Мы поздоровались, и тут же у меня зазвонил мобильник - это была Ксения. Она спрашивала, что я делаю, и какие у меня планы на выходные, но я, как обычно, аккуратно ее отшил.

— Ксения опять? - сочувственно спросил Панфилов, когда я нажал отбой.

— Угу, - кивнул я. - Прямо уж не знаю, что делать. Уже почти открытым текстом посылаю, а она все равно звонит и звонит каждый день.

— Нравишься ты ей, - объяснил прямолинейный Панфилов. - Трахни ее!

— Фу, какие слова... - поморщился интеллигентный Альберт.

— Такая мысль мне даже в голову не приходила, - признался я и поспешил объяснить: - Девица-то она хорошая, но совсем не моем вкусе.

— Слушайте, прекращайте эти разговоры, вот-вот Максим подойдет, - занервничал Альберт.

— К тому же, у меня Тонька есть, ты знаешь, - закончил я.

— Тонька твоя, во-первых, замужем, - напомнил Панфилов, - во-вторых, в Штатах.

— Ну и что? - вскинулся я. - Мы очень часто видимся!

— Везет тебе, катаешься всюду, - вздохнул Панфилов. - А вот я мечтаю в Ирландию.

— А что мешает? - спросил я неосторожно.

— Денег нет, - объяснил Панфилов. - И очень долго не будет.

Мы дипломатично помолчали - Панфилов был должен каждому из нас, но страдал от этого морально куда больше, чем мы финансово. К счастью, наконец появился Максим.

С видом человека, страдающего от жажды, он подошел к барной стойке, купил рюмку водки и опрокинул ее в рот. После чего подошел к нам и мрачно уселся за стол, бросив перед собой барсетку.

Мы переглянулись, но спрашивать ни о чем не стали.

— Сука, - наконец объяснил Максим. - Ну чем, чем я ей не гожусь? Сколько нужно молить бога, чтоб она меня полюбила? Решился, купил ей кольцо с бриллиантом, приехал, говорю: выходи за меня... А она меня - вежливо за дверь...

Максим замолчал.

— Ксения - девушка с характером, - не очень уверенно сообщил Панфилов. - Думаю, надо продолжать попытки. Слетаешь завтра в свой Омск на матч, вернешься...

— Мне не придется лететь в Омск, - мрачно перебил Максим. - Сегодня выяснилось, что меня не взяли в основной состав. Впрочем, это уже мелочи.

Что тут скажешь? Панфилов шумно вздохнул, Альберт сделал вид, что внимательно рассматривает соломинку от коктейля. К частью, в этот момент подошла наша неспешная официантка. Она приняла заказ и затараторила про какую-то акцию паба - мол, надо заполнить анкеты, и победитель розыгрыша поедет в Ирландию. Я-то сразу отмахнулся, но Панфилов насторожился как гончая и заставил нас всех заполнить эти дурацкие листочки. Впрочем, так мы скоротали время, пока несли пиво.

— Ну что! - поднял кружку Максим. - Тост, парни? За прекрасную Ксению?

— Давай-ка, - тактично поправил я, - каждому своё. Вот я - за то, чтобы мне понять глюки Oracle.

— Я за Ирландию! - поддержал Володька Панфилов, - За то, чтоб выиграть поездку в Ирландию!

— За здоровье! - лаконично сообщил Альберт, поднимая кружку.

 

* * *

 

Я еще раз вывел на экран статистику. Пустота. Суббота, почти ночь, а я в офисе. Проклятье. Хуже только боссу - он все-таки полетел в Омск извиняться.

— Господи! - сказал я вслух. - Молю тебя! Исполни мою просьбу! Сделай так, чтобы мне в голову пришло понимание, почему глючит наш Oracle!

В этот момент зазвонил мобильник. Звонил Володька Панфилов.

— Мне в голову пришло понимание, - начал он, - почему глючит ваш Oracle. Я тут думал, думал про то, что ты вчера рассказывал...

— Разве я тебе вчера тоже рассказал про Oracle? - удивился я.

— Не меньше трех раз, - вздохнул Панфилов. - Короче, там все просто. У тебя плывут индексы. Когда идет большой поток запросов, индекс заказа просто сдвигается на шаг. Тот, кто заказывал учебники, получает каучуковый член. Кто просил член - получает ортопедический матрац. Кто заказывал матрац - получает детский велосипед. И так далее. Просто сдвиг на одну позицию строго в хронологическом порядке - в порядке регистрации запросов. С точки зрения базы - все просьбы выполнены и все запросы закрыты. А что адресат оказался не тот - про это Oracle не в курсе и знать о том не может. Понимаешь?

— Спасибо, это я и без тебя знаю, - саркастически вздохнул я. - А есть версия, почему это происходит?

— Глюки Oracle, - объяснил Панфилов.

— Да такого просто не может быть! - вскричал я. - Просто физически такого не может быть!

— Ты меня не дослушал, - строго перебил Панфилов. - Этого не может быть при исправной технике. Но если в серверах сбоят плашки памяти... Тут Oracle спотыкается, и индексы плывут. Такие случаи известны и описаны в Интернете. Если хочешь - найду ссылки...

— Сбои памяти на серверах? - Я хлопнул себя ладонью по лбу. - Вот те раз! Слушай, а ведь похоже! Об этом я не думал... Спасибо!

— Да не за что. Рад, что хоть у тебя все хорошо.

— А у кого плохо? - насторожился я.

— Альберта скорая в больницу увезла ночью. Оказалось - сердце. Врачи говорят, опасности для жизни нет, но лежать придется долго - месяц будут обследовать, потом шунты какие-то ставить... А знаешь, прикол? - Панфилов мрачно усмехнулся. - Ему в больницу звонили на мобильник, сказали, что он выиграл поездку в Ирландию. Он спросил, можно ли перенести выигрыш на меня - нет, нельзя. Вот такая несправедливость.

Мы попрощались.

Я подошел к окну и задумчиво посмотрел вниз. Под окном расстилалась промзона, в которой выстроило офис наше экономное руководство. Внизу, в осенней темноте двора горел одинокий фонарь, и где-то там гулял пьяный - пел и колотил какую-то жестянку. Как бы не мою машину.

— У-мол-я-ю! - пел пьяный. - Дай мне слово! Дай мне право быть с тобой!

— Твоя молитва услышана, берегись, - усмехнулся я. - Только Господь, похоже, совсем не слышит наши просьбы и молитвы...

В тот же миг позвонила Ксения и начала плакать в трубку. Мне пришлось достаточно грубо сказать, что я на работе. Почему-то мне кажется, что она не поверила. А вскоре позвонил Максим. Он был пьян и начал на меня орать, что я подонок, обидел Ксению, и она теперь плачет...

— Господи, - вздохнул я, прикрыв ладонью мобильник, - дай мне сил...

Под окном истошно загрохотало железо, словно у пьяного открылись новые силы. А мобильник все бормотал и бормотал: "Об одном прошу: оставь ее в покое..."