Задача: Разобрать самим как файл бекапа базы данных «МИС Инфоклиника» распаковать:

На текущем месте работы, резервное копирование базы данных программы «МИС Инфоклиника» настраивала контора которая осуществляет поддержку работоспособности данного продукта в компании. И вот на выходе получается вот такой вот архив:

Имеется архив:

MEDCLINIKA_DATABASE.fbk.7z

Самое главное это не то программа и всё что к ней относится находится на поддержке, а вдруг поддержка закончится и руководство компании посчитает, что мы можем справиться собственными силами и все ляжет на плечи Вас, как системного администратора. И вот Важно быть готовым самим делать административные операции, плюс повышать свой профессиональный уровень и записывать в виде вот таких вот пошаговых инструкций на будущее. Поверьте мне будут те моменты когда Вы будете делать/вспоминать одну и туже ситуацию много раз если один раз не потратили время на документирование.

На заметку: Мой Вам совет не надейтесь на коллег, Вашего начальника (что он Вам поможет), всегда все делайте самим, а если кто что сделал не поленитесь разберите все что сделано опять же самим. Так у Вас не будет нештатных ситуаций.

На системе (в моем случае это Windows 10 Pro x64) где производим действия устанавливаем архиватор под архитектуру установленной операционной системы: 7z1805-x64.exe

Распаковываем данный архив либо через GUI, либо через консоль командной строки:

C:\WINDOWS\system32>cd /d "c:\Program Files\7-Zip"

Размер архива 7z: 960Mb

Файл после распаковки: MEDCLINIKA_DATABASE.fbk (размер запакованной базы: 9,88 Gib)

После на систему устанавливаем дистрибутив Firebird (у меня 3.0), т. к. текущий релиз “МИС Инфоклиника» работает на “Справка» – «О программе»

  • Версия МИ: 1.0
  • Версия модуля: 18.2-r51227
  • Внутренний номер: 18.12.17.1
  • Архитектура: Win64

а как мне известно со слов нашего курирующего разработчика производитель данного софта перешел на Firebird 3.0

Firebird (как наследник кода IB6) существует в 3 архитектурах – Classic (CS), SuperClassic (SC) и SuperServer (SS). Архитектура Classic использует отдельные процессы на каждого пользователя, SuperServer – отдельные threads на пользователя в общем процессе, SuperClassic – общий процесс, разделенный страничный кэш. SS обладает общим кэшем, который увеличивает производительность, а CS благодаря разделению пользователей по процессам обладает большей надежностью и масштабируется на несколько ядер ЦПУ. UDF для CS выполняются в адресном пространстве пользователя, а для SS – в общем адресном пространстве сервера. Обычно для проектов с числом активных соединений к БД более 10 выбирают Classic или SuperClassic, менее 10 – SuperServer.

Далее запускаю консоль командной строки обязательно с правами администратора:

C:\WINDOWS\system32>cd /d "c:\Program Files\Firebird\Firebird_3_0"

c:\Program Files\Firebird\Firebird_3_0>gbak -user SYSDBA -pas <PASSWORD> -c d:\MEDCLINIKA_DATABASE.fbk d:\MEDCLINIKA_DATABASE.fdb

вот что выдало на консоль:

gbak: ERROR:I/O error during "ReadFile" operation for file "D:\MEDCLINIKA_DATABASE.FDB"

gbak: ERROR: Error while trying to read from file

gbak: ERROR: Ошибка в данных (CRC).

gbak:Exiting before completion due to errors

то выше был архив за 19.12.2018, сейчас мне нужно восстановить от 15.01.2019

c:\Program Files\Firebird\Firebird_3_0>gbak -user SYSDBA -pas <PASSWORD> -c d:\Soft\info\MEDCLINIKA_DATABASE.fbk d:\Soft\info\MEDCLINIKA_DATABASE.fdb

а в этот раз ошибок нет.

Ключи для использования к утилите gbak брал: http://www.ibase.ru/gbak/

После размер распакованной базы с расширением fdb получился равным: 16,3 ГБ

На заметку: Быстрее это делать на сервере т. к. у него ресурсов больше.

А вот на сервере распаковка бекапа проходит без ошибок, видимо нужно делать md5sum файла бекапа и после его передачи куда либо по сети также делать проверку сумму md5sum с целью определения все ли в порядке с файлом

Итого: Задача выполнена, как распаковать резервную копию базы данных «МИС Инфоклиника».

На этом моя заметка завершена, с уважением автор блога Олло Александр aka ekzorchik.

От ekzorchik

Всем хорошего дня, меня зовут Александр. Я под ником - ekzorchik, являюсь автором всех написанных, разобранных заметок. Большинство вещей с которыми мне приходиться разбираться, как на работе, так и дома выложены на моем блоге в виде пошаговых инструкции. По сути блог - это шпаргалка онлайн. Каждая новая работа где мне случалось работать вносила новые знания и нюансы работы и соответственно я расписываю как сделать/решить ту или иную задачу. Это очень помогает. Когда сам разбираешь задачу, стараешься ее приподнести в виде структурированной заметки чтобы было все наглядно и просто, то процесс усвоения идет в гору. Также прошу на https://win.ekzorchik.ru https://lin.ekzorchik.ru https://net.ekzorchik.ru https://voip.ekzorchik.ru https;//home.ekzorchik.ru