оцените плз мысль о чистке базе.

пользователям системы "NS2000"
AG
Старожил
Сообщения: 85
Зарегистрирован: 28 ноя 2002, 11:04

оцените плз мысль о чистке базе.

Сообщение AG » 21 окт 2005, 11:04

В силу разных причин пришли к выводу о необходимости чистки базы,
причем вот в таком варианте - в новой базе оставляем все неархивное.
у нас 2 базы с обменом данными по новостям.
действия будут следующие :
1. Выгоняем всех, ждем прохода новостей, стопим базы.
2. Делаем копию базы
3. Делаем новую сеть для новостей
4. Запускаем исходные базы
5. В созданной базе либо удаляем все архивное, либо делаем выгрузку в
еще одну базу всего неархивного + все таблицы, не имеющие полей storno,archive.
5.а убить все записи , где
link.class-num = 0
link.class-net = 0
link.object-net = 0
link.object-num = 0 ?


6. dump & load.
7. запуск получившейся базы , заливание свежих данных по новостям.
В итоге должна получиться копия актуальной базы .
Оцените , плз , не забыл ли чего ? А может кто-то уже проделывал такое или подобное ?
спс.

Alexander
Новичок
Сообщения: 9
Зарегистрирован: 30 авг 2004, 15:39
Откуда: Питер

Сообщение Alexander » 21 окт 2005, 13:22

И тебе пользователи это позволят? Завидую.

А вообще стоит хорошо задуматься.
Возможно появление мусора, типа неархивных признаков на архивных документах, которые потом всплывут.

Еще вопрос - что ты будешь делать с новой базой? Это будет новая сеть со своим net? Не должно появиться ситуации, что создан новый объкт с тем же net-num, что уже есть в другой сети.

AG
Старожил
Сообщения: 85
Зарегистрирован: 28 ноя 2002, 11:04

Сообщение AG » 21 окт 2005, 13:44

И тебе пользователи это позволят? Завидую.

конечно позволят. Куда ж они денутся. особенно
1,2,3,4,5,6,7,8,9 января :D .
Еще вопрос - что ты будешь делать с новой базой? Это будет новая сеть со своим net? Не должно появиться ситуации, что создан новый объкт с тем же net-num, что уже есть в другой сети.

О! навярняка бы забыл поменять снова номер сети. Спасибо.
Цель - уменшить базу в размере. После создания новой базы меняю в ней номер сети и подкладываю её пользователям вместо большой и старой базы. Итак , создаю новую базу (которая резко отличается размерами),в неё переливаются данные из исходной базы ( которые скопились с момента 2-4, чтобы синхронизировать базы ). потом в один прекрасный момент снова всех стопим на 5-10 минут и меняем базы.


Возможно появление мусора, типа неархивных признаков на архивных документах, которые потом всплывут.

ДА ... мусора боюсь .. перед всеми процедурами собираюсь проверить связи таблиц gdsbody-invoice , да и наверное придется проверять связь sign с остальными ( каждому неархивному sign <=> неархивное что-то ) .

[/quote]

rda
Старожил
Сообщения: 29
Зарегистрирован: 22 июл 2004, 14:58
Откуда: г. Пермь

Re: оцените плз мысль о чистке базе.

Сообщение rda » 25 окт 2005, 12:00

У нас этот процесс мы называем архивацией. Правда при этом мы еще выводим сальдо и остатки на 01 января.

Только мне непонятно зачем создавать отдельную сеть для новостей ?
Можно сделать проще - остановить базу, остановить новости. Ну и соответственно не создавать новые записи во всех сетях на время проведения архивации.

После того, как будет создана новая база (без архивных записей), устанавливаем эту базу на все сети (не забывая менять номер сети).
Времени на все это хватит и пары дней (учитывая наш прежний опыт архивации базы 40 Гб с вечера пятницы до середины воскресенья).
При условии конечно, что база под Linux.
Если под Novell либо Windows, тут ничего сказать не могу.

AG
Старожил
Сообщения: 85
Зарегистрирован: 28 ноя 2002, 11:04

Сообщение AG » 25 окт 2005, 15:31

У нас этот процесс мы называем архивацией. Правда при этом мы еще выводим сальдо и остатки на 01 января.

вот тут не понял . Вы архивируете все до 1 января ?
Только мне непонятно зачем создавать отдельную сеть для новостей ?
Можно сделать проще - остановить базу, остановить новости. Ну и соответственно не создавать новые записи во всех сетях на время проведения архивации.

пункт 3 развернуто звучит вот так :
в исходной базе в справочнике сетей заводим новую сеть ( например 55 ) . Все записи , которые создались после момента копирования базы ( пункт 2 ) не потерялись и были отмечены .

То есть:
Сделали новую базу , в конфигурации сказали что это 55 сеть . Исходная база все это время работала. Для синхронизации этих 2 баз пускаем новости, так как все записи отмечены и они пойдут в новую базу. Итог - у нас 2 базы - одна исходная , вторая меньших размеров. В идеале они эквивалентны в разрезе неархивных записей. И в какой-то момент подключаем пользователей на новую базу.

Времени на все это хватит и пары дней (учитывая наш прежний опыт архивации базы 40 Гб с вечера пятницы до середины воскресенья).

мммм.... а как ? у меня тупой проход
for each invoice where invoice.storno = no занимает около 9 часов ? правда это на тестовом компостере ( селерон 1000 ).
про gdsbody страшно думать .... [/quote]

rda
Старожил
Сообщения: 29
Зарегистрирован: 22 июл 2004, 14:58
Откуда: г. Пермь

Сообщение rda » 26 окт 2005, 06:22

вот тут не понял . Вы архивируете все до 1 января ?

Да, записи складских документов, бухгалтерских проводок, платежек
с датами до 01 января мы не выкачиваем.
А документы с датами после 01 января выкачиваем неархивные.

мммм.... а как ? у меня тупой проход
for each invoice where invoice.storno = no занимает около 9 часов ? правда это на тестовом компостере ( селерон 1000 ).
про gdsbody страшно думать ....


Как я понял, у вас не линуксовая версия Progress ?
В таком случае рекомендую разносить на разные компьютеры выкачку данных. Можно делать выкачку раздельно по разным фирмам/складам либо за указанный период.
[/quote]

van
Модератор
Сообщения: 407
Зарегистрирован: 12 июл 2001, 03:00

Сообщение van » 30 окт 2005, 16:49

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

AG
Старожил
Сообщения: 85
Зарегистрирован: 28 ноя 2002, 11:04

Сообщение AG » 31 окт 2005, 12:06

Спасибо за отклики.
Но к сожалению , требование бухгалтерии иметь рабочую базу с 2001 года по сегодня. (а нс-ка запущена в конце 2000 года). Поэтому пока и придуман такой способ. В дальнейшем конечно нужно переходить на чистку по вашим методикам .
Может кому интересно будет , то при убивании всего архивного
при моей конфигурации виндячего прогресса 9.1 , пень-1000 селерон , 128 метров база чистилась порядка 10 суток :) , предварительные оценки - ужалась в 3 раза. Осталось проверить её на работоспособность.

Аватара пользователя
svr
Старожил
Сообщения: 68
Зарегистрирован: 13 июл 2001, 03:00

Сообщение svr » 22 ноя 2005, 09:19

AG писал(а):да и наверное придется проверять связь sign с остальными (каждому неархивному sign <=> неархивное что-то )

Это утверждение справедливо только для признаков-связей по номеру, если я не ошибаюсь. Признаки остальных типов при архивировании объекта не архивируются, у них просто проставляется sg-owner-archive = yes. Не найди нарушения целостности там, где их нет :wink:
PS: Та же самая ситуация с упаковками - при архивировании r-goods не архивируются подчиненные r-pack. Ну может еще где такое есть, это я так, навскидку, на всякий случай напомнил :)

Аватара пользователя
tonya
Новичок
Сообщения: 10
Зарегистрирован: 21 сен 2005, 12:24
Откуда: Moscow

Сообщение tonya » 06 июн 2006, 08:41

Ага, мы как-то никосовскую жесткую архивацию запустили а там было забыто про признаки, мусор потом год выгребали - старые признаки стали цепляться к вновь создаваемым документам. %)
Потом они процедуру доработали, но больше рисковать не хочется благо у нас база растет не очень быстро.