Предыстория - есть FB 1,5 SS, работает под виндой. Спец программа, для которой разработчиками написана udf и без которой программа не работает, также под виндой.
В силу различных обстоятельств принято решение запустить базу не в Linux, а во FreeBSD. Сказано - сделано. Далее возникает проблема - udf собрана в линуксе и FB под FreeBSD её не подхватывает - программа отказывается работать Разработчики отказываются собирать udf нативно.
Но т.к. FreeBSD может выполнять линуксовые приложения - установлена и запущена линуксовая версия FirebirdCS-1.5.5.4926. Udf подхватилась и база заработала.
Далее возникает проблема - база обслуживает только одно сетевое подключение, вторая копия спец.программы висит до тех пор, пока не завершится первая. Путем различных танцев с бубном база начала принимать сетевые подключения, если запустить ее с параметром -m. В итоге работает 1 процесс и при нагрузке перекидывает процесс по ядрам процессора и с базой практически невозможно работать. Такое впечатление, что работает СуперСервер.
Изначально настройки запуска были стандартными:
Код: Выделить всё
# grep gds /etc/services
gds_db 3050/tcp #InterBase Database Remote Protocol
gds_db 3050/udp #InterBase Database Remote Protocol
Код: Выделить всё
grep fb_ /etc/inetd.conf
gds_db stream tcp nowait firebird /compat/linux/opt/firebird/bin/fb_inet_server fb_inet_server
В данный момент запуск происходит с параметром:
/compat/linux/opt/firebird/bin/fb_inet_server -m
Также запускал скрипт changeGdsLibraryCompatibleLink.sh и устанавливал значение client (которое делает симлинк /usr/lib/libgds.so -> /opt/firebird/lib/libfbclient.so)
Я уже не знаю в какую сторону копать и как запустить в нормальном режиме CS.
PS для теста, эту сборку FB CS 1.5 поставил в vmware на CentOS...работает.
Очень прошу помощи!