Большинство баз данных по заданному расписанию (как правило, ночью) останавливаются для создания "холодной" резервной копии. Сразу после старта сервиса БД можно с уверенностью предположить, что никто из пользователей не работает с системой. Мы пользуемся этим предположением для опционального автоматического переноса данных товародвижения вместе с бэкапом, т.е. алгоритм работы пакетного файла примерно следующий:
- останавливаем сервисы Супермага
- выполняем скрипт на Shutdown Immediate
- останавливаем сервис БД
- копируем файлы базы данных
- стартуем сервис БД
- стартуем Сервер Супермага
- выполняем скрипт для переноса ТД
- стартуем остальные сервисы Супермага
- архивируем копию БД
На самом деле алгоритм работы "бэкапера" чуть сложнее, умеет запоминать состояния сервисов и восстанавливать их после копирования, "подчищает" за собой старые архивы и т.д., но на общую идею это не влияет.
Важным здесь является то, что именно для перноса данных нужен "монопольный" доступ к базе. А вот процедура расчёта, если её автоматизировать, вполне могла бы выполняться и при подключенных пользователях.
Предложенный вариант может оказаться неприемлем для баз данных, работающих в archivelog'е круглосуточно и использующих только "горячее" резервное копирование.