Миграция сервера 1С с W2k3/MSSQL на Fedora/PostgreSQL

Версии продуктов:

  • PostgreSQL 8.3.3-2.1C (нашел на свежем диске ИТС RPM’ы, а не исходники, как на сайте 1C)
  • Fedora Core 10
  • 1C:Предприятие 8.1.12-101.i386 (подписчики ИТС могут забрать с веб-сайта 1C)
  • Замечаний по установке нет. Добавлю лишь, что сразу после установки изменил локаль системы на русский (System-Administration-Language). То есть в файле /etc/sysconfig/i18n у меня строчка LANG=”ru_RU.UTF-8″.
    Это я сделал для того, чтобы initdb инициализировал новую базу с локалью RU, а не EN, так как в региональных настройках исходной ИБ 1C у меня установлено “Русский (Россия)”.
    Скажу сразу, что сервер может работать и без ключа – но поддерживает лишь до 12 подключений (включительно).
    Установка драйвера USB-ключа HASP не требует ряда шаманских танцев, описанных во всех руководствах (подозреваю из-за того, что там версия Fedora была старее).
    Просто скачиваем драйвер отсюда, вытаскиваем из него aksusbd-redhat-1.5-1.i386.rpm и устанавливаем.
    Есть еще версия под WINE, но я ее не устанавливал.
    Устанавливаю 1C:

    затем 1C_Enterprise-common-nls-8.1.12-101.i386, 1C_Enterprise-server-8.1.12-101.i386 и 1C_Enterprise-server-nls-8.1.12-101.i386
    Аналогично попытался установить PostgreSQL (порядок установки такой:
    postgresql-libs, postgresql, postgresql-server, postgresql-plperl и postgresql-contrib)
    Однако, предварительно, для разрешения зависимостей, пришлось установить libtermcap2-2.0.8-36mdk.i586 и readline-compat-4.3-307.i586. RPM’ы взял с сайта rpm.pbone.net.
    Далее инициализируем базу данных:

    В файле /var/lib/pgsql/data/postgresql.conf найдите параметр default_with_oids, раскомментируйте и установите его значение в on
    Затем редактируем /var/lib/pgsql/data/pg_hba.conf
    Будет вот такая строчка:

    Которая говорит серверу PostgreSQL не запрашивать пароль при локальном входе.
    Превратим её в

    Возможно, вместо trust, попробую написать password – пока выяснять было некогда.
    Затем рестартим, выполняем вход в консоль PostgreSQL:

    и даем команду

    где sergtsop – новый пароль. У вас, естественно, он будет другим. Апострофы и точка с запятой в строке запроса к БД – обязательны. Выходим из консоли командой \q

    Поздравляю, теперь вы знатный постгресмен!

    В Система-Администрирование-Службы разрешаем и запускаем сервер PostgreSQL. Я выключил фаерволл, хотя оснастке вроде был нужен только порт 1540 TCP.
    При решении проблем я также запретил работу SELinux.
    Полагаем, что все в порядке. Базу данных будем создавать из Windows.
    Первым делом – в Windows в файле hosts прописываем IP-адрес и имя линукс-сервера.
    Устанавливаем аналогичную виндовую версию 1C, запускаем MMC-оснастку “Серверы 1C Предприятия”, создаем центральный сервер, именем которого – имя линукс-сервера из hosts.
    Далее в кластере пытаемся создать информационную базу, если оснастка зависает, то необходимо удалить папку /home/usr1cv81/.1cv81 и перезапустить демон 1C.

    При создании новой информационной базы используйте аналогичные данные:
    Имя: moyabasa
    Сервер баз данных: ИмяСервераLinuxВфайле_hosts
    База данных: moyabasa
    Пользователь сервера БД: postgres
    Пароль пользователя БД: sergtsop
    Создать базу данных в случае ее отсутствия: ставим галочку.

    Лично я еще установил phpPgAdmin – по умолчанию он находится по адресу http://localhost/phpPgAdmin/ (регистр важен!)
    Изменений в конфиге /etc/phpPgAdmin/config.inc.php коснулись только строчки:

    Ну, и httpd должен быть запущен.
    Поздравляю, на этом этапе вы уже можете начинать работу в новой базе. Однако, мы же переходим к переносу данных из MSSQLSERVER в PostgreSQL.
    Для этого заходим конфигуратором в рабочую базу 1C и в меню Администрирование выбираем пункт “Выгрузить информационную базу”. Указываем куда и в какой файл. Время выгрузки из моей базы (файл БД MSSQL весил 48 Гб) длилось около двух часов. Файл информационной базы 1C в итоге занял ~1,5 Гб.
    Логично, что теперь заходим конфигуратором во вновь созданную базу и открываем пункт меню “Администрирование”-“Загрузить информационную базу”. Загрузка будет происходить также долго. Размер базы PostgreSQL без малого такой же – 51 Гб.

    Теперь можно переходить к бэкапу SQL-базы.

    Җавап калдыру



    All fields are required. Your email address will not be published.

    Insert math as
    Block
    Inline
    Additional settings
    Formula color
    Text color
    #333333
    Type math using LaTeX
    Preview
    \({}\)
    Nothing to preview
    Insert