Переход на Firebird 3.0. Многопользовательский режим
SYSDBA (обсуждение | вклад) (→Порядок перехода на Firebird 3) |
SYSDBA (обсуждение | вклад) |
||
| Строка 58: | Строка 58: | ||
# Подключитесь к базе данных под учетной записью Administrator и обновите ее структуру. | # Подключитесь к базе данных под учетной записью Administrator и обновите ее структуру. | ||
| − | == | + | ===Остановка работающей службы сервера Firebird 2.5=== |
| − | + | Перед установкой новейшей версии сервера Firebird 3 следует остановить службу Firebird 2.5. Конечно, если у вас нет необходимости в одновременном использовании двух разных версий сервера. Такой случай подробно рассматривается ниже. | |
# Открываем командную строку (Пуск - Выполнить - cmd) | # Открываем командную строку (Пуск - Выполнить - cmd) | ||
| − | # Переходим в | + | # Переходим в папку сервера. В зависимости от места установки это может быть '''c:\program files\firebird'''. Команды: |
## c: | ## c: | ||
## cd \program files | ## cd \program files | ||
| Строка 71: | Строка 71: | ||
# Выполняем команду: instsvc remove | # Выполняем команду: instsvc remove | ||
# Выполняем команду: instreg remove | # Выполняем команду: instreg remove | ||
| − | # Выходим из | + | # Выходим из папки сервера: cd .. |
| − | # | + | # Удаляем папку |
| − | + | Если вы устанавливали сервер с помощью инстолятора, то остановить службу и деинсталировать сервер можно через панель управления Windows. | |
| − | + | ||
| − | + | ===Установка и настройка сервера Firebird 3=== | |
| − | # Распаковываем архив в новый каталог, например, '''c:\program files\ | + | |
| − | # Переходим в этот каталог | + | Для установки вы можете скачать инстолятор с официального [http://firebirdsql.org сайта] или воспользоваться архивом с [http://web.firebirdsql.org/download/snapshot_builds/win/3.0/ текущей ночной сборкой]. Мы рекомендуем второй способ, так как официальный инстолятор обновляется не часто -- раз в 4-6 месяцев. |
| + | |||
| + | # Скачиваем архив | ||
| + | # Распаковываем архив в новый каталог, например, '''c:\program files\fb3''' | ||
| + | # Переходим в этот каталог | ||
# Выполняем команду: | # Выполняем команду: | ||
## Для установки супер сервера: instsvc install -s -a | ## Для установки супер сервера: instsvc install -s -a | ||
Версия 17:01, 2 марта 2017
Зачем переходить? При работе с базами данных, размер которых составляет десятки Гб и более, основное узкое место в производительности сервера -- это операции ввода/вывода с дисковой подсистемой. Firebird использует диск для размещения базы данных и для записи временных файлов сортировки. Очевидное решение -- задействовать оперативную память. Но, в случае с Firebird 2.5 возникает дилемма: SuperServer позволяет использовать общий на все коннекты кэш страниц, однако, при этом выполнение запросов будет происходить в рамках одной нити и только на одном процессоре/ядре, сколько бы их ни было установлено в системе. ClassicServer позволяет распараллелить коннекты на разные процессоры, но при этом отсутствует общий кэш данных.
В Firebird 3 64bit данные ограничения устранены. Теперь можно добиться значительного увеличения быстродействия (в нашей практике в 5-10 раз) за счет выделения кэша сопоставимого с размером файла базы данных.
Реальный случай, на примере одного из наших клиентов. Размер файла базы данных составляет 60 Гб. Сервер базы данных содержит два 10-ти ядерных процессора и 128 Гб оперативной памяти. Мы установили следующее распределение оперативной памяти:
- 32 Гб для оперативной системы, выполняющихся процессов, файлового кэша оперативной системы
- 32 Гб под буфер сортировки сервера Firebird
- 64 Гб под кэш данных сервера Firebird
Использовались следующие параметры:
- размер страницы 8192 байт
- количество страниц в буфере 8 388 608
- Forced Writes = ON
Параметры в файле firebird.conf:
DatabaseGrowthIncrement = 1024M
Чтобы не дергать лишний раз файловую систему при увеличении размера базы данных.
FileSystemCacheThreshold = 10M
Разрешим операционной системе использовать свой файловый кэш для нашей базы данных. Число должно быть больше, чем размер буфера в страницах.
FileSystemCacheSize = 20
Разрешим ОС использовать до 20% оперативной памяти под файловый кэш.
TempBlockSize = 2M
Блоки памяти под сортировку будут увеличиваться на такую величину.
TempCacheLimit = 32768M
32 Гб выделяем под буфер сортировки в оперативной памяти.
AuthServer = Legacy_Auth AuthClient = Legacy_Auth UserManager = Legacy_UserManager WireCrypt = Disabled WireCompression = false
Устанавливаем режим безопасности максимально приближенный к тому, как было в версии 2.5, чтобы не нарушить работу всех существующих рабочих мест.
Порядок перехода на Firebird 3
- Убедитесь, что Гедымин работает под сервером Firebird 2.5. Если нет, то сначала сконвертируйте файл базы данных.
- Создайте архивную копию базы данных.
- На сервере остановите службу Firebird 2.5 (как это сделать из командной строки, см. ниже).
- Установите и запустите сервер Firebird 3.
- Скачайте и расположите в папке UDF сервера библиотеку GUDF.DLL соответствующей разрядности.
- Скачать с сайта gsbelarus.com архив с новейшей версией gedemin.exe. Замените его содержимым все файлы в папке, из которой вызывается gedemin.exe.
- Запустите gedemin.exe и восстановите базу данных из архивной копии используя подключение к серверу Firebird 3.
- Подключитесь к базе данных под учетной записью Administrator и обновите ее структуру.
Остановка работающей службы сервера Firebird 2.5
Перед установкой новейшей версии сервера Firebird 3 следует остановить службу Firebird 2.5. Конечно, если у вас нет необходимости в одновременном использовании двух разных версий сервера. Такой случай подробно рассматривается ниже.
- Открываем командную строку (Пуск - Выполнить - cmd)
- Переходим в папку сервера. В зависимости от места установки это может быть c:\program files\firebird. Команды:
- c:
- cd \program files
- cd firebird
- Выполняем команду: instsvc stop
- Выполняем команду: instsvc remove
- Выполняем команду: instreg remove
- Выходим из папки сервера: cd ..
- Удаляем папку
Если вы устанавливали сервер с помощью инстолятора, то остановить службу и деинсталировать сервер можно через панель управления Windows.
Установка и настройка сервера Firebird 3
Для установки вы можете скачать инстолятор с официального сайта или воспользоваться архивом с текущей ночной сборкой. Мы рекомендуем второй способ, так как официальный инстолятор обновляется не часто -- раз в 4-6 месяцев.
- Скачиваем архив
- Распаковываем архив в новый каталог, например, c:\program files\fb3
- Переходим в этот каталог
- Выполняем команду:
- Для установки супер сервера: instsvc install -s -a
- Для установки сервера классической архитектуры: instsvc install -с -a
- Выполняем команду: gsec -add sysdba -pw masterkey -user sysdba
- Выполняем команду: instsvc start
- В соответствии с разрядностью установленного сервера Firebird скачиваем с сайта gsbelarus.com библиотеку gudf.dll по приведенным
ссылкам: для Windows 32bit, для Windows 64bit Распаковываем архив и копируем библиотеку в подкаталог UDF сервера, c:\program files\firebird\udf.
Обновление клиентской библиотеки
Указанные действия выполняем на каждой рабочей станции в локальной сети предприятия.
- Удаляем следующие файлы, если они расположены рядом с файлом gedemin.exe.
- fbclient.dll
- icuuc30.dll
- icuin30.dll
- icudt30.dll
- ib_util.dll
- msvcr80.dll
- msvcp80.dll
- Из каталога сервера копируем и выкладываем рядом с gedemin.exe следующие файлы:
- fbclient.dll
- ib_util.dll
- icudt52.dll
- icuin52.dll
- icuuc52.dll
- msvcp100.dll
- msvcr100.dll
Обратите внимание! Так как gedemin.exe 32-х разрядное приложение, библиотека fbclient.dll должна быть аналогичной разрядности. Если вы установили 64-х разрядный сервер Firebird, то копировать файлы надо не из его каталога, а скачать архив с 32-х разрядной версией сервера и копировать файлы из него.
Восстановление базы данных из архивной копии
Восстановите базу данных из архива.
Запуск программы
- Войдите в программу под учетной записью Administrator. (Может появиться сообщение, что сервер не настроен для работы с платформой Гедымин и предложение выполнить необходимую настройку. Следует согласиться и ввести логин SYSDBA и пароль masterkey)
- Дождитесь окончания процесса изменения структуры базы данных.
- В Исследователе перейдите в раздел Сервис - Администратор.
- Откройте окно Пользователи и на панели инструментов запустите команду Пересоздать учетные записи