среда, 27 апреля 2016 г.

Проверка переноса всех строк при экспорте/импорте дампа

Если у вас есть возможность перед сворачиванием дампа, подсчитать количество строк в каждой таблице и типов объектов, то можно использовать следующий скрипт:

DECLARE
  l_cnt NUMBER;
BEGIN
  FOR rw IN (SELECT object_type, count(*) cnt
               FROM user_objects
              GROUP BY object_type
              ORDER BY object_type)
  LOOP
    dbms_output.put_line(rw.object_type || '=' || rw.cnt);
  END LOOP;
  FOR rw IN (SELECT table_name
               FROM user_tables
              ORDER BY table_name)
  LOOP
    EXECUTE IMMEDIATE 'SELECT COUNT(*) l_cnt FROM ' || rw.table_name INTO l_cnt;
    dbms_output.put_line(rw.table_name || '=' || l_cnt);
  END LOOP;
END;
/

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

Комментариев нет:

Отправить комментарий