====== Firebird ======
{{:firebird:firebird-logo-90.png|}}
Firebird (FirebirdSQL) — кроссплатформенная система управления базами данных (СУБД), работающая на Mac OS X, Linux, Microsoft Windows и разнообразных Unix платформах.
Firebird используется в различных промышленных системах (складские и хозяйственные, финансовый и государственный сектора) с 2001 г. Это коммерчески независимый проект C и C++ программистов, технических советников.
Среди недостатков: отсутствие кэша результатов запросов, полнотекстовых индексов, значительное падение производительности при росте внутренней фрагментации базы. Над решением этих проблем неустанно работает сообщество.
http://www.firebirdsql.org/
Инструмент для проектирования БД: [[ibexpert:ibexpert|IBExpert]]
====== Архитектуры сервера ======
Существует четыре различных взаимозаменяемых архитектуры сервера:
* ClassicServer — один процесс на одно соединение; поддержка многопроцессорных машин.
* SuperServer — все соединения используют один процесс, меньшие требования к памяти при большем быстродействии; для многопроцессорных машин (до 3.0 для однопроцессорных).
* SuperClassic Server — один процесс, но свой поток на каждое соединение. Данная архитектура введена в версии 2.5.
* Embedded (встраиваемая) версия — весь движок содержится в одной библиотеке с именем клиентской библиотеки сервера, идеально подходит для однопользовательских систем, не требует инсталляции в Windows.
====== Установка ======
apt-get install firebird2.5-super
apt install firebird3.0-server
====== Запуск ======
service firebird2.5-super start
service firebird start
====== Настройка ======
По умолчанию сервер использует TCP порт **3050**.
''/etc/firebird/2.5/firebird.conf''
===== Пароль SYSDBA =====
В этом файле храниться праволь, заданный по умолчанию:
# Password for firebird SYSDBA user
#
# You may want to use the following commands for changing it:
# dpkg-reconfigure firebird2.5-super
# or
# dpkg-reconfigure firebird2.5-classic
#
# If you change the password manually with gsec, please update it here too.
# Keeping this file in sync with the security database is critical for the
# correct functioning of the init.d script and for the ability to change the
# password via `dpkg-reconfigure firebird2.5-super/classic\'
ISC_USER=sysdba
ISC_PASSWORD="masterkey"
===== Псевдонимы =====
# ------------------------------
# List of known database aliases
# ------------------------------
#
# Example Database:
#
employee.fdb = /usr/share/doc/firebird2.5-common-doc/examples/empbuild/employee.fdb
employee = /usr/share/doc/firebird2.5-common-doc/examples/empbuild/employee.fdb
===== Доступ к серверу извне =====
RemoteBindAddress =
===== Изменение пароля sysdba =====
По умолчанию пароль: ''masterkey''
Запуск консоли:
gsec -user sysdba -password <ПАРОЛЬ>
Внутри консоли:
GSEC> modify sysdba -pw <НОВЫЙ ПАРОЛЬ>
GSEC> quit
====== Создание резервной копии БД ======
gbak -b ФАЙЛ_БД -user ПОЛЬЗОВАТЕЛЬ -password ПАРОЛЬ ФАЙЛ_РЕЗЕРВНОЙ_КОПИИ_БД
Пример скрипта для создания резервной копии нескольких БД:
#!/bin/bash
DB_BACKUP="/srv/Backup"
DB_HOME="/srv/fb"
BACKUP_CMD="/usr/bin/gbak -B"
USER_PASSWD="-User SYSDBA -Password PASSWORD"
BACKUP_EXT=".bac"
FILE_TIME_STAMP=`date '+%d'` #День месяца
declare -a DB_FILE
DB_FILE[1]="db1.gdb"
DB_FILE[2]="db2.gdb"
DB_FILE[3]="db3.gdb"
for n in 1 2 3
do
BACKUP_FILE=$DB_BACKUP/${DB_FILE[$n]}_$FILE_TIME_STAMP$BACKUP_EXT
$BACKUP_CMD $DB_HOME/${DB_FILE[$n]} $USER_PASSWD $BACKUP_FILE
/bin/gzip $BACKUP_FILE -f
done
====== Восстановление БД ======
gbak -r ФАЙЛ_РЕЗЕРВНОЙ_КОПИИ_БД -user ПОЛЬЗОВАТЕЛЬ -password ПАРОЛЬ ФАЙЛ_БД
====== Интерактивная оболочка SQL ======
''isql-fb'' , в [[ms_windows:ms_windows|MS Windows]] ''isql.exe''
===== Пример соединения с БД =====
connect "СЕРВЕР:ПУТЬ_ИМЯ_ФАЙЛА_БД" user 'ПОЛЬЗОВАТЕЛЬ' password 'ПАРОЛЬ';
====== Решение проблем ======
===== Деинсталляция (MS Windows) =====
FIXME
unins000.exe /SILENT /NORESTART /SUPPRESSMSGBOXES
[[https://stackoverflow.com/questions/695580/how-can-i-perform-a-command-line-uninstall-of-firebird#695672|How can I perform a command line uninstall of Firebird? - Stack Overflow]]
====== Ссылки ======
[[https://www.firebirdsql.org/file/about/firebird-logo-90.png|Логотип]]
https://ru.wikipedia.org/wiki/Firebird
[[http://www.firebirdsql.org/manual/ru/firebird-database-documentation-ru.html|Документация по СУБД Firebird]]
[[http://www.firebirdsql.org/manual/ru/|Документация Firebird]]
[[http://www.ibase.ru/develop.htm|iBase.ru : Документация и статьи по InterBase и Firebird]]
[[https://www.ibase.ru/ibmyths/|iBase.ru : Мифы о Firebird и InterBase]]
[[http://www.ibase.ru/metadata_charset/|Обновление метаданных при переходе на Firebird 2.1]]
[[https://habrahabr.ru/post/267647/|Хабрахабр: Разработка → FirebirdSQL используют 11 компаний из списка ТОП-500 России ]]
[[https://habrahabr.ru/post/281865/|Хабрахабр: Разработка → Вышел Firebird 3.0]]
[[https://habrahabr.ru/post/304462/|Хабрахабр: Разработка → Книга про разработку приложений для Firebird ]]
[[https://habr.com/ru/post/476636/|Тюнинг Firebird и Linux для БД размером 691 Гб с 1000+ пользователей / Хабр]]
{{tag>DB SQL}}