Показаны сообщения с ярлыком Package. Показать все сообщения
Показаны сообщения с ярлыком Package. Показать все сообщения

среда, 25 сентября 2013 г.

ODI-23040.

Данная ошибка встречается при импорте объектов в ODI 11 версии, в моем случае была попытка произвести импорт пакета из репозитория разработки в репозиторий тестирования.


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

вторник, 5 марта 2013 г.

Организация моделей и проектов в ODI.

Приветствую.

Перевод заметки Ули Бетке под названием Best practice of organizing interfaces and data stores into projects and models in ODI.

<Начало перевода>

Задумывались ли вы как лучше всего организовать структуру объектов в проекте ODI? Можно дальше не искать, я обрисую то, что хорошо подходит для Корпоративного Хранилища Данных (EDW).

суббота, 21 июля 2012 г.

5+1.

Как обещал, возвращаюсь к вопросу по новой функциональности ODI версии 11.1.1.6 под названием - отслеживание значений переменных во время выполнения сессии.

Для демонстрации того, как это работает, у меня как раз есть специально не для этого приготовленный пакет. Вот как выглядит его диаграмма:

суббота, 28 апреля 2012 г.

Что такое модули знаний реверса (RKM) и зачем они нужны?

Прямой ответ, который дает на этот вопрос документация, достаточно прост. Модули знаний реверса нужны в том случае, если возможностей по реверсу моделей (т.е. по получению характеристик и составных элементов для таблиц модели) у драйвера недостаточно.

Другими словами, то, что JDBC драйвер получить не может, модуль знаний реверса получить сможет. Должен смочь.

Рассмотрим, как же работает модуль знаний реверса. Для этого я создам копию одной из существующих моделей, и включу у нее режим использования модуля знаний реверса и последовательно, в картинках, расскажу, что происходит.

вторник, 31 января 2012 г.

Не все то хорошо, что новая версия.

Эпопея с закатом OWB тянется уже давно, и где-то на протяжении полутора лет мне, с разной частотой, попадались мнения разных людей, которые говорили или писали, что ODI и OWB скоро сольются.

Что вам сказать, похоже, сливание уже началось. Слияние. В текущей версии ODI мы имеем кучу багов и странных, тормознутых или кривых интерфейсных загогулин.

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

пятница, 30 декабря 2011 г.

ODI 11g. Где всё?

Всех с наступающим.

Собираюсь открыть клуб ретроградов, любителей старой версии ODI. Мне, конечно же, нравятся новые возможности ODI 11g, но к интерфейсу пока не привык. А, как уже "доказали" исследователи, новое не значит лучшее.

Какие отличия удалось заметить после достаточно длительной работы с предыдущей версией ODI, когда у меня появилась возможность начать новый проект на 11g? Для интересующихся - создал такой перечень:

среда, 28 сентября 2011 г.

Использование утилит Oracle Data Integrator.

Сентябрь еще на дворе, а в нашей профессии без постоянного изучения чего-нибудь нового - никуда. Поэтому сегодня будет перевод части документации из файла Tools Reference Guide посвященной командам ODI.


Использование утилит Oracle Data Integrator.

среда, 15 июня 2011 г.

Многотабличность интерфейсов ODI.


Один из поисковых запросов, по которым попал в этот блог кто-то из наших коллег, звучал так - odi многотабличные интерфейсы.

Я решил записать свои мысли на этот счет, так как думать над этой идеей начал еще во время курсов по Информатике, на которых реализация многотабличности была частью одного из заданий курса. Единственное, что все мои рассуждения основаны на опыте использования 10 версии ODI. Возможно, в новых версиях будут какие-то изменения, но не думаю, что сильно кардинальные.

пятница, 15 апреля 2011 г.

Уменьшаем количество переменных ODI.

Привет всем.

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

пятница, 11 марта 2011 г.

Строим workflow на основе пользовательского ввода (User Input).

Приветствую.

В комментариях к записи Что такое переменная ODI, один из наших коллег спросил, каким образом можно сравнить две переменные, одна из которых имеет тип alphanumeric, а вторая - date.

Как отмечено в указанной записи, я не знаю удачных примеров использования переменных типа даты. Теперь есть пример не очень удачного использования, но, тем не менее, с помощью исключений и использования KO перехода в пакете задача решена.

вторник, 15 февраля 2011 г.

Как создать workflow в ODI. Часть 3.

Попробую рассказать о двух вариантах организации общего процесса загрузки данных в ХД, с точки зрения того, как именно реализована загрузка зависимых данных.

Итак, если посмотреть на вот эту картинку, которая приводилась для описания области стейджа,

понедельник, 20 декабря 2010 г.

Как создать workflow в ODI. Часть 2.

Продолжим о построении workflow с помощью пакетов. Из первой части понятно, как организовать загрузку в таблицу(ы) последовательно, возможно, с дополнительными действиями, организованными в виде процедур ODI, теперь же попробуем сделать загрузку данных в параллельном режиме.

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

среда, 8 декабря 2010 г.

Как создать workfow в ODI или что такое пакет?

Приветствую.

Недавно на одном из форумов был задан вопрос, как в Oracle Data Integrator построить Workflow так, как это делается в Oracle Warehouse Builder с его processflow.

Я не знаком достаточно с OWB, но, по ответам на форуме, понял, что имеется ввиду. Рассматривать поток обработки данных, способ организации этого потока в Oracle Data Integrator можно с нескольких позиций.

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

пятница, 29 октября 2010 г.

Дуплицируем папку ODI или весь проект.

Что происходит при дуплицировании единичных объектов ODI примерно ясно. Создается копия того интерфейса или процедуры или пакета, к которому применена команда Duplicate.

А что произойдет, если сделать дубликат папки ODI или даже всего проекта? В зависимости от количества объектов в папке или в проекте это может занять разное время (иногда достаточно большое).

четверг, 21 октября 2010 г.

Быстрое редактирование параметров запуска сценария ODI.

Сегодня хочу рассказать о том, как можно быстро изменить параметры запуска сценария из пакета Oracle Data Integrator.

Рассмотрим пример запуска сценария из проверочного пакета.
Общие свойства объекта OdiStartScen:

вторник, 19 октября 2010 г.

Изучаем поведение переменных ODI.

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

Недавно встретилась ситуация, когда в пакете была такая последовательность для одной переменной: Декларация -> Обновление -> Декларация.

И я решил проверить, это просто ошибка, или в этом есть какой-то смысл?

суббота, 2 октября 2010 г.

Один сценарий ODI - одна сессия в СУБД Oracle.

Предыдущий пост, посвященный получению в переменную ODI результата выполнения некоторой PL/SQL процедуры через значение переменной модуля(Oracle package) натолкнул меня на мысль проверить, как этот механизм будет работать при одновременном выполнении нескольких сценариев.

Если исходить с точки зрения того, как механизм использования модулей реализован в СУБД Oracle, то получалось, что, в случае выделения каждому сценарию своей собственной сессии, для каждого сценария мы будем иметь отдельную область памяти, в которую конкретизируется (instantiated) модуль, и, таким образом, в каждом модуле мы получим свое значение переменной.

вторник, 28 сентября 2010 г.

Из чего состоит проект ODI.

В поисках вдохновения решил почитать документацию по Oracle Data Integrator. Хотел, отталкиваясь от описания в документации, рассказать о том, что такое процедура. Но нашел более интересные части, их и переведу.

Составляющие проекта Oracle Data Integrator.
Следующие компоненты входят в дерево проекта ODI:
  1. Папка (Folder)
    Объекты ODI могут находиться в папках или подпапках.
  2. Пакет (Package)
    Пакет это наибольший возможный выполняемый объект ODI. Пакет состоит из последовательности шагов огранизованных в виде цепочки выполнения.

воскресенье, 19 сентября 2010 г.

Диаграмма выполнения пакета в Oracle Data Integrator.

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

С самого начала работы с ODI я настойчиво упорядочивал пакеты, стараясь делать диаграмму "прямой и стройной". И делал это всегда вручную. Обнаружив описываемую ниже функциональность я попробовал ее использовать, разочаровался, и решил вообще о ней не упоминать. Но, спустя время, понял, что в 80% случаев она может быть полезна для разработчика.

Что я имею ввиду? Обычно диаграмма пакета это графическое отображение объектов пакета в виде пиктограмм и связей между ними, в виде стрелок. Направление стрелки показывает порядок выполнения действий над объектами пакета, разные цвета этих стрелок обозначают переход выполнения в случае успешного и неуспешного завершения текущего шага.


Прямая и стройная диаграмма это расположение объектов пакета на одной прямой. С этой задачей может справиться специальная функция Дизайнера, которая называется Reorganize:


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

Вот как выглядит упорядоченный вручную пакет:


Вот что происходит после использования функции Reorganize:


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


Update:
Подробнее о диаграмме пакета как схеме выполнения загрузки (workflow)