Работа с базами данных

Рассмотрим работу с базами данных для двух вариантов системы: ELMA: Экспресс и ELMA:Стандарт. В версии ELMA:Экспресс используется бесплатная база данных FireBird, для разработки и администрирования Firebird - среда IBExpert. В качестве СУБД для ELMA:Стандарт используется MS SQL Server, а SQLServerManagementStudio, утилита из Microsoft SQL Server 2005 и более поздних версий - для конфигурирования, управления и администрирования всех компонентов MicrosoftSQLServer.

При установке программы ELMA создается новая база данных, файл с базой данных при этом находится:

· ELMA:Экспресс: файл БД по умолчанию находится в папке UserConfig, соответственно примерный путь до данного файла: C:\\ELMA3-Express\UserConfig. Файл с расширением fdb - файл базы данных. Файл с расширением fbk - резервный файл базы данных.

· ELMA:Стандарт: файл БД располагается в папке MSSQLserver, например: C:\ProgramFiles\MicrosoftSQLServer\MSRS11.MSSQLSERVER\MSSQL\DATA. Файл с расширением mdf -файл БД, файл ldf– лог-файл.

Внимание!
Резервное копирование базы данных автоматически не осуществляется. Его необходимо выполнять вручную, средствами СУБД. Во избежание потери информации рекомендуется периодически создавать резервные копии баз данных.

Рассмотрим основные операции с базами данных.

 

Резервное копирование базы данных Firebird

Операция резервного копирования для Firebird может быть выполнена различными способами, такими как использование bat-файла (https://www.elma-bpm.ru/kb/article-326.html), в среде IBExpert и др.

Важно
Необходимо перед началом резервного копирования добиться отключения всех активных подключений к БД посредством отключения БД (см. ниже) или остановки веб-сервера ELMA (или сервера IIS).

Рассмотрим бэкап в IBExpert: в меню Services выберите BackupDatabase. Появится окно Database Backup, в котором в закладке Backup Files уже установлены некоторые необходимые значения. Вы можете изменить имя файла копии и его размер. Как мы видим, резервная копия базы данных Firebird будет иметь расширение fbk.

В нижней части экрана в разделе Output из выпадающего списка выберите вариант On Screen, чтобы протокол копирования выводился на экран в закладке Output.

Щелкните по кнопке Start Backup. Текущей станет закладка Output, в которой будут отображены все сообщения копирования. Вы можете выполнить копирование в произвольное количество файлов копии. Для этого на панели инструментов щелкните по кнопке Append file и в появившейся строке установите нужные характеристики файла копии.

 

Операция резервного копирования для MS SQL

Операция резервного копирования базы данных MS SQL может быть выполнена несколькими способами, рассмотрим вариант резервного копирования в среде SQLManagementStudio. Для этого необходимо в списке баз данных выбрать необходимую БД и в контекстном меню выбрать пункт Задачи, далее выбрать команду Создать резервную копию.


Откроется диалоговое окно Резервное копирование базы данных. Заполните необходимые данные. Резервная копия базы данных при этом будет иметь расширение bak. В разделе Параметры (меню слева) можно сжать резервную копию БД при выборе поля Сжимать резервные копии.

Дополнительную информацию можно найти в Справке SQLManagementStudio.

 

Резервное копирование базы данных Oracle

Резервное копирование базы данных Oracle можно выполнить несколькими способами. Подробнее о них см. на странице Резервное копирование базы данных Oracle.

 

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

Операция восстановления базы данных производится из бэкап-файла и загружает данные из бэкап-файла в выбранную базу данных. Для Firebird - это файлы расширения fbk, для mssql - bak. При этом, не стоит путать понятия восстановления и подключения базы данных; подключение базы данных означает подключение самого файла БД, а бэкап подразумевает сначала процедуру восстановления из бэкап-файла. 

Важно

Перед процедурой восстановления в текущую базу данных остановите работу веб-сервера (либо службу IIS) или отключите БД (см ниже).

Операцию восстановления для Firebird также, как и бэкап, можно проводить например, через bat-файл (https://www.elma-bpm.ru/kb/article-326.html) и др.

Восстановление в IBExpert

Рассмотрим процедуру восстановления в IBExpert: для этого в меню Services выберите RestoreDatabase. Появится окно DatabaseRestore. В закладке Files уже установлены все необходимые значения. В поле Restore into указано Existing database.

Щелкните по строке FileName. В правой части поля появится кнопка с тремя точками. Щелкните по этой кнопке и в диалоговом окне открытия файла выберите файл копии. Отметьте флажком поле Replace existing database (заменять существующую базу данных).

Вы можете также изменить размер страницы базы данных, выбрав его из выпадающего списка Page Size.

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

Рекомендации по выбору размера страницы:

  • для дисковых накопителей с файловой системой NTFS ‑ 4096 байт. Перед этим следует убедиться, что размер кластера у NTFS-диска установлен в 4096 байт;
  • для дисков с FAT32 – 8192 или 16384 байта.

Щелкните по кнопке Start Restore. Появится окно ввода имени и пароля пользователя. Вы можете выполнить восстановление в качестве пользователя SYSDBA. База данных будет восстановлена с резервной копии.

Если вы хотите восстановить резервную копию в базу данных с другим именем, то в выпадающем списке Restore into нужно выбрать New database, в поле Database File нужно ввести полный путь к новому (или существующему) файлу базы данных, в поле File Name нужно ввести путь к файлу резервной копии или воспользоваться кнопкой обзора для выбора этого файла.

Восстановление в SQL Server

Операция восстановления может быть выполнена несколькими способами, рассмотрим вариант резервного копирования в среде SQLManagementStudio. Для этого необходимо выбрать пункт Базы данных и в контекстном меню выбрать пункт Задачи, далее выбрать команду Восстановить базу данных. Откроется диалоговое окно Восстановление базы данных. Заполните необходимые данные.

Дополнительную информацию можно найти в Справке SQLManagementstudio.

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

Восстановить базу данных Oracle можно несколькими способами. Подробнее о них см. на странице Восстановление из бэкапа базы Oracle.

 

Плановое обслуживание базы данных

Планы обслуживания используются для создания потока задач, необходимых для гарантии оптимальной производительности базы данных, ее регулярного резервного копирования и отсутствия в ней несогласованности. Прежде всего, планы обслуживания касаются настройки автоматического резервного копирования базы данных для исключения возможности потери данных. Оптимально проводить резервное копирование БД хотя бы еженедельно, но необходимо учитывать и производительность ваших систем.

В SQL данная операция осуществляется в SQL Management Studio через Мастер планов обслуживания:

1.Раскройте сервер.

2. Раскройте папку Управление.

3. Щелкните правой кнопкой мыши Планы обслуживания и выберите пункт Мастер планов обслуживания. Мастер запустится, и после этого можно будет создать план в соответствии с индивидуальными задачами обслуживания. Здесь вы можете настроить резервное копирование как баз данных, так и например журналов транзакции.

Для Firebird также можно настроить плановое обслуживание БД, используя bat-файл или другие команды. Способы настройки планового обслуживания рассмотрены в Интернете, например, на ресурсе: http://www.ibase.ru/devinfo/gbak.htm 

 

Отключение и подключение БД

Если база данных используется в сети несколькими клиентами, то во избежание повреждения или потери данных бывает полезным выполнить ее остановку, чтобы закрыть доступ клиентам к базе данных на время выполнения операции. При этом файл базы данных остается на своем месте, перестает быть активна только привязка файла базы данных к СУБД, что делает невозможной работу с этим файлом. Впоследствии базу данных можно присоединить и продолжить работу с ней.

В SQL данная операция выполняется по кнопке Задачи – Отсоединить. Операция подключения базы данных осуществляется по кнопке Задачи – Присоединить.

Firebird: для отключения БД нужно выбрать в меню Services | Database Shutdown. В появившемся окне из выпадающего списка выбрать одну из зарегистрированных в IBExpert баз данных или набрать имя файла базы данных. Выбрать режим: Forced, Deny Transaction или Deny Attachment, задать время ожидания и щелкнуть по кнопке Shutdown.

Чтобы перевести базу данных в активное состояние нужно выбрать в меню Services | Database Online, в появившемся окне выбрать из списка или ввести вручную имя файла базы данных и щелкнуть по кнопке Bring Online.

 

Подключение ELMA к базе данных

Информация о подключении сервера ELMA к базе данных указывается в конфигурационном файле configuration.config (папка ELMA/UserConfig). Соответственно, можно изменить путь до базы (для FDB) или имя БД (для SQL) в случае создания новой БД. Для FDB – новую БД необходимо также переместить в папку UserConfig.

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

В таком случае при запуске БД будет отображена форма активации, на которой требуется ввести ключ активации сервера, полученный у менеджера или партнёра компании ELMA.

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

Вся информация в данном окне может быть скопирована в буфер обмена с помощью кнопки Копировать в буфер. Для возвращения к предыдущему окну необходимо нажать на ссылку < Назад.

Настройка портов, учетных записей

Для версии ELMA:Экспресс можно изменять порт подключения к СУБД, а также учетные данные. Это можно осуществить в конфигурационном файле в папке UserConfig:

 

Использование журналов транзакции (или журналов резервного копирования)

Каждая база данных SQL Server содержит журнал, в который записываются все транзакции и все изменения базы данных, выполняемые каждой транзакцией. Журнал транзакций — это важная составляющая базы данных, и понимание и управление этим журналом является важной частью роли администратора базы данных

Можно создавать резервные копии Журналов транзакции, использую операции Резервное копирование, аналогично резервной копии БД, но в поле Тип выбрать Журналы транзакции, или используя Мастер планов обслуживания и также указать копирование журнала.

СУБД Firebird не использует отдельный журнал для сохранения выполненных транзакций, и использует единственный файл для хранения всех данных.

 

Передача базы данных в службу технической поддержки

Передача базы данных в службу технической поддержки позволяет наиболее оперативно решать ошибки, поэтому нужно относиться к этой процедуре с пониманием. При этом, оригиналы всех документов, файлы остаются у вас. Для передачи вы можете использовать файл БД (путь до файлов БД указан в начале статьи), однако предпочтительней использовать бэкап базы данных. Размер бэкапа гораздо меньше файла БД, его размер можно уменьшить еще больше, если добавить его в архив. Файлы бэкапов БД прекрасно поддаются архивированию. При создании архива используйте разбитие файла на части. Рекомендуем использовать части по 50-95 Мбайт. Файлы такого размера отлично загружаются на сайт технической поддержки http://support.elma-bpm.ru

На сайте технической поддержки прикрепляйте файлы как обычные вложения.

По запросу сотрудников технической поддержки иногда потребуется прислать ldf-файл (для MSSQL), когда это действительно необходимо, обычно - присылать файл с логами не нужно.