Восстановление базы данных

Восстановление базы данных программы клиент-банк ОАО «Белинвестбанк» (Способ №3)

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

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

Понеслось…

  1. Делаем выгрузку справочника контрагентов стандартными средствами, зайдя в справочник выбираем экспорт, в выборе вида выгрузки выбираем 1 пункт.
  1. Уточняем, по какой период оставить платежи клиентам. Заходим Задачи – Администратор – Сервис – Удаление запросов

Восстановление базы данных программы клиент-банк ОАО "Белинвестбанк"

Заходим в спец.настройки там галочку снимаем с первого пункта и ставим все остальные

Восстановление базы данных программы клиент-банк ОАО "Белинвестбанк"

Указываем дату по какой период, например чтобы данные были за последний год только, то указываем дату до какой все почистить.

Тип запроса – выбираем все

Состояние запроса – выбираем все

Нажимаем Выполнить.

Нажимаем да.

Восстановление базы данных программы клиент-банк ОАО "Белинвестбанк"

  1. Теперь там же удаляем все не нужное из базы, типа выписок состояний , курсов валют и пр…

В спец. настройках тоже самое выбираем как и в пункте 2.

Потом выбираем дату текущую в настройках

Потом выбираем что грохнем

Тип запроса – ставим прички на что будем удалять, обычно оставляют только платежи

Состояние запроса – ставим прички на что будем удалять, обычно оставляют только платежи

Жмем выполнить

Нажимаем да.

Восстановление базы данных программы клиент-банк ОАО "Белинвестбанк"

 

Далее выходим из программы.

 

  1. Запускаем DBENG6.EXE в папке Base, со следующими параметрами

Восстановление базы данных программы клиент-банк ОАО "Белинвестбанк"

  1. Запускаем сайбейс централ scview.exe

Восстановление базы данных программы клиент-банк ОАО "Белинвестбанк"

Заходим в Tools – Connect (если нет коннекта, то нужно подключить плагин, какой уточнить в службе поддержки)

Восстановление базы данных программы клиент-банк ОАО "Белинвестбанк"

User ID обычно у нас все dba

Password нужен пароль клиента на вход в программу под этим пользователем

Жмем ОК

Должно получиться

Восстановление базы данных программы клиент-банк ОАО "Белинвестбанк"

Если при открытии в папке таблицы нет кучи таблиц, то нужно

Восстановление базы данных программы клиент-банк ОАО "Белинвестбанк"

На базе правой кнопкой мыши  и выбираем фильтер обжект и ставим птички везде

Восстановление базы данных программы клиент-банк ОАО "Белинвестбанк"

После этого должны появится таблицы

Восстановление базы данных программы клиент-банк ОАО "Белинвестбанк"

На любой таблице правой кнопкой мыши тискаем и выбираем Unload

Восстановление базы данных программы клиент-банк ОАО "Белинвестбанк"

Тут нужно выделить 4 таблицы: — уточнить в службе поддержке!!!

HBQuery

HBQueryAnswer

HBQueryInputParam

HBAccounts

Восстановление базы данных программы клиент-банк ОАО "Белинвестбанк"

Восстановление базы данных программы клиент-банк ОАО "Белинвестбанк"

Восстановление базы данных программы клиент-банк ОАО "Белинвестбанк"

Восстановление базы данных программы клиент-банк ОАО "Белинвестбанк"

Восстановление базы данных программы клиент-банк ОАО "Белинвестбанк"

Создаются ДАТ файлы

Восстановление базы данных программы клиент-банк ОАО "Белинвестбанк"

 

6. Останавливаем сервер

Переносим нашу базу куда нибуть

Подлаживаем в программу файл БД из инсталляции, ЛОГ файл удалить

Стартуем базу опять – пункт 4.

Восстановление базы данных программы клиент-банк ОАО "Белинвестбанк"

 

 

  1. Заходим в программу клиент-банк, и в запросе номера версии ищем запрос, поставить дату с начала года, появится запрос, о сообщении новера версии программы, его удаляем, потом (это когда ругается что ID таблицы HBQuery не уникален).

Запускаем сайбейс централ scview.exe

Коннектимся

Имя dba

Пароль sql

На базе правой кнопкой мышки и выбираем Open Interactive SQL

Восстановление базы данных программы клиент-банк ОАО "Белинвестбанк"

Запускается

Восстановление базы данных программы клиент-банк ОАО "Белинвестбанк"

File – open – указываем файл

Восстановление базы данных программы клиент-банк ОАО "Белинвестбанк"

Нужно удалить 4 строки

Восстановление базы данных программы клиент-банк ОАО "Белинвестбанк"

SET OPTION Statistics          = 3

Go

SET OPTION describe_java_format= ‘binary’

Go

Восстановление базы данных программы клиент-банк ОАО "Белинвестбанк"

Нажимаем далее экзекуте

Процесс пошел

Восстановление базы данных программы клиент-банк ОАО "Белинвестбанк"

Все закрываем все, выключаем сервер

Заходим в программу стандартным способом и прописываем в паспорте программы все данные правильные клиента, настройки связи и электронно цифровой подписи, потом импортируем справочники клиентов. Все проверяем и работаем, не забываем делать резервные копии базы данных.

Восстановление базы данных программы клиент-банк ОАО «Белинвестбанк» (Способ №2)

Сегодня рассмотрим второй способ восстановления базы данных клиент-банка ОАО «Белинвестбанк», этот способ уже будет по сложнее чем первый, но и с ним многие справятся, а вот третий уже будет сложным. И так приступим.

Если первый способ не подошел по каким-то неведомым нам причинам, то берем в руки более тяжелое оружие и приступаем.

  1. Подготовка к восстановлению

1.1.   Необходимо закрыть все копии программы клиент-банк, закрыть сервера программы. Далее необходимо создать копию папки с установленной программой клиент-банк.

  1. Преобразование файла “Homebank.log” в sql-запрос

        2.1.   Приложение Sybase Central 3 запускается без инсталляции. Исполняемый файл – scview.exe (рис. 1).

Рис. 1

Рис. 1

2.2. После запуска программы подключаем модуль Adaptive Server Anywhere, который находится в динамически подключаемой библиотеке scasany6.dll (рис. 2). Для этого заходим в пункт меню “Tools \ Plug-ins \ Change \ Other \ Browse”.

Рис. 2

Рис. 2

2.3.   Подтверждаем все последующие выборы и в Sybase Central’е получаем пункт меню “Adaptive Server Anywhere”, в котором есть “Servises” и “Utilities”, в утилитах пункт меню нужный для выполнения работы называется “Translate Log”.

2.4.   Выполняем запуск утилиты “Translate Log” и по запросу указываем путь к файлу .\BASE\homebank.log (рис. 3).

 

Рис. 3

Рис. 3

2.5.   Указываем, куда положить sql-запрос (рис. 4).

Рис. 4

Рис. 4

2.6.   Продолжаем для всех запросов и всех пользователей (рис. 5).

Рис. 5

Рис. 5

2.7.   Пропускаем внутренние запросы. На всех последующих выборах по умолчанию подтверждаем (рис. 6). В итоге получаем файл “Homebank.sql”.

Рис. 6

Рис. 6

  1. Выполнение sql-запроса

 

3.1.   Удаляем нерабочую базу данных (файлы .\BASE\homebank.db и .\BASE\homebank.log). Далее необходимо в инсталляции программы найти папку “HBBackup”, в ней должен содержаться архив “Homebank.rar”, заходим в архив и там в каталоге «BASE» берем чистую базу homebank.db (либо найти этот же файл в резервной копии программы) и подкладываем в наш каталог.

3.2.   Запускаем сервер базы данных. Для этого заходим “Пуск \  Программы \ Системные Технологии \ Электронные платежи \ {Локальный сервер SQL Anywhere \ Сетевой сервер SQL Anywhere}”, или запускаем исполняемый файл “dbeng6.exe” в каталоге .\Base со следующими параметрами (рис. 7).

Рис. 7

Рис. 7

3.3.   Выполнение SQL-скрипт файла. Далее выполняем ‘Пуск’, ‘Выполнить’ (можете, по-своему, использовать пакетные файлы, файловые менеджеры, важен рабочий каталог сессии операционной системы и параметры, передаваемые приложению при запуске). Выполняем команду “D:\HomeBank\base\ISQL.EXE -S HBServer -P sql -U DBA -D HOMEBANK -i homebank.sql -o homebank_l”. Эту строку можно скопировать прямо из этого текста для локальной версии программы. При других именах сервера и базы заменить на них HBServer и HOMEBANK, соответственно. Параметры утилиты Isql следующие: -s – имя сервера базы данных; -p – пароль для пользователя с правами администратора; -u – пользователь с правами администратора; -d – имя базы данных клиента; -i – входящий sql-запрос (в данном случае файл “homebank.sql”); -o – файл временных транзакций.

На экране будет отображаться черное окно приложения ISQL, но скрипт на самом деле выполняется. Внутри папки BASE будет появляется лог-файл выполнения запросов homebank_l  и временный файл произвольного имени с текстом очередного выполняемого запроса. Можно видеть изменение размера HOMEBANK_L.

По завершении запросов скрипта исчезает черное окно приложения ISQL и перестает меняться размер HOMEBANK_L.  База заполнена.

Учтите что для больших БД может понадобится много времени, при базе объемом примерно в 500 Мб, может понадобится часа 3-4 или больше, будет зависеть от мощности компьютера и процессора (по моим наблюдения я рекомендую запускать восстановление на компьютерах с процессором Intel, быстрее идет процесс восстановления).

3.4.   Далее останавливаем сервер базы данных и запускаем программу клиент-банк. После запуска проверяем счета, запросы, параметры паспорта, криптозащиты и почты.

Если всё в порядке, то восстановление базы данных выполнено.

После процедуры восстановления необходимо сделать резервную копию файла базы данных “Homebank.db”, удалить файл “Homebank.log”, запустить приложение и проконтролировать его создание. В таком случае, в следующий раз, когда база данных будет повреждена, у вас будет резервная копия базы данных (файл “Homebank.db”) и файл с последующими транзакциями (“Homebank.log”).

Альтернативой данной работы является подкладывание взамен поврежденной базы данных homebank.db и лога к ней этих файлов из HBBackup\{Имя клиента в системе}\ddmmyyyy.rar.

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

Если справились, то хорошо, однако если работать программа стала ну очень медленно, то тогда уже придется перейти к третьему методу, иначе никак, если вы конечно хотите сохранить все предыдущие свои данные.

Восстановление базы данных программы клиент-банк ОАО «Белинвестбанк» (Способ №1)

Как-то пришлось столкнуться с необходимостью восстановления базы данных программы клиент-банк ОАО «Белинвестбанк», разработка «Системных технологий». Есть 3 способа это сделать, первый самый простой и будет понятен многим (конечно при условии, что у вас есть относительно свежая  и рабочая копия базы данных, а именно файлы HOMEBANK.LOG и HOMEBANK.DB).

И так сегодня способ № 1 — самый простой и быстрый, справиться с ним большинство.

  1. Закрыть программу «Клиент-Банк» и по возможности все другие запущенные программы.
  2. Выгрузить  SQL-сервер (если не закрылся сам) и на всякий случай SQL-сервера других банков (если у вас сетевая версия, соответственно клиентским машинам отключится).
  3. Переходим в каталог \Homebank\base (обычно это стандартное название каталогов):
  • Сохраняем (на всякий случай)  в надёжном месте файлы HOMEBANK.DB  и HOMEBANK.LOG.
  • Вместо повреждённого файла базы  данных HOMEBANK.DB необходимо подложить одноимённый файл из резервной копии или  из инсталляции Setup-а, с которого у клиента производилась первичная установка «Клиент-Банка» (можно скачать на официальном сайте банка https://www.belinvestbank.by).
  • Запустить  \HomeBank\base\DBENG6.EXE и заполнить поля в окне:
  • По кнопке «Browse» указать путь к файлу базы данных.
  • Server  name – можно указать любое имя . Это будет имя сервера, который запускается для восстановления  информации  из  HOMEBANK.LOG   в  подложенном нами файле базы  данных HOMEBANK.DB.
  • Cache size – зависит от количества оперативной памяти в  компьютере.  Можно поставить 256М.
  • Options —  «-a HOMEBANK.LOG» (без кавычек).
Восстановление базы данных программы клиент-банк ОАО "Белинвестбанк" (Способ №1)

Восстановление базы данных программы клиент-банк ОАО «Белинвестбанк» (Способ №1)

  • Нажать «Ок». Откроется окно сервера и начнётся заполнение файла HOMEBANK.DB  из HOMEBANK.LOG.

Далее длительность процесса зависит от степени заполнения  исходного HOMEBANK.DB – если файл взят из Setup-а, то он пустой и на его заполнение  может потребоваться до 30 минут. Поэтому лучше взять файл из резервной копии, которые очень желательно создавать в процессе работы с программой «Клиент-Банк».

Когда заполнение завершится,  закроется окно SQL-сервера. Можно попробовать зайти в «Клиент-Банк» обычным способом.