čtvrtek 29. října 2009

ODI a OutOfMemoryError

Nedávno se mi na jednom projektu stalo, že jsem v ODI na svém počítači vyvinul transformační pumpy (Interface), které se na jiném počítači již nedařilo otevřít.
Během otevírání ODI Interface (ve fázi načítání grafického zobrazení transformace) vždy došlo k chybě "Diagram can not be loaded ...... java.lang.OutOfMemoryError ....".
Po bližší analýze jsem zjistil, že na daném PC je nainstalovaná jiná verze Javy, která konzumuje mnohem více paměti než ta moje.

Řešením bylo zvětšit defaultní hodnoty ODI parametrů (ODI_INIT_HEAP, ODI_MAX_HEAP) které ovlivňují kolik paměti budou mít ODI komponenty k dispozici.
  • ODI_INIT_HEAP - Initial java machine heap size used by OracleDI modules (defaultní hodnota po instalaci je 32MB)
  • ODI_MAX_HEAP - Maximum java machine heap size used by OracleDI modules (defaultní hodnota po instalaci je 256MB)

Parametry se mění v souboru .../oracledi/bin/odiparams.bat (instalace na Windows), .../oracledi/bin/odiparams.sh (instalace na Linux / Unix).


Erik Eckhardt

Žádné komentáře: