<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=411684&amp;view=findpost&amp;p=3888890</guid>
        <pubDate>Thu, 30 Mar 2023 19:33:37 +0000</pubDate>
        <title>Oracle, Cursors, базовые настройки</title>
        <link>https://forum.sources.ru/index.php?showtopic=411684&amp;view=findpost&amp;p=3888890</link>
        <description><![CDATA[MaIron: 1. Нет, на сайте Oracle доступна полноценная версия базы данных Oracle, а не какая-то урезанная версия.<br><br>2. Количество процессов и открытых курсоров в базе данных зависит от конкретных требований приложения и количества соединений с базой данных. Для установки значений параметров в файле инициализации init.ora можно использовать следующие параметры:<br><br>PROCESSES: устанавливает максимальное количество процессов, которое может использовать база данных.<br>OPEN_CURSORS: устанавливает максимальное количество открытых курсоров на сессию в базе данных.<br>Значения параметров можно установить в файле init.ora или динамически с помощью команд SQL в сеансе базы данных.<br><br>3.Для закрытия курсора в Oracle используйте команду CLOSE. После выполнения запроса, курсор будет закрыт автоматически, но если вы используете курсор в цикле или вложенных блоках, то следует явно закрывать его после использования. Неявное закрытие курсора может привести к утечкам памяти и другим проблемам производительности.<br>Для оптимизации производительности и избежания ошибки &quot;ORA-01000: количество открытых курсоров превысило допустимый максимум&quot;, рекомендуется использовать параметризованные запросы и избегать использования динамических запросов с неопределенными параметрами. Также, можно использовать пакеты PL/SQL для группировки запросов и минимизации количества открытых курсоров.]]></description>
        <author>MaIron</author>
        <category>C/C++: Базы данных</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=411684&amp;view=findpost&amp;p=3752162</guid>
        <pubDate>Mon, 04 Dec 2017 08:00:44 +0000</pubDate>
        <title>Oracle, Cursors, базовые настройки</title>
        <link>https://forum.sources.ru/index.php?showtopic=411684&amp;view=findpost&amp;p=3752162</link>
        <description><![CDATA[alex.styopin: Добрый день.<br><br>Разрабатываю ПО, которое основную работу проводит с сетевыми устройствами и по столько по сколько использует базу oracle(требование заказчика) для хранения некоторой информации об устройствах и изображений, полученных с устройств. До этого всегда использовал для таких целей MySQL и с Oracle не знаком. С подключением к базе(пищу на Visual Studio 2017 и использую OracleClient) и отправкой запросов я разобрался. Запросы не мудреные, в основном SELECT&#39;ы при загрузке данных при старте и INSERT&#39;ы при записи состояний в базу и записи изображений в BLOB. <br>Oracle скачал и установил с офф сайта, последнюю версию.<br>Но при работе с базой возникает ошибка &quot;ORA-01000: количество открытых курсоров превысило допустимый максимум&quot;.<br><br>Отсюда вопросы:<br>1) Есть ли ограничения в той версии Oracle, которая доступна на сайте.<br>2) Какие значения задать для processes и open_cursors(значение sessions я вообще не нашел в init.ora), возможно еще какие-то значения нужно изменить?<br>3) Как избежать накопления неявных открытых курсоров или как закрывать поле каждого запроса<br><br>Заранее прошу прощение, если что-то не так написал, так как не имею опыта работы с Oracle. Если нужны какие-то примеры запросов или кода могу привести. Заранее скажу, что будет около 300 потоков(по 1 на каждое устройство), каждый раз в секунду выполняет 1 UDPATE (записывает состояние - около 12 полей) и возможно 1 INSERT, если есть необходимость записать изображение. Сейчас работает только один поток, но проблема уже возникает.]]></description>
        <author>alex.styopin</author>
        <category>C/C++: Базы данных</category>
      </item>
	
      </channel>
      </rss>
	