Очистка транзакционных данных в DB2 - PullRequest
0 голосов
/ 14 апреля 2020

У нас есть таблица размером более 130 ТБ, мы должны удалить записи в DB2. Использование оператора delete приведет к зависанию системы. Таким образом, мы можем разделить таблицу по месяцам и годам, а затем удалить раздел один за другим, используя усечение или удаление. Ищете скрипт, который может создать раздел и впоследствии удалить.

1 Ответ

0 голосов
/ 15 апреля 2020

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

При использовании Db2 LUW и в зависимости от ваших конкретных требований c рассмотрите возможность использования ADMIN_MOVE_TABLE для перемещения данных в новую таблицу, сохраняя при этом ваш стол "on-line"

ADMIN_MOVE_TABLE имеет возможность добавить разделение диапазона и / или многомерную кластеризацию на новом столе во время перемещения.

https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.5.0/com.ibm.db2.luw.sql.rtn.doc/doc/r0055069.html

Тем не менее, таблица на 130 ТБ очень велика, и вам бы посоветовали быть осторожными при планировании и тестировании такого движения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...