Добрый день.
Разрабатываю ПО, которое основную работу проводит с сетевыми устройствами и по столько по сколько использует базу oracle(требование заказчика) для хранения некоторой информации об устройствах и изображений, полученных с устройств. До этого всегда использовал для таких целей MySQL и с Oracle не знаком. С подключением к базе(пищу на Visual Studio 2017 и использую OracleClient) и отправкой запросов я разобрался. Запросы не мудреные, в основном SELECT'ы при загрузке данных при старте и INSERT'ы при записи состояний в базу и записи изображений в BLOB.
Oracle скачал и установил с офф сайта, последнюю версию.
Но при работе с базой возникает ошибка "ORA-01000: количество открытых курсоров превысило допустимый максимум".
Отсюда вопросы:
1) Есть ли ограничения в той версии Oracle, которая доступна на сайте.
2) Какие значения задать для processes и open_cursors(значение sessions я вообще не нашел в init.ora), возможно еще какие-то значения нужно изменить?
3) Как избежать накопления неявных открытых курсоров или как закрывать поле каждого запроса
Заранее прошу прощение, если что-то не так написал, так как не имею опыта работы с Oracle. Если нужны какие-то примеры запросов или кода могу привести. Заранее скажу, что будет около 300 потоков(по 1 на каждое устройство), каждый раз в секунду выполняет 1 UDPATE (записывает состояние - около 12 полей) и возможно 1 INSERT, если есть необходимость записать изображение, 1 SELECT. Сейчас работает только один поток, но проблема уже возникает время от времени.