|
Архивирование БД помесячно(каждый раз в новую базу)
|
|||
---|---|---|---|
#18+
Доброго времени суток! Уважаемые коллеги, подскажите пожалуйста, есть ли у кого готовый механизм архивирования БД (небольшая БД в 3 таблицы, с накоплением в 2 месяца поминутно(около 50мб.), каждый день БД перезатирается новыми значениями). Цель: создавать ежемесячные архивы, то есть брать целиком предыдущий месяц, например каждое 1-е число текущего месяца и класть информацию в отдельную БД под названием, например: "201608" или "201609", август и сентябрь 2016 соответственно. Буду рад любым механизмам! Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2016, 11:33 |
|
Архивирование БД помесячно(каждый раз в новую базу)
|
|||
---|---|---|---|
#18+
ЮраСкакаждый день БД перезатирается новыми значениями). Если каждый день перезатираются значения, то как они накопяться за месяц? Вопрос 2 - версия Access? Вопрос 3 - База разделенная или все в одном файле? Пока достаточно. С уважением. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2016, 12:04 |
|
Архивирование БД помесячно(каждый раз в новую базу)
|
|||
---|---|---|---|
#18+
Простейший механизм - это тупое копирование БД с изменением её имени, и последующей, если надо, чисткой "лишних" записей. Можно при определённых условиях даже клиентов не отключать... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2016, 13:08 |
|
Архивирование БД помесячно(каждый раз в новую базу)
|
|||
---|---|---|---|
#18+
ЮраСка, я на форуме уже упоминал инструмент резервного копирования cobian backup. Бесплатно, множество настроек и возможностей. Подойдёт? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2016, 15:16 |
|
Архивирование БД помесячно(каждый раз в новую базу)
|
|||
---|---|---|---|
#18+
TarasiosЮраСка, я на форуме уже упоминал инструмент резервного копирования cobian backup. Бесплатно, множество настроек и возможностей. Подойдёт? Дык в архивах должны быть данные за месяц. В теме это указано. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2016, 15:21 |
|
Архивирование БД помесячно(каждый раз в новую базу)
|
|||
---|---|---|---|
#18+
ROIЮраСкакаждый день БД перезатирается новыми значениями). Если каждый день перезатираются значения, то как они накопяться за месяц? Вопрос 2 - версия Access? Вопрос 3 - База разделенная или все в одном файле? Пока достаточно. С уважением. ТС так и не ответил на мои вопросы. Дальше гадать неинтерестно. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2016, 15:22 |
|
Архивирование БД помесячно(каждый раз в новую базу)
|
|||
---|---|---|---|
#18+
ROI, ну а в чём проблема то? Делается отдельный файл базы. Из основной базы по кнопочке, или по условию (скажем, наступление каждого первого числа месяца) делаются такие операции: 1. Удаляются таблицы из доп. базы 2. В основной базе по запросу делается выборка за период, результат кидается в доп. базу. 3. Копировалка создаёт файл (в чистом виде или сжатом, архивном) с датой (и временем) создания в качестве имени, ныкает его в нужный каталог. Дела на пять минут. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2016, 20:52 |
|
Архивирование БД помесячно(каждый раз в новую базу)
|
|||
---|---|---|---|
#18+
AkinaПростейший механизм - это тупое копирование БД с изменением её имени, и последующей, если надо, чисткой "лишних" записей. Можно при определённых условиях даже клиентов не отключать... Именно так и делаю. Автоматом один раз в день, при открытии программы. Вполне нормально. жаль, но это не спасёт от случая краха базы. Тут нужно вести лог файлы (например текстовые) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2016, 21:38 |
|
Архивирование БД помесячно(каждый раз в новую базу)
|
|||
---|---|---|---|
#18+
час58это не спасёт от случая краха базыВ случае краха спасает только бэкап. час58нужно вести лог файлы (например текстовые)Никто не мешает лить данные сразу в 2 БД параллельно (эдакая "репликация вручную"), причём сами БД расположить на независимых серверах. Вероятность, что сдохнут сразу обе, весьма невелика. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2016, 00:07 |
|
Архивирование БД помесячно(каждый раз в новую базу)
|
|||
---|---|---|---|
#18+
час58, почему только раз в день, при открытии? Тут надо исходить из скорости внесения в базу новых данных, и, соответственно, отсюда уже определять частоту сохранения бэккапов. Да хоть каждые пять минут делайте копии, зато потом, при крахе базы (а от этого никто не застрахован), перечень потерянных данных микроскопичен, и набивается заново элементарно. Ну или как минимум - ущерб минимален. Ну и если что - или на другой комп дубль базы кидайте, или вообще в "облако". Кста, ТС вообще потерялся, тут уже идёт чисто общение "советчиков" ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2016, 00:22 |
|
Архивирование БД помесячно(каждый раз в новую базу)
|
|||
---|---|---|---|
#18+
TarasiosROI, ну а в чём проблема то? Делается отдельный файл базы. Из основной базы по кнопочке, или по условию (скажем, наступление каждого первого числа месяца) делаются такие операции: 1. Удаляются таблицы из доп. базы 2. В основной базе по запросу делается выборка за период, результат кидается в доп. базу. 3. Копировалка создаёт файл (в чистом виде или сжатом, архивном) с датой (и временем) создания в качестве имени, ныкает его в нужный каталог. Дела на пять минут. Вы наверно ошиблись у меня с этим проблем нет. Это вы ТС объясните. С уважением. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2016, 05:56 |
|
Архивирование БД помесячно(каждый раз в новую базу)
|
|||
---|---|---|---|
#18+
Доброго времени суток! (потерялся, т.к. часовые пояса рабочего времени не совпадают :) +6 МСК :) писал вчера в конце рабочего дня... ) попробую ответить всем поочередно... ROI "Если каждый день перезатираются значения, то как они накопяться за месяц? Вопрос 2 - версия Access? Вопрос 3 - База разделенная или все в одном файле? Пока достаточно. С уважением." 1. накопления падают каждую минуту (по нескольким ID), новые значения пишутся в конец по дате и времени... старые значения постепенно исчезают (вытираются), т.к. пишет все это дело OPC-сервер, у него стоит жесткое ограничение по времени, по сроку хранения (2 месяца), то есть новые значения пишутся, а ранние значения уходят... ну как то так... не знаю как еще объяснить... (выложу попозже структуру БД) 2. 2007 3. База - все в одном файле mdb Далее опишу БД (например база температур наружного воздуха за 2 месяца по настоящее время, по нескольким объектам): в БД 3 таблицы 1. TagTable 2. FloatTable 3. StringTable (в работе не участвует, пустая, но она создается, т.к. ее создает OPC-сервер) в скринах выложу 2 таблицы участвующие в работе... Akina "Простейший механизм - это тупое копирование БД с изменением её имени, и последующей, если надо, чисткой "лишних" записей. Можно при определённых условиях даже клиентов не отключать..." руками надоело это делать, поэтому хочется автоматизировать... Tarasios, ROI "ЮраСка, я на форуме уже упоминал инструмент резервного копирования cobian backup. Бесплатно, множество настроек и возможностей. Подойдёт?" что то не могу найти конкретной темы... ткните, пожалуйста, где почитать об этом... на первый взгляд подходит... Только нужно будет допиливать, чтобы выбирал именно предыдущий месяц. "ROI, ну а в чём проблема то? Делается отдельный файл базы. Из основной базы по кнопочке, или по условию (скажем, наступление каждого первого числа месяца) делаются такие операции: 1. Удаляются таблицы из доп. базы 2. В основной базе по запросу делается выборка за период, результат кидается в доп. базу. 3. Копировалка создаёт файл (в чистом виде или сжатом, архивном) с датой (и временем) создания в качестве имени, ныкает его в нужный каталог. Дела на пять минут." 1. удалять из основной не нужно, а нужно чтобы каждый месяц ложился в свой файл и назывался например "201608" (август) или "201609" (сентябрь, который должен упасть в свой файл 1-го октября...) и т.д. 2. именно так ;) 3. да Дела на пять минут, для профи... я к сожалению дилетант в этом... поэтому и пришел сюда :) ну и про бэкапы.... бэкапы баз данных сделать, не долго, да и это не проблема вовсе... базы небольшие, самая большая разрастается до 120 мб максимум, а так как она перезатирается, то больше не вырастает... я в скрине выложил одну из многочисленных баз, таких у меня пока 8, через месяц будет в 2 раза больше и т.д. большая система, которая собирает показания с разных датчиков..., отсюда из этих баз строится система работы с отчетностью на ASP; внутренним софтом OPC-сервера строятся по запросам пользователей тренды (графики), - данные подгружаются опять же из оперативной базы сроком в 2 месяца...там дальше настройки... посуточно, почасово и т.д., все очень гибко... Оперативные отчеты работают на основе этой базы (я ее называю "оперативная" - 2 месяца), относительно быстро происходит выборка... встал вопрос о создании системы архивной отчетности, - подобие оперативным отчетам, только данные должны браться из архивных баз разделенных по месяцам.... вот как то так все... кажется на все ответил... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2016, 06:33 |
|
Архивирование БД помесячно(каждый раз в новую базу)
|
|||
---|---|---|---|
#18+
Почитал про спец ПО К сожалению copian backup не подойдет в моем случае, т.к. нужно выборку делать за 1 месяц, а у меня оперативная база в 2 месяца (это необходимость, ее не обойти) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2016, 06:46 |
|
Архивирование БД помесячно(каждый раз в новую базу)
|
|||
---|---|---|---|
#18+
ЮраСка1. накопления падают каждую минуту (по нескольким ID), новые значения пишутся в конец по дате и времени... старые значения постепенно исчезают (вытираются), т.к. пишет все это дело OPC-сервер, у него стоит жесткое ограничение по времени, по сроку хранения (2 месяца), то есть новые значения пишутся, а ранние значения уходят... ну как то так... не знаю как еще объяснить... (выложу попозже структуру БД) Это что за зверь OPC-сервер который все режет? И получается что Access просто клиент? Чем дальше в лес, тем толше партизаны ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2016, 07:41 |
|
Архивирование БД помесячно(каждый раз в новую базу)
|
|||
---|---|---|---|
#18+
ROIЮраСка1. накопления падают каждую минуту (по нескольким ID), новые значения пишутся в конец по дате и времени... старые значения постепенно исчезают (вытираются), т.к. пишет все это дело OPC-сервер, у него стоит жесткое ограничение по времени, по сроку хранения (2 месяца), то есть новые значения пишутся, а ранние значения уходят... ну как то так... не знаю как еще объяснить... (выложу попозже структуру БД) Это что за зверь OPC-сервер который все режет? И получается что Access просто клиент? Чем дальше в лес, тем толше партизаны SCADA системы :) (Человеко-машинный интерфейс - "HMI" по ихнему :) ) "SCADA Программный пакет, предназначенный для разработки или обеспечения работы в реальном времени систем сбора, обработки, отображения и архивирования информации об объекте мониторинга или управления. SCADA может являться частью АСУ ТП, АСКУЭ, системы экологического мониторинга, научного эксперимента, автоматизации здания и т. д. SCADA-системы используются во всех отраслях хозяйства, где требуется обеспечивать операторский контроль за технологическими процессами в реальном времени. Данное программное обеспечение устанавливается на компьютеры и, для связи с объектом, использует драйверы ввода-вывода или OPC/DDE серверы. Программный код может быть как написан на языке программирования, так и сгенерирован в среде проектирования. Википедия" в общем было определено специальными людьми, что БД оперативная должна быть именно 2 месяца :) не больше! не меньше! :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2016, 09:12 |
|
Архивирование БД помесячно(каждый раз в новую базу)
|
|||
---|---|---|---|
#18+
ЮраСкаROIпропущено... Это что за зверь OPC-сервер который все режет? И получается что Access просто клиент? Чем дальше в лес, тем толше партизаны SCADA системы :) (Человеко-машинный интерфейс - "HMI" по ихнему :) ) "SCADA Программный пакет, предназначенный для разработки или обеспечения работы в реальном времени систем сбора, обработки, отображения и архивирования информации об объекте мониторинга или управления. SCADA может являться частью АСУ ТП, АСКУЭ, системы экологического мониторинга, научного эксперимента, автоматизации здания и т. д. SCADA-системы используются во всех отраслях хозяйства, где требуется обеспечивать операторский контроль за технологическими процессами в реальном времени. Данное программное обеспечение устанавливается на компьютеры и, для связи с объектом, использует драйверы ввода-вывода или OPC/DDE серверы. Программный код может быть как написан на языке программирования, так и сгенерирован в среде проектирования. Википедия" в общем было определено специальными людьми, что БД оперативная должна быть именно 2 месяца :) не больше! не меньше! :) Про ситемы реального времени я знаю не по наслышке. Вы скажите как тут Access прикручен? С уважением. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2016, 09:17 |
|
Архивирование БД помесячно(каждый раз в новую базу)
|
|||
---|---|---|---|
#18+
ROIЮраСкапропущено... SCADA системы :) (Человеко-машинный интерфейс - "HMI" по ихнему :) ) "SCADA Программный пакет, предназначенный для разработки или обеспечения работы в реальном времени систем сбора, обработки, отображения и архивирования информации об объекте мониторинга или управления. SCADA может являться частью АСУ ТП, АСКУЭ, системы экологического мониторинга, научного эксперимента, автоматизации здания и т. д. SCADA-системы используются во всех отраслях хозяйства, где требуется обеспечивать операторский контроль за технологическими процессами в реальном времени. Данное программное обеспечение устанавливается на компьютеры и, для связи с объектом, использует драйверы ввода-вывода или OPC/DDE серверы. Программный код может быть как написан на языке программирования, так и сгенерирован в среде проектирования. Википедия" в общем было определено специальными людьми, что БД оперативная должна быть именно 2 месяца :) не больше! не меньше! :) Про ситемы реального времени я знаю не по наслышке. Вы скажите как тут Access прикручен? С уважением. с экрана живые (реальные) показания падают в базу... и т.д. З.Ы. sql использовать нет возможности... да и в Access ничем не хуже... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2016, 10:30 |
|
Архивирование БД помесячно(каждый раз в новую базу)
|
|||
---|---|---|---|
#18+
ЮраСка, Код: vbnet 1. 2. 3. 4. 5.
Зачем же руками??? Речь идёт про автоматическое архивирование. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2016, 10:40 |
|
Архивирование БД помесячно(каждый раз в новую базу)
|
|||
---|---|---|---|
#18+
ЮраСкас экрана живые (реальные) показания падают в базу... и т.д. З.Ы. sql использовать нет возможности... да и в Access ничем не хуже... Ничего не пойму. Как понять "с экрана падают в базу" Да Access не хуже. Как вы им данные "достаете" Вы внятно можете объяснить всю связку? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2016, 10:42 |
|
Архивирование БД помесячно(каждый раз в новую базу)
|
|||
---|---|---|---|
#18+
ЮраСкаруками надоело это делать, поэтому хочется автоматизировать... Ок. Раз уж ЮраСкая к сожалению дилетант в этом... поэтому и пришел сюда то предлагаю реализовать следующее: 1) Пишется VBS-скрипт, который реализует создание новой БД и копирование в неё информации за прошедшие месяцы. Само собой, он как минимум проверяет, что такой БД пока не существует, а как максимум - что вся информация за целевой месяц из основной БД имеется в резервной. 2) Создаётся задание планировщика на запуск этого скрипта первого числа каждого месяца, с запуском при пропуске срока задания. Крайне желательно, чтобы это задание выполнялось на той физической машине, в файловой системе которой располагается исходная база данных. 3) Ежемесячно контролируется выполнение скрипта, создание очередной архивной БД и корректное копирование в неё требуемой информации. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2016, 11:11 |
|
Архивирование БД помесячно(каждый раз в новую базу)
|
|||
---|---|---|---|
#18+
AkinaЮраСкаруками надоело это делать, поэтому хочется автоматизировать... Ок. Раз уж ЮраСкая к сожалению дилетант в этом... поэтому и пришел сюда то предлагаю реализовать следующее: 1) Пишется VBS-скрипт, который реализует создание новой БД и копирование в неё информации за прошедшие месяцы. Само собой, он как минимум проверяет, что такой БД пока не существует, а как максимум - что вся информация за целевой месяц из основной БД имеется в резервной. 2) Создаётся задание планировщика на запуск этого скрипта первого числа каждого месяца, с запуском при пропуске срока задания. Крайне желательно, чтобы это задание выполнялось на той физической машине, в файловой системе которой располагается исходная база данных. 3) Ежемесячно контролируется выполнение скрипта, создание очередной архивной БД и корректное копирование в неё требуемой информации. а в коде есть где то условие, что он выбирает именно месяц... ? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2016, 11:17 |
|
Архивирование БД помесячно(каждый раз в новую базу)
|
|||
---|---|---|---|
#18+
ЮраСкаа в коде есть где то условие, что он выбирает именно месяц... ?Берём тупо предыдущий месяц, и всё... Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2016, 11:26 |
|
Архивирование БД помесячно(каждый раз в новую базу)
|
|||
---|---|---|---|
#18+
ROIЮраСкас экрана живые (реальные) показания падают в базу... и т.д. З.Ы. sql использовать нет возможности... да и в Access ничем не хуже... Ничего не пойму. Как понять "с экрана падают в базу" Да Access не хуже. Как вы им данные "достаете" Вы внятно можете объяснить всю связку? Если по простому, то примерно вот так будет: Датчик -> контроллер -> SCADA система -> -> 1. На экраны пользователям (операторы и т.д.) -> 2. В БД пишет... Инициатор SCADA система, через ODBC. И выставляется частота записей: - по изменению значения, - 1 раз в промежуток времени (раз в минуту, раз в секунду, 2 раза в минуту.... и т.д. тут уже как душе угодно, в нашем случае ОДИН РАЗ в минуту), - еще есть непрерывная запись, то есть если железо серверов где берет и куда пишет позволяет, то пишет каждую секунду! таким образом, в нашем случае, накапливается 2 месяца, потом перезатирает более ранние значения... например на скрине начальные записи стоят 30.07.2016, завтра на этом месте будет 31.07.2016 .... и т.д. далее из БД -> -> в оперативную отчетность -> в тренды SCADA системы (графики, построенные по значениям из БД) -> в архивные БД (в данный момент в разработке, об этом и разговор весь...) ну вот как то так... если что упустил, спрашивайте... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2016, 11:26 |
|
Архивирование БД помесячно(каждый раз в новую базу)
|
|||
---|---|---|---|
#18+
AkinaЮраСкаа в коде есть где то условие, что он выбирает именно месяц... ?Берём тупо предыдущий месяц, и всё... Код: vbnet 1.
а куда вставить? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2016, 11:28 |
|
Архивирование БД помесячно(каждый раз в новую базу)
|
|||
---|---|---|---|
#18+
Ну или чтобы побыстрее работало, (только при условии, что поле [datetime] индексированное), собираем даты первого дня текущего и предыдущего месяца и пишем 2 неравенства: Код: vbnet 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2016, 11:31 |
|
|
start [/forum/topic.php?fid=45&msg=39317343&tid=1613108]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 145ms |
0 / 0 |