Переключение на другой движок баз данных

Этот раздел описывает, как переключить SberMobile Server на использование другого движка БД. По умолчанию SberMobile Server использует встроенный движок БД, который подходит только для небольших инсталляций (до 20-30 устройств). Для крупных инсталляций рекомендуется использовать более мощный сервер баз данных, например MySQL, Oracle, Microsoft SQL Server, PosrgreSQL, Firebird и другие.

Некоторые версии SberMobile Server содержат в качестве опционального пакета сервер MySQL. Если этот пакет выбирается при установке, сервер автоматически настраивается на использование MySQL. В этом случае переключение на другой движок баз данных, скорее всего, не потребуется.

Чтобы переключить SberMobile Server на другой движок баз данных, необходимо:

  • Выполнить резервное копирование конфигурационного файла SberMobile Server (server.xml в установочной папке SberMobile Server), скопировав его в ту же папку под именем server_old.xml.
  • Установить и настроить базу данных, если это еще не было сделано.
  • Создать новую базу данных, чтобы SberMobile Server мог ее использовать для хранения данных.
  • На движке БД создать учетную запись пользователя, от имени которого SberMobile Server будет осуществлять доступ к данным.
  • Выдать необходимые права новой учетной записи базы данных SberMobile Server. Потребуются права на создание и редактирование структуры таблиц (CREATE, ALTER, DROP). Также необходимо предоставить все права на вставку, обновление, удаление и выбор данных из всех таблиц (INSERT, UPDATE, DELETE and SELECT).
  • Остановить SberMobile Server, если он запущен.
  • Положить соответствующий JDBC-драйвер в подпапку / jar установочной папки SberMobile Server. Файл драйвера обычно имеет расширение .jar. Например, JDBC-драйвер для MySQL имеет имя MySQL-connector-java-X.X.XX-ga-bin.jar, где X.XX.XX i- номер версии. Драйвер JDBC может поставляться как производителем сервера базы данных (Oracle, и т.д.), так и сторонними авторами.
  • Существует также альтернативный метод, как сделать Ваш JDBC-драйвер доступным для SberMobile Server:

    • Наберите -classpath/a <JDBC_Driver_File_Path> в первой и единственной строке этого файла. JDBC_Driver_File_Path - это полный путь к файлу JDBC-драйвера базы данных (или имя этого файла, если он находится в директории инсталляции SberMobile Server).

    8. Запустите утилиту Конфигуратор сервера или SberMobile Server и запустите действие Конфигурировать сервер. Перейдите во вкладку База Данных в диалоговом окне конфигурации сервера.

    9. Измените настройку Драйвер БД в Настройках общей конфигурации на имя класса Java, представляющего драйвер БД. Это имя определяется  производителем драйвера JDBC. Например, класс драйвера БД MySQL называется “com.MySQL.jdbc.Driver”. Дополнительную информацию о Общих Настройках Конфигурации можно найти здесь.

    10. В Настройках Общей Конфигурации укажите URL Вашей базы данных. Ее формат также задан производителем JDBC-драйвера. Для MySQL формат имеет  следующий вид: jdbc:MySQL://[host][:port]/[database], где [host] - IP-адрес или DNS-имя сервера MySQL (может быть также пустой строкой или localhost), [port] - номер порта, на котором запущен сервер MySQL (опционально - если он не задан, используется порт по умолчанию), и [database], являющееся именем базы данных SberMobile Server'а. В качестве имени БД Вы можете использовать “SberMobile Server”. Например, если Ваш сервер MySQL запущен на 192.168.0.1 с портом по умолчанию, используйте следующий URL: jdbc:MySQL://192.168.0.1/SberMobile Server.

    11. Задайте правильное имя пользователя и пароль к БД в Общих Настройках Конфигурации. Они нужны для входа в базу, обозначенную в настройках URL Базы Данных.

    12. Выберите диалект базы данных в Общих Настройках Конфигурации, соответствующий типу Вашей БД. См. общие настройки конфигурации для Диалекта БД.

    13. Сохраните новые настройки. Не перезапускайте сервер, даже если появится соответствующее приглашение.

    14. Остановите конфигуратор сервера (или SberMobile Server).

    15. Запустите утилиту конвертер базы данных, которая находится в папке инсталляции SberMobile Server, чтобы переместить данные из старой базы в новую.

    16. Дождитесь, когда конвертер закончит работу. В зависимости от размера БД на это может уйти от нескольких секунд до нескольких часов.

    17. Запустите SberMobile Server.

    18. Процесс закончен, и теперь Вы можете использовать новую БД.

    Максимальное количество параллельных соединений для Вашего сервера БД должно быть больше значения Максимального размера пула подключений в Общих Настройках SberMobile Serverа. В большинстве случаев количество параллельных соединений БД по умолчанию меньше размера пула подключений SberMobile Server, поэтому должно быть увеличено. О том, как увеличить лимит соединений, прочитайте в документации к Вашему серверу БД.