Проблема
Есть ADF-приложение, в нем некоторые Entity смотрят на вьюхи, которые, в свою очередь, смотрят на удаленные таблицы через DATABASE LINK. При работе с этими Entity падает ошибка:
ORA-02020: используется слишком много каналов связи БД
Решение
Срабатывает ограничение OPEN_LINKS (ограничение на число link-ов в рамках одной сессии, см. https://docs.oracle.com/cd/B19306_01/server.102/b14237/initparams139.htm#REFRN10138) или OPEN_LINKS_PER_INSTANCE (тоже самое, но не на уровне сессии, а глобально, актуально при использовании SHARED-линков и распределенных транзакций, см. https://docs.oracle.com/cd/B19306_01/server.102/b14237/initparams140.htm#REFRN10139). Оба по-умолчанию равны 4. Посмотреть текущие значения можно SQL-запросом:
show parameter OPEN_LINKS
Необходимо поменять значения командами:
ALTER SYSTEM SET OPEN_LINKS=255 SCOPE=SPFILE;(для применения потребуется рестартануть БД)
ALTER SYSTEM SET OPEN_LINKS_PER_INSTANCE=255 SCOPE=SPFILE;
Комментариев нет:
Отправить комментарий