среда, 30 марта 2011 г.

Клиентские приложения ODI и использование памяти (Heap Size).

Всем привет.

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


Во время работы клиентских приложений ODI, которые написаны на Java, в правом нижнем углу каждого из них отображается небольшой график, показывающий общее количество выделенной и используемой в данный момент памяти для текущего приложения:


Для начала, я увеличил объем памяти, который выделяется виртуальной машине, на которой у меня проинсталлирована версия ODI подключенная к MS SQL server как репозиторию.

Это не помогло. Oracle Data Integrator, в лице Дизайнера, напрочь отказывался брать больше 256 Мбайт памяти. Причем некоторое время выделенная и используемая память были достаточно близки по значению, в эти моменты, видимо, сборщик мусора Java пытался освободить ненужные куски памяти из кучи, но минут через 5 все заканчивалось сообщением о нехватке памяти.

В поисках настроек, которые Java выделяет программам, я нашел параметры, определяющие количество выделяемой приложению памяти в перечне дополнительных параметров настроек Java Control Panel. Выглядеть должно было все примерно так:


К сожалению, это так же не помогло. Искушительная мысль переинсталлировать "всё" постоянно маячила на горизонте, маня простым, понятным, неправильным решением, которое, как известно, есть у каждой проблемы.

Решение обнаружилось в файле параметров odiparams.bat, который используется, в том числе, для определения параметров коннекта агента к репозиторию.

Итак, в данном файле, в разделе других настроек (Other Parameters) необходимо подправить переменную ODI_MAX_HEAP, установив для нее необходимое количество памяти.


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

1 комментарий:

  1. Как пишут на sql.ru, увеличение параметра объема используемой памяти помогает также при проблемах с приемом слишком больших сообщений через веб-сервисы ODI.
    http://www.sql.ru/forum/actualthread.aspx?bid=3&tid=590317

    ОтветитьУдалить