[systemd-devel] starting Oracle with systemd

Andrei Borzenkov arvidjaar at gmail.com
Thu Oct 30 20:18:47 PDT 2014


В Fri, 31 Oct 2014 08:11:54 +1100
Andrew Barnes <barnes333 at gmail.com> пишет:

> On 31 Oct, 2014 6:35 AM, "Andrei Borzenkov" <arvidjaar at gmail.com> wrote:
> >
> > В Thu, 30 Oct 2014 20:06:55 +0100
> > Lennart Poettering <lennart at poettering.net> пишет:
> >
> >
> > >
> > > I have no idea how Oracle works, and the above it too cryptic to fully
> > > understand what point you are trying to make. Can you eloborate on
> > > this for somebody who doesn't know a thing about Oracle?
> >
> > Oracle database server consists of two parts - set of backend processes
> > (database server) and network listener. Client connects to listener
> > which spawns process that performs database processing for this client.
> > Each client connection creates new process. Once client process is
> > started, listener no more is involved in further processing. This is
> > similar to socket activation used by systemd.
> >
> > Listener can be configured to spawn client processes for multiple
> > databases. There is well known TCP port for client connection.
> >
> > Conceptually listener is independent of database server. It is still
> > possible to connect locally when you are on the same host even if
> > listener is not running.
> >
> > So the problem right now is, if listener is configured as separate
> > service all client processes belong to the same service and are stopped
> > if listener is stopped.
> >
> 
> How about:
> 
> http://www.freedesktop.org/software/systemd/man/systemd.kill.html
> 
> Would setting KillMode=process for the listener service have the required
> effect: on service stop, only kill the main process, leaving the child
> processes and cgroup running?

Yes, that probably will work around this problem. 


More information about the systemd-devel mailing list