Имам две инсталации на Oracle 11G. Мога да стартирам скрипт, който импортира 37MB база данни в един от тях без проблеми (инсталация A). В другата (инсталация B), когато стартирам абсолютно същия скрипт с абсолютно същия файл, той получава "ORA-01000: максимално отворените курсори са надвишени". Увеличих максималния брой отворени курсори до 20 000, но когато скриптът стигне до ред 20 000, той спира със същата грешка ORA-01000. Инсталацията, която работи, има максимален брой отворени курсори, зададени на 300.
Очевидно няма проблем със скрипта или SQL, защото работи в една база данни на Oracle. Така че трябва да има настройка в другия екземпляр на Oracle, която предотвратява затварянето на отворените курсори. Какво може да бъде?
Инсталация А работи. База данни = Oracle Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64-битово производство с опциите за разделяне, OLAP, извличане на данни и тестване на реални приложения. Драйвер = Oracle JDBC драйвер 11.2.0.1.0.
Инсталация B не работи. База данни = Oracle Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64-битова продукция с опциите за разделяне, автоматично управление на съхранението, OLAP, извличане на данни и тестване на реални приложения. Драйвер = Oracle JDBC драйвер 11.2.0.3.0.
SELECT * FROM V$PARAMETER
. Разгледайте параметъра на Oracle cursor_sharing - person Wernfried Domscheit   schedule 28.11.2013