Мы тестируем конкретный дизайн приложения, где нам нужно показывать прогрессивные значения после одновременного запуска большого количества запросов.
Когда мы запускаем один запрос, мы можем успешно получать результаты асинхронно.
Но когда мы запускаем 3-4 запроса одновременно, через значительное время и после получения нескольких записей для каждого запроса
мы получаем исключение, которое заявляет
«com.ibm.db2.jcc.c.SqlException: ошибка SQL DB2: SQLCODE: -1218, SQLSTATE: 57011, SQLERRMC: 4099»
Из-за этого все запущенные запросы не выполняются полностью.
Нет проблем, если эти запросы выполняются один за другим. (query2 начинает выполняться после завершения query1 и т. д.)
После поиска этого SQLCODE в Центре управления мы выяснили подробности, которые
SQL1218N В настоящее время нет доступных страниц в пуле буферов
"<buffpool-num>".
Объяснение:
Все страницы в пуле буферов в настоящее время используются. Запрос
использовать другую страницу не удалось.
Оператор может быть успешным при повторном выполнении. Если эта ошибка происходит
часто некоторые или все из следующих действий могут помешать дальнейшему
сбои:
увеличить размер пула буферов
уменьшить максимальное количество агентов базы данных и / или соединений
уменьшение максимальной степени параллелизма
уменьшить размер предварительной выборки для табличных пространств, которые находятся в этом
Буферный
переместить некоторые табличные пространства в другие буферные пулы.
sqlcode: -1218
sqlstate: 57011
В нашем экземпляре БД у нас уже был буферный пул размером 32 КБ и даже после создания другого буферного пула
из 32K, проблема сохраняется.
Может ли кто-нибудь помочь нам в решении проблемы.
Спасибо и всего наилучшего,
Равиндра Джайн