Two instances of the Firebird server

179 views
Skip to first unread message

Max Mustermeier

unread,
Nov 12, 2020, 7:49:21 AM11/12/20
to firebird-support
Hi,

A server runs a Firebird server and a program that uses Firebird. Now an additional software is to be installed that also uses Firebird 2.5. Is it possible to run two instances of the Firebird server service simultaneously on one device with different instance names?

Kind regards
Max

Dimitry Sibiryakov

unread,
Nov 12, 2020, 7:56:16 AM11/12/20
to firebird...@googlegroups.com
12.11.2020 13:10, Max Mustermeier wrote:
> Is it possible to run two instances of the Firebird server service simultaneously on one
> device with different instance names?

Yes but in this situation it is hardly needed because one Firebird server can handle
more than one database easily.

--
WBR, SD.

Mark Rotteveel

unread,
Nov 12, 2020, 8:00:44 AM11/12/20
to firebird...@googlegroups.com
Yes it is possible, but ask yourself: do you really need that? Why can't
you just use the same Firebird server for the two different
applications?

In any case, to use multiple instances, you need to change the
RemoteServicePort, and maybe IpcName and RemotePipe config options in
firebird.conf (depending on the type of connections used by the
application).

Max Mustermeier

unread,
Nov 13, 2020, 4:21:59 AM11/13/20
to firebird-support
Thanks for your answers. I would like to describe the case a little more precisely. There are two applications on one server using Firebird 2.5 from two different software vendors. The first application uses the service name “Firebird Server – default instance” on port 3050; the second application uses the service name “Firebird - <DIFFERENT_NAME>” on port 3051. As a service provider, I have no control over how both applications connect to the services, so this is fix. Therefore the idea was to have two separate Firebird 2.5 service instances running at the same time with different service names.

Mark Rotteveel

unread,
Nov 13, 2020, 4:26:09 AM11/13/20
to firebird...@googlegroups.com
On 13-11-2020 10:20, Max Mustermeier wrote:
> Thanks for your answers. I would like to describe the case a little more
> precisely.There are two applications on one server using Firebird 2.5
> from two different software vendors. The first application uses the
> service name “Firebird Server – default instance” on port 3050; the
> second application uses the service name “Firebird - <DIFFERENT_NAME>”
> on port 3051. As a service provider, I have no control over how both
> applications connect to the services, so this is fix. Therefore the idea
> was to have two separate Firebird 2.5 service instances running at the
> same time with different service names.

This means you already have two different instances running. That makes
your question seem unnecessary, so I'm wondering if maybe you actually
want something else than you're asking about.

That said, I feel that I need to repeat: the fact these are two
different applications in no way requires you to actually run two
different instances. You could just as well use a single instance of
Firebird to server both applications.

Mark
--
Mark Rotteveel

Thomas Steinmaurer

unread,
Nov 13, 2020, 5:51:02 AM11/13/20
to firebird...@googlegroups.com
Hello Mark,

sorry for the private message. Hit the wrong button in the Email client. :-)
It may happen that two independent software vendors using Firebird are
using SYSDBA with differente passwords and not a "dedicated" database
owner to connect to their database.

Additionally, one application running crazy on the Firebird-side then
will not affect the other application.

Third-party UDF libraries might be another area.

There is one or another reason to have that possibly isolated ...


--
With regards,
Thomas Steinmaurer
http://www.upscene.com/

Professional Tools and Services for Firebird
FB TraceManager, IB LogManager, Database Health Check, Tuning etc.

Dimitry Sibiryakov

unread,
Nov 13, 2020, 5:58:14 AM11/13/20
to firebird...@googlegroups.com
13.11.2020 11:50, Thomas Steinmaurer wrote:
> .There are two applications on one server using Firebird 2.5 from two different software
> vendors. The first application uses the service name “Firebird Server – default instance”
> on port 3050; the second application uses the service name “Firebird - <DIFFERENT_NAME>”
> on port 3051.

> There is one or another reason to have that possibly isolated ...

You already have them isolated so what actually you are asking about? If you can
isolate them even more? Sure, use VM or docker but without cooperation with "vendors" it
is your brave experiments.

--
WBR, SD.

Tim Crawford

unread,
Nov 23, 2020, 5:45:42 PM11/23/20
to firebird...@googlegroups.com, Thomas Steinmaurer
I have had a few situations where I needed to do this.

It is actually pretty straight forward and I haven't had any problems. (FB 2.5)

Reasons are many and bad... the application is ancient, uses BDE,
has programs hard coded BDE aliases, database user and password, etc.
But two customers are sharing the same database server

It also allows us to take down one instance and leave the other one running.

I also have a case where we have only one db server machine available,
and some users  need to run huge resource intensive queries for data mining.
We were considering setting up a second read only instance with a copy of
the transactional database for this purpose so we wouldn't be hitting the
transactional database, and create more indexes but I don't know enough
about windows resource management to know if it would actually help
keep resources assigned by the OS to the transaction instance.
Seems obvious it would just be easier to put it on another server....
however the data mining is only happening on a few days of the month
and no one wants to pay for more hardware just for this.
Reply all
Reply to author
Forward
0 new messages