Firebird где хранятся базы
Этот раздел описывает различия при установке серверов баз данных.
Для пользователей, ранее использовавших СУБД MS SQL и являющихся новичками в использовании СУБД Firebird , вероятно, простота установки СУБД Firebird будет некоторым приятным сюрпризом. Процесс установки не представляет никаких проблем, Вы можете устанавливать соединение с базой данных сразу после установки СУБД Firebird . Обратите внимание, что по умолчанию именем администратора СУБД Firebird является SYSDBA , и пароль masterkey (пароль при установке в ОС Linux генерируется произвольный или запрашивается у пользователя при установке — прим. перев.); в СУБД MS SQL соответственно sa и пустой пароль.
Заметьте, что Вам не нужно осуществлять выбор используемого набора символов и способ их сортировки при установке СУБД Firebird . В СУБД MS SQL Вы не только должны указать эту информацию при установке, но и, в случае необходимости изменения, Вам необходимо будет переустановить СУБД и указать новые параметры. В дополнение к этому, другие программные пакеты, такие как Microsoft Commerce Server , могут отказываться работать с СУБД MS SQL, если Вы выберите неверные значения параметров.
В отличие от СУБД MS SQL 6.5, СУБД Firebird не имеет понятия « утройства » (devices). Все данные хранятся в обычных файлах доступной файловой системы. Имейте в виду, что Вы не сможете использовать « чистые » разделы диска (raw disk partition, разделы без файловой системы) для хранения Ваших баз данных.
Важное замечание : СУБД MS SQL использует механизм журналирования (логи, logs) для сохранения целостности баз данных, в том числе при непредвиденных сбоях. СУБД Firebird использует многоверсионную архитектуру (multi-generation architect, MGA) для создания копии (версии) записи « на месте », если это необходимо (например, при модификации); но запись новой версии записи на диск может быть отложена, что может дать некоторый выигрыш в скорости работы СУБД. Для каждой базы данных Вы можете установить атрибут Forced Writes (принудительная запись) — рекомендуется устанавливать этот атрибут, чтобы быть уверенным в целостности базы данных в различных чрезвычайных ситуациях, таких как исчезновение питания и т.п. В случае уверенности в конфигурации оборудования, Вы можете не устанавливать этот атрибут (например, для выделенного сервера Linux , наличии источников бесперебойного питания и т.д.).
| Firebird Documentation Index → Переход с MS SQL на Firebird → Установка сервера |
Firebird где хранятся базы
СУБД MS SQL 6.5 использует устройства (devices), которые могут представлять собой файлы или « чистые » разделы (raw partitions, разделы без файловой системы), чтобы работать с данными. Это ведет к сложным для поддержки системам. СУБД MS SQL 7 и MS SQL 2000 используют обычные файлы вместо устройств. Для каждой базы данных создаются, как минимум, два файла: один, собственно, для хранения данных, и второй — для сохранения журнала выполненных транзакций.
СУБД Firebird не использует отдельный журнал для сохранения выполненных транзакций, и поэтому использует единственный файл для хранения всех данных.
Оператор CREATE DATABASE (« создать базу данных ») в СУБД Firebird проще, чем аналогичный оператор в СУБД MS SQL. Обратитесь к справочнику SQL для подробного описания всех возможностей.
Существенное различие в модели управления файлами — это использование СУБД групп файлов (filegroups) для деления базы данных на несколько наборов файлов по определенному принципу. СУБД Firebird так же может работать с разбитой на несколько файлов базой данных, но модель работы с файлами более проста (в смысле принципа, из которого производится разбиение на файлы — прим. перев.).
Дополнительная возможность, предоставляемая СУБД Firebird — это использование теневых файлов (shadow files). Теневые файлы являются немедленной копией исходной базы данных. Обычно они используются для быстрого получения актуальной копии. В СУБД MS SQL нет такой функции, хотя СУБД MS SQL 2000 имеет похожую функцию при использовании журналов, перемещенных между серверами, и репликации.
Администрирование пользователей
СУБД MS SQL 6.5 предоставляет два объекта для управления: « логины » и « пользователи ». « Логин » определяет комбинацию имени пользователя и пароля для досутпа к серверу базы данных; « пользователь » определяет права доступа для каждой базы данных. « Логины » отображаются на « пользователей » в базе данных.
В СУБД MS SQL 7 добавлен новый объект управления группами пользователей — « роли ». « Роль » является хранилищем прав. Некоторые « роли » являются предопределенными, например, « оператор создания копии базы данных » или « администратор базы данных ».
СУБД Firebird предоставляет похожую модель, но не включает в нее « логины ». Пользователи сообщают серверу свое имя, пароль и « роль », с правами которой они хотят работать. Существует одна общая база данных для всего сервера баз данных, в которой хранится информация обо всех пользователях сервера (их имена и пароли); информация о « ролях » и предоставленных каждому пользователю правах хранится в каждой конкретной базе данных. (Исходный документ имеет здесь неточность: там сказано, что в базе данных безопасности/пользователей хранится так же информация о « ролях » и разрешениях/запретах для каждого пользователя. Так же версия 2.0 СУБД Firebird вносит много изменений в модель управления пользователями. — прим. перев.)
В обоих СУБД считается хорошей практикой получать доступ к ресурсам через хранимые процедуры (stored procedures), и предоставлять доступ к данным только этим хранимым процедурам. (Это утверждение спорно и не может слепо применяться во всех случаях, по крайней мере, относительно СУБД Firebird . — прим. перев.)
Операции резервного копирования и восстановления
СУБД Firebird использует более простую модель создания резервных копий баз данных и восстановления из них по сравнению с СУБД MS SQL, хотя в качестве жертвы здесь принесена гибкость. Резервное копирование может выполняться с помощью консольных (из командной строки) и графических утилит, в любом случае производится резервное копирование всей базы данных. Операция восстановления также восстанавливает всю базу данных. Нет возможности создания резервной копии только изменений, произошедших с момента создания последней резервной копии, или восстановления изолированного набора транзакций. (В СУБД Firebird 2.0 появилась возможность создания инкрементных резервных копий. — прим. перев.)
Обратите внимание, что при создании резервной копии базы данных СУБД Firebird существует важный параметр, определяющий формат создаваемой резервной копии: платформозависимый или платформонезависимый (переносимый). Создание резервной копии в переносимом формате позволяет администратору базы данных создать ее резервную копию в одной операционной системе, а затем восстановить базу данных из этой копии в другой операционной системе. Обычно такая возможность используется, например, при разработке приложения на Windows , а затем переносе базы данных на более мощный сервер Linux . (Так же, это рекомендуемый способ переноса баз данных с одного компьютера на другой даже для одной операционной системы: простое копирование файла базы данных не рекомендуется. — прим. перев.)
| Firebird Documentation Index → Переход с MS SQL на Firebird → Администрирование |
Инструкция по переносу сервера Firebird
Данная инструкция предназначена для случая, когда на предприятии большое количество рабочих мест и файлы gedemin.exe находятся непосредственно на рабочих местах. Если gedemin.exe вызывается из общей папки и там же находится файл databases.ini, то конфигурирование службы WINS не имеет большого смысла.
Файл базы данных: d:\bases\database.fdb Старый сервер: old_server, ip address: 192.168.0.1 Версия Firebird: 2.5
Все клиенты подключаются по имени сервера и пути к базе данных. Строка подключения:
old_server:d:\bases\database.fdb
Надо перенести базу данных на новый сервер в локальной сети предприятия:
Новое расположение файла бд: f:\data\new_base.fdb Новый сервер: new_server, ip address: 192.168.0.23 Версия Firebird: 3.0
1. Подготовительный этап
- На сервере контроллера домена открываем конфигурирование службы имен [WINS] и создаем алиас db_server с адресом 192.168.0.1 (это адрес существующего, старого сервера).
- На старом сервере базы данных, в папке Firebird 2.5, создаем файл aliases.conf следующего содержания:
db = d:\bases\database.fdb
- На рабочих местах меняем строку подключения к базе данных. Новая строка:
db_server:db
2. Установка сервера Firsbird 3
На новом компьютере устанавливаем сервер Firebird 3 и настраиваем его параметры.
3. Перенос файла базы данных
Если производительность старого сервера позволяет, то делаем бэкап базы данных и переносим его на новый сервер. Если старый сервер слишком медленный, то можно поступить следующим образом:
- Подключаемся из Гедымина под Администратором и отключаем всех пользователей.
- Чтобы пользователи не подключились в момент копирования файла базы данных, останавливаем службу Firebird 2.5.
- Копируем файл базы данных на новый сервер.
- На новом сервер воспользуемся переносимой локальной версией Гедымин: Разработчик (скачать можно по этой ссылке).
- Подключимся к скопированному файлу с помощью встроенного сервера. Для этого при указании пути к базе данных поле сервер не заполняем.
- Создадим бэкап базы данных.
4. Восстановление базы данных из архива
Восстанавливаем базу данных на новом сервере из файла бэкапа с помощью Firebird 3. Для этого можно воспользоваться локальной копией Гедымина из предыдущего шага, только теперь при указании пути к файлу бд пропишем имя сервера. Не забываем про количество страниц при распаковке файла базы данных!
5. Настройка databases.conf и службы WINS
- В конфигурации WINS меняем для алиаса db_server адрес на 192.168.0.23
- В папке сервера Firebird 3 создаем файла databases.conf и прописываем в нем:
db = f:\data\new_base.fdb
6. Обновление gedemin.exe
На рабочих местах или в общей папке, откуда запускается Гедымин в локальной сети, обновляем gedemin.exe и сопутствующие ему файлы. Всегда актуальный архив можно взять по этой ссылке.
Подключаемся и тщательно проверяем работоспособность кода.
- Firebird
- Школа системного администратора
Firebird где хранятся базы
Далее в таблице приводится принятое по умолчанию расположение компонентов на диске для Windows и Linux систем.
При основательной переработке кода, начатой в версии 1.5, были удалены жесткие привязки, используемые в InterBase®, а также переименованы многие компоненты. В результате Firebird 1.5 позволяет (потенциально) одновременно с собой присутствовать запущенному серверу InterBase®, обеспечивая возможность обоим серверами не слушать один и тот же порт TCP/IP. Если Вам необходима такая возможность, обратитесь к разделу Configuring the port service в Release Notes, прилагаемых к Firebird (см. директорию doc ).
Таблица 2. Компоненты Firebird 1.5 и их расположение
Расположение по умолчанию
32-bit and 64-bit Windows
(Windows 95, 98, ME, NT, 2000, XP, . )
Директория, в которую устанавливается пакет
(далее обозначается как )
fbserver.exe (SS) or fb_inet_server.exe (CS)
Утилиты командной строки
gbak.exe , gfix.exe , gstat.exe , etc.
Образец базы данных
Библиотеки пользовательских функций (UDF)
ib_udf.dll и fbudf.dll
(для поддержки старых приложений, опциально, присутствует gds32.dll )
(копия, опционально, располагается в системной директории Windows– см. замечание ниже)
Linux и, возможно, другие UNIX дистрибутивы
Директория, в которую устанавливается пакет
(далее обозначается как )
fbserver (SS) or fb_inet_server (CS)
Утилиты командной строки
gbak , gfix , gstat , etc.