понедельник, 20 июня 2011 г.

Откуда не ждешь...

Вот сидишь, бывает, тестируешь что-то очень важное и срочное, ищешь ошибки, недочеты в том, что скоро будет продавать твоя фирма. А баги вылезают там, откуда ты этого совсем не ждешь - в софте, который ты для этого используешь. Иногда даже в очень дорогом и "надежном" софте. Бывает, такие "сюрпризы" существенно осложняют жизнь и тормозят процесс... Например, сегодня требовалось организовать эскпорт данных для нагрузочного тестирования и одной СУБД Oracle в другую.
Как любая уважающая себя СУБД Oracle предоставляет собственный инструмент для этого : пара утилит expdp, impdp. Сложность оказалась лишь в том, что запуск expdp приводит к безнадежному Segmentation Fault:

Program terminated with signal 11, Segmentation fault.
#0 0x0000000000409b43 in udcTrace ()
(gdb) bt
#0 0x0000000000409b43 in udcTrace ()
#1 0x0000000000413558 in udcScrubParam ()
#2 0x0000000000407877 in udeProcessLMParam ()
#3 0x0000000000403918 in __libc_csu_init ()
#4 0x00007fff00009fc0 in ?? ()
#5 0x0000000000000000 in ?? ()


"Чесались руки" поковыряться в оракле, чтобы поискать workaround ,но врмеени в обрез - пришлось генерировать данные заново, вместо того, чтобы их более быстро и легко смигрировать.

Комментариев нет:

Отправить комментарий