воскресенье, 11 августа 2013 г.

Патчи пригодились?

Привет всем.


Вот такую ошибку, под номером ODI-26066, я получил при попытке запуске пакета в ODI 11g. Поиск по этой ошибке привел к двум результатам - выяснилось, что обычно эта ошибка возникает при работе с интерфейсом, в частности при работе с лукапами. Второй результат - оказывается страницами с патчами для ODI иногда помогает даже собирателю этой страницы, то есть мне. Там обнаружился патч, под названием Patch 14087811, который, похоже, мог помочь.

Так что я решил все же уделить внимание обновлению ПО на своей рабочей станции и обновиться, установив последнюю сборку патчей. А перед тем я попробовал, все же, разобраться в деталях возникновения ошибки сам.

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


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

Совместными усилиями проблема была решена; оказалось, что проблемная переменная, во-первых, была переменной глобальной, во-вторых, в коде обновления использовала две другие глобальные переменные. И, после изменения кода обновления переменной, когда к переменным внутренним были добавлены квалификаторы проекта, проблема ушла.

То есть было примерно так:

select '#VAR1' || '#var2' from dual


А стало так:

select '#GLOBAL.VAR1' || '#GLOBAL.var2' from dual


К сожалению, причина появления данной ошибки так и не стала понятнее, ну и, понятное дело, патч ODI 11.1.1.6.4 я установил, но проверить его на этой ошибке, к сожалению, не успел.

Зато есть хорошая новость, относящаяся к патчу. После его установки ушла очень мерзкая проблема, при которой было сложно заменить в интерфейсе одну таблицу источник на другую. В 10 версии подход был прост. Если вам было необходимо изменить в интерфейсе главную (иногда единственную) таблицу источник, вы просто удаляли ее, перетаскивали нужную таблицу из модели, и меняли в добавленной таблице алиас на алиас предыдущей таблицы источника.

Теперь так можно сделать и в 11g! Больше никаких вам сообщений о нарушениях целостности в таблице SNP_TXT_HEADER или дубликатах в PMAP_STAB_FK. Так что спасибо Ораклу за исправления ошибок, хотя и хотелось бы их иметь немного меньше. И, на последок, (де?)мотиватор в виде статьи Марка Ритмана - 10 продуктов Oracle о которых вы, возможно, даже и не слышали.

Update: Проблема с ошибкой ODI-26066 все еще актуальна, патч ее не закрыл. Сценарий, сгенерированный из пакета, работает, сам пакет не запускается. Определить, какой из шагов проблемный, тоже не удается, после изменения глобальной переменной запуска каждого шага отдельно также выполняется успешно, а вот все вместе - нет.

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

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