20.Проведение мероприятий по очистке БД
от данных прошлых лет в «АЦК-Финансы»
и Транспортной системе.
ВАЖНО!
|
Существует два очищающих скрипта:
1. Неполная очистка данных. В БД остаются некоторые данные бюджета 2016 года, которые необходимы для переноса документов, справочников и настроек в бюджет 2017 года. При этом в системе остается бюджет 2016 года, и он будет доступен для входа администратору системы.
2. Полное очищение от данных бюджетов 2016 года. Выполняется после того, как перенесены все необходимые данные из бюджета 2016 года в бюджет 2017 года и АРМ ПБС получены все выписки по данным 2016 года.
Скрипты предварительной и полной очистки БД должны обязательно выполняться последовательно, даже в том случае, если они исполняются в один день.
|
20.1.Предварительная очистка от данных прошлых лет.
Предварительную очистку бюджетов прошлых лет рекомендуется проводить для ускорения работы с базой данных в бюджете нового года.
ВАЖНО!
|
Процедура предварительной очистки данных прошлых лет должна проводиться только после получения на связанных АРМ ПБС всех выписок по данным предыдущего финансового года, а также после переноса всех остатков по счетам для учета приносящей доход деятельности, невыясненных поступлений, многолетних ЭД системы, невыясненных поступлений БУ/АУ и многолетних ЭД БУ/АУ.
|
ВАЖНО!
|
Данная процедура требует обязательной проверки на стенде перед выполнением на реальной базе данных.
Выполнение процедуры предварительной очистки данных старых бюджетов не обязательно. Выполняется после завершения документооборота в бюджетах 2016 года.
|
ВНИМАНИЕ!
|
Перед запуском очищающих SQL-скриптов необходимо в обязательном порядке сделать резервное копирование БД.
|
Порядок выполнения очищающих скриптов:
(Внимание!!! пп 8,9,10 только для СУБД Firebird)
Сделать бекап базы данных (для FireBird с ключом - g, gbak -B -g ...).
Восстановить бекап для последующей работы с ним.
Перенастроить конфигурационные файлы системы для работы с восстановленным архивом БД.
Для Oracle обязательно собрать статистику по БД в штатном порядке.
Отключить триггеры (executer.cmd triggersdrop).
Включить логирование (если выключено).
Выполнить скрипт:
-для версии 2.40.* - clean_base_2.40.0.х.sql,
-для версии 2.41.* - clean_base_2.41.0.х.sql (или clean_base_for_budget_2.41.0.x.sql),
дождаться полного его исполнения.
Для Firebird сделать бекап базы данных с ключом - g, gbak -B -g ...
Для Firebird восстановить бекап для последующей работы с ним.
Для Firebird выполнить приложенный скрипт create_constraint_fb.sql, дождаться полного его исполнения.
Включить триггеры (executer.cmd triggers).
Сделать бекап→рестор полученной БД для уменьшения размера и дальнейшей работы с БД.
Рекомендуем после выполнения скрипта провести следующие мероприятия:
1. Убедиться, что скрипт выполнился без ошибок (посмотреть в log файле исполнения SQL).
2. Убедиться, что вновь заведенные, перенесенные и конвертированные документы, а так же справочники и выполненные настройки не очистились в Бюджетах 2017г.
3. Убедиться, что ЭД, предназначенные для переноса в бюджеты 2017 года и не перенесенные до сих пор (см. методику перехода), не очистились и открываются из Бюджетов 2016 г.
Для выполнения SQL-скрипта копируем его в директорию SQL сборки АЦК-Финансы и запускаем оттуда следующую команду:
executer.cmd perform <Имя_файла_скрипта>
<�Имя_файла_скрипта> заменяем на название SQL скрипта.
clean_base_2.40.0.х.sql – Скрипт частичного очищения от данных 2016 года для версий АЦК 2.40.*
clean_base_2.41.0.х.sql – Скрипт частичного очищения от данных 2016 года для версий АЦК 2.41.*
clean_base_for_budget_2.41.0.x.sql - Скрипт частичного очищения от данных определенного бюджета для версий АЦК 2.41.* (Инструкция по выполнению внутри скрипта).
Пролитие чистящих скриптов по определенным бюджетам (clean_base_for_budget_2.41.0.x.sql) не отменяет итоговое пролитие чистящих скриптов (clean_base_2.41.0.х.sql).
20.2.Окончательная очистка от данных прошлых лет.
ВАЖНО!
|
Данная процедура требует обязательной проверки на стенде перед выполнением на реальной базе данных.
Очищающий скрипт должен быть выполнен в обязательном порядке после переноса всех необходимых данных из бюджета прошлого года и получения АРМ ПБС всех выписок с данными прошлого года.
|
ВНИМАНИЕ!
|
Перед запуском очищающих SQL-скриптов необходимо в обязательном порядке сделать резервное копирование БД.
|
Для выполнения SQL-скрипта копируем его в директорию SQL сборки АЦК-Финансы и запускаем оттуда следующую команду:
executer.cmd perform <Имя_файла_скрипта>
<�Имя_файла_скрипта> заменяем на название SQL скрипта.
clean_base_finish_2.40.0.sql– Скрипт полного очищения от данных прошлых лет для версии АЦК-Финансы 2.40.*.
clean_base_finish_2.41.0.sql– Скрипт полного очищения от данных прошлых лет для версии АЦК-Финансы 2.41.*.
clean_base_for_budget_finish_2.41.0.sql– Скрипт полного очищения от данных прошлых лет определенного бюджета для версии АЦК-Финансы 2.41.* (Инструкция по выполнению внутри скрипта).
Пролитие чистящих скриптов по определенным бюджетам (clean_base_for_budget_finish_2.41.0.sql) не отменяет итоговое пролитие чистящих скриптов (clean_base_finish_2.41.0.sql).
Рекомендуем после выполнения скрипта провести следующие мероприятия:
1. Убедиться, что скрипт выполнился без ошибок (посмотреть в log файле исполнения SQL).
2. Убедиться, что вновь заведенные, перенесенные и конвертированные документы, а так же справочники и выполненные настройки не очистились в Бюджетах 2017г.
20.3.Новогоднее очищающее обновление для «АЦК-Транспорт».
ВНИМАНИЕ!
|
Необходимым условием успешного обновления, является полное завершение документооборота за текущий год между Сервером Транспорта и АРМ ПБС. При несоблюдении этого условия в дальнейшем возможно появление ошибок в работе Транспортной подсистемы, связанных с незавершенным документооборотом и не оказывающих влияния на работу системы в целом.
|
ВАЖНО!
|
Необходимые условия:
АЦК настроена по методике для работы с 2017 годом.
Новые бюджеты 2017 года получены в Транспорте.
|
Порядок обновления:
Добавить в привязки сайтов (АЦК и Транспорта) бюджеты 2017 г. АЦК-Финансы.
Если в результате к сайтам привязано по несколько бюджетов, то обязательно должен быть выбран первичный бюджет;
Настроить привязки клиентов к новым бюджетам. старые привязки не удалять
(Справочники → Внутренние → Связь АРМ с бюджетами);
После перезапуска сервера Транспорта провести синхронизацию с АЦК. в АЦК будут добавлены объекты репликации по новым бюджетам
(Сервис - Сервис АЦК - Синхронное выполнение XML в АЦК);
В новом году АРМы запрашивают выписки по бюджету за предыдущий год.
Также могут полноценно работать в бюджете 2017 года;
-
После получения АРМами необходимых выписок необходимо начать процесс стандартного «перехода на новый год»:
Остановить формирование репликаций в АЦК
(Справочники → Планировщик → Расписание, снять активизацию с заданий: Replication и Exchange);
Дождаться, пока все АРМ ПБС соединятся с сервером и обменяются данными. При этом на АРМах уже не должны заводить и отправлять новые ЭД;
Судить о том, что обмен данными между сервером и АРМами завершён, можно по статусам транспортных пакетов. Для наглядности можно через диктман выполнить следующий запрос:
select count(*), fstatus from transpackets group by fstatus.
В идеале все пакеты должны быть на статусе 22 или выше. Также допускаются пакеты на 21-м статусе. Если есть документы на меньших статусах, то следует выполнить запрос:
select max(Packdate), fstatus from transpackets where fstatus<22 group by fstatus.
По полученному результату можно судить, за какое число есть последний пакет на необработанном статусе. Если такой пакет был создан более месяца назад, то скорее всего он уже не будет обработан и можно не ждать завершения его обработки. В справочнике «Системные → Исходящие репликации» все репликации должны находиться на статусе «Исполнен»;
Дождаться пока все данные от АРМ ПБС выгрузятся в АЦК
Для определения требуется убедиться, завершилось ли формирование и отправка сообщений XML от Транспорта к АЦК. В справочнике «Сервис → Сообщения XML» необходимо установить в поле «Отправитель» панели фильтра сайт Транспорта. Все отображаемые сообщения должны быть на статусах не меньших «Принято (в АЦК)» (код 2). Затем следует отсортировать данные по полям «Время создания» и «Дата создания» - если последнее исходящее сообщение было сформировано 10-15 минут назад, то почти наверняка все данные в АЦК уже переданы;
Остановить на сервере автопроцедуры взаимодействия с АЦК
Для этой цели требуется зайти в пункт меню (Сервис → Автопроцедуры → Настройка автопроцедур) и отключить автопроцедуры в группе «Взаимодействие с АЦК».
Затем требуется остановить и снова запустить автопроцедуры (Сервис → Автопроцедуры → Останов автопроцедур→Запуск автопроцедур);
Разослать очищающий скрипт всем АРМам;
Отключить передачу данных на АРМы
Для исключения возможности потерять необходимые данные при новогоднем обновлении после отправки обновлений всем АРМам и получения последних данных от АРМов требуется временно запретить серверу передавать данные АРМам. (Администрирование → Общее→ Удаленные АРМ», выделить всех клиентов, кроме собственно сервера, и в контекстном меню (по правой кнопке мыши) выбрать пункт «Запретить репликацию и обмен пакетами с АРМ);
Пролить очищающий скрипт на сервер Транспорта;
Убедиться, что в привязках сайтов (АЦК и Транспорта) к бюджетам и привязках АРМов к бюджетам нет бюджетов за прошлые года.
Если есть - удалить;
После перезапуска сервера Транспорта провести синхронизацию с АЦК. в АЦК будут удалены объекты репликации по старым бюджетам
(Сервис - Сервис АЦК - Синхронное выполнение XML в АЦК);
Включить взаимодействие с АЦК
Активизировать задание планировщика: Replication и Exchange (Справочники → Планировщик → Расписание);
Включить автопроцедуры взаимодействия АЦК на Транспорте (Сервис → Автопроцедуры → Настройка автопроцедур);
По мере обновления АРМов требуется включать их в полноценную работу. после обновления АРМов в них будут в числе прочих данных удалены выписки по бюджетам старого года.
РЕКОМЕНДАЦИЯ!
|
После обновления сервера Транспорта объём содержащихся в базе данных будет существенно уменьшен. Это можно использовать для проведения ребилда базы данных штатными средствами СУБД с целью уменьшения объёма, занимаемого файлом базы, а также устранения возможных ошибок, накопившихся в ходе эксплуатации.
|
</22>
|