Oracle Remedy - удаление связанных данных из многих таблиц

У нас есть две компании, которые в настоящее время используют одну производственную систему Remedy под управлением Oracle 12 для своих служб поддержки. Конечно, они хотят иметь как можно меньше времени простоя, поэтому я ищу наиболее эффективный способ удаления данных одной компании из 100 форм Remedy, что в четыре раза превышает количество таблиц базы данных. Таблицы варьируются от нескольких сотен до нескольких миллионов записей, каждая из которых содержит около нескольких сотен тысяч записей.

Я прочитал несколько записей об удалении из отдельных таблиц, в том числе один здесь: Оптимальный способ УДАЛИТЬ указанные строки из Oracle

Одним из факторов является то, что определяющая информация для разделения находится в нескольких базовых формах, поэтому, по сути, мне нужно выполнить запросы к пяти или шести из этих форм, а затем использовать поля из этих форм (в основном внешние ключи) для удаления связанные записи во вторичных формах. Кроме того, некоторые вторичные формы, такие как "Задачи", являются общими, поэтому первая запись может быть связана с базовой записью "Изменение", а следующие пять могут быть связаны с базовыми записями об инцидентах.

Вот варианты, на которые я сейчас смотрю:

  1. Создайте временные таблицы идентификаторов и основывайте каждое из них на удалении. Например: DELETE FROM table_name WHERE id IN (SELECT id FROM temp_table); COMMIT;
  2. Используйте соединения для соединения базовых и вторичных таблиц и в качестве основы для команд удаления.
  3. Используйте факторы разделения данных для разделения таблиц, а затем удалите ненужный раздел.
  4. Один из вариантов удаления, но вместо этого используется стратегия CSAT.

В связи с необходимостью сделать это для нескольких сотен таблиц различного размера, есть ли другие факторы или стратегии, которые я должен рассмотреть?

0 ответов

Другие вопросы по тегам