Журналы транзакций Db2 заблокированы и не могут их заархивировать - PullRequest
0 голосов
/ 06 октября 2018

Сценарий в моем Java-коде, где я создал временную таблицу и заполнил ее записями, которые мне нужно удалить, а затем я удаляю записи из различных таблиц, последовательно получая данные из временной таблицы.Одновременно из всех таблиц удаляется только 1000 записей, после чего операторы фиксируются, и снова следующие 1000 записей удаляются, и цикл продолжается до тех пор, пока не будут удалены все записи.

Операторы sql являются простыми запросами на удаление.Поскольку данные исчисляются миллионами, а таблица индексируется, поэтому мои журналы транзакций начали заполняться и не позволяют БД архивировать их во время выполнения кода. Так как я фиксирую все операторы, но что-то еще удерживает журналы транзакций и предотвращаетэто из архивации.

Мне нужно знать, что может заблокировать журналы транзакций от архивации, поскольку все операторы фиксируются с регулярным интервалом.Существует пул соединений в Java.Соединение закрывается после выполнения всего кода.Может ли соединение или подготовленный оператор поддерживать транзакцию активной, отключив ее от архивирования или любого другого процесса?

Db - это db2, а ведение журнала - это архивное ведение журнала.Не может использовать циклическое ведение журнала и не может использовать команду NLI.

1 Ответ

0 голосов
/ 08 октября 2018

Используйте следующий запрос, чтобы найти идентификатор приложения, которое имеет самую старую транзакцию.

select appl_id_oldest_xact from sysibmadm.snapdb

Если вы хотите узнать, какие выписки / транзакции было сделано этим (или другим) приложением, используйте событиеследить за деятельностью. Настройка сбора данных для монитора событий активности .

-- Temporarily turn the collection on with the following query
ALTER WORKLOAD SYSDEFAULTUSERWORKLOAD COLLECT ACTIVITY DATA ON COORDINATOR WITH DETAILS
-- Run you workload
-- Turn the collection off
ALTER WORKLOAD SYSDEFAULTUSERWORKLOAD COLLECT ACTIVITY DATA NONE
-- Find the corresponding information in the corresponding event monitor tables

Вы можете собирать информацию в таблицы этого монитора обо всех приложениях или для отдельных приложений с помощью известного дескриптора приложения. Сбор данных для отдельных видов деятельности .

...