Tags: db2

wolf

У меня сейчас голова взорвётся

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

Человек не может удержать более 9 объектов в голове, иначе он теряет что-то - деталь, мелочь, в каждой из которых прячется дьявол - маленький бес или цельный Аббадон. А у меня 20 запросов. Вернее у меня 1945 запросов. Это только те, которые регулярно убивали систему с 7 мая до прошлого понедельника. Но я хитрый и натравил на них pgFouine. Ага-ага, постгресовский анализатор лога на ДБ2 - ха, видели бы вы мой напильник. И вот осталось 20 запросов. С которыми у меня сексуальные отношениях в качестве, которое мне не нравится по причине моей гетеросексуальной природы. Запросы оперируют 6-7 таблицами, в таблицах до 50 млн строк и по 10-12 индексов на каждой. А во всём этом я, пытаюсь найти осмысленность и порядок.

Подозреваю, что у человека под кислотой смотрящего на индийский ковёр в голове такие же мультики. С вами индексы не разговаривают? А мне кажется они что-то пытаются мне сказать. У каждого есть свой характер. Вот, например, SK_GREG2. Он на MTM_PERSON2ROLE, 2 поля всего. Но такой, сука, упёртый. Пролазит в любой запрос. Потом это выливается в дикие фетчи из таблицы, которые выедают до 70% времени. Но оптимизатор влюблён в него(неё?) и использует, использует, использует. Наверно пидарас. Убил бы, гада. Наверно так и сделаю.

По результату мне надо что-то сказать моему любимому вице-президенту по ИТ. Например, всё чотко пацаны, и тогда начнётся самое интересное - перепроектирование базы. Вы пробовали перепроектировать живую 500-гиговую базу с нехуёвым джавовским обвесом? Чтоб кагбы ничо не изменилось, но всем внезапно (это очень важно! (С)) стало хорошо.

Я взял админа и пошли мы посмотреть на этот сервер с железной точки зрения. Ну, что можно сказать. 64 винта в системе - это наверно хорошо, но как они скручены в рейды (и какие рейды) мне так никто и не сказал. Схемы, как разложены по винтам данные, я не видел, подозреваю, что её нет. По тому, что я увидел мне стало плохо - похоже данные размазаны ровным слоем по 4 рейдам. Причём как-то размазаны. Слово "как-то" означает произвольность, что ооочень плохо. Лог, слава Богу, отдельно, но если бы и он, то тогда бы полное вообще.

И вот я сижу и думаю, чем я обрадую вице-президента, когда он выйдет из отпуска. А голова пухнет и может взорваться. Кстати, кто хочет из конторы посмотреть - может подходить, возможно это будет интересно. Если что - передайте маме, что я её люблю, Серёге-админу, что может взять мой стул, малому завещаю весь фамильный алюминий.

Но не дождётесь
wolf

Чудеса оптимизации или минута хвастовства в уютненьком

Хвастаюсь (aнгл. show off - новое слово с off). Одной из задач, которую мне как ДБА приходится выполнять, является оптимизация SQL-запросов. Запросы оптимизируются с точки зрения уменьшения "стоимости" запроса. Стоимость - это некоторая интегральная величина: чем стоимость меньше, тем запрос будет жрать меньше ресурсов сервера, и в этом моменте наступает profit для заказчега и оргазм у програмиста.

Это была прелюдия, теперь цифры. На входе запрос имел стоимость 101.000.000 (прописью: "сто один миллион"). С копейками, конечно. Запрос был опимизирован добавлением ещё одного условия в фильтр. Запрос стал, скажем прямо, правильнее, в смысле, что предыдущая версия могла выдать не совсем верные данные. И запрос стал стоить, внимание, 68 (прописью: "шестьдесят восемь"). То есть запрос был соптимизирован в 100 млн раз. Что, скажем честно, дохуя и редко.

Многое можно списать на оптимизатор DB2, который показывает чудеса припезденности в стоимостной оценке. У меня даже некоторый разрыв шаблона был недавно по этому поводу и, как следствие, очередная потеря веры в человечество. Но энивей 100млн - это круто.

Конец минуты хвастовства в уютненьком. Всем спасибо, можно аплодировать.
wolf

"Штирлиц как никогда был близок к провалу" (С)

Блин, за шесть лет работы в конторе по моей вине ещё ни разу не просирался проект. И вот, собственно говоря, сабж. Не то, чтобы это свершившийся факт или должно привести к эпик фейлу, но матюкаться прийдётся а)много; б)обильно и в)по-английски, что резко понижает шансы на выживание. Посему надо будет повторить конструкцию "если бы ..., то бы ..." (типа "если бы вы отвечали на вопросы, то мы бы сделали всё правильно") - чувствую поможет или, во всяком случае, не повредит. :-)

Блинблинблин. ТЗ прислали через месяц после старта проекта и к тому времени, когда часы уже были выбраны. Вот дурня.

Готовлюсь к худшему...
wolf

SQL3100W

SQL3100W
Column number column-number (identified as name) in the output DEL format file is longer than 254 bytes.

Explanation

The length or maximum length of the specified output column is greater than 254 bytes. Columns larger than 254 are not supported by some other products.
The entire field is exported without truncation.

User response

If the output file cannot be processed by another product, export only a substring of the incorrect column, redefine the table, or manually truncate the data in the DEL column.

--
Нот суппортет бай сом азер продуктс?
Ха-ха-ха
Мы с бегемотиком Арнольдом клали с пробором срали на такую ху смеёмся таким сообщениям от экспорта и отказываемся признавать его неработоспособным.
Теперь импорт в неизвестнокуда и СыЦыПы между ними для полноты ощущений

ЗЫ. Таки повешу над нашими с мон амур столами табличку "Уголок экспортно-импортных операций"
wolf

Я пою весёлую песню

ПИ! Та-тара-там-та-та-та
ДА! Та-тара-там-та-та-та
РА! Та-тара-там-та-та-та
СЫ! Та-тара-там-та-та-та
ПИ-ДА-РА-СЫ! ПИ-ДА-РА-СЫ!

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

Люди програмировавшие ДБ2 не должны жить!!!

Человек добавляет поле в таблицу, и каким-то хером забивает туда тип данных INTEGER вместо положенного ему TIMESTAMP.
Человека (человек ли он после этого?) не минёт чаша праведного гнева от братьев по оружию клавиатуре. Но! Что делать мне, если в DB2 version 8:
- ALTER TABLE ... ALTER COLUMN ... может конвертировать колонки только в строки и ничего кроме строк;
- (самая жесть тут) КОЛОНКУ УДАЛИТЬ НЕВОЗМОЖНО!!! То есть ВООБЩЕ НЕВОЗМОЖНО!!!
Таблица завязана связями, в ней несколько тысяч записей, а тут такой бок. В итоге вшивое изменение типа вырождается в нифиговейший скрипт. БЛЯЯЯЯЯЯЯЯЯЯЯ!!!!!!!!!!!!
Такое искупается только кровью! Массовые растрелы спасут Родину IBM!



Я в гневе!
wolf

Вот скажите мне

Есть люди, которые захреначили в базу 750 гиг всякой срани, в основном ПДФ-ного барахла, после чего каждый бекап, востановление в другую базу и дополнительный переколбас данных занимает 52+ часа.
И потом говорят - ояебу, чота тута тормозит походу.
Вот что можно сказать про этому поводу?