[systemd-devel] starting Oracle with systemd
Lennart Poettering
lennart at poettering.net
Thu Oct 30 12:06:55 PDT 2014
On Thu, 30.10.14 13:29, Fisher, Charles J. (Top Echelon) (Charles.Fisher at alcoa.com) wrote:
> >This looks quite suspicious as you spawn a shell and keep it
> >running. It's fine to run shells and then finally exec the real
> >binary, replacing the shell process, but keeping the shell around
> >would tell systemd that the shell was the actual daemon process.
>
> It doesn't work like that. The ksh dies when sqlplus exits, after it forks the instance background processes.
>
> These are the binaries of interest:
>
> -bash-4.2$ ls -l $ORACLE_HOME/bin/sqlplus $ORACLE_HOME/bin/oracle $ORACLE_HOME/bin/tnslsnr
> -rwsr-s--x. 1 oracle dba 323649834 Aug 13 10:47 /home/oracle/Ora12c/db/bin/oracle
> -rwxr-x--x. 1 oracle dba 10525 Aug 13 10:46 /home/oracle/Ora12c/db/bin/sqlplus
> -rwxr-x--x. 1 oracle dba 866455 Aug 13 10:46 /home/oracle/Ora12c/db/bin/tnslsnr
>
> The real problem is the tnslsnr. It can service multiple
> instances. If I run those instances in separate cgroups, and the
> listener can only be a member of one cgroup, then the listener's
> children die if the listener process is disturbed. This means all DB
> sessions are cut when the listener is stopped.
"If you run those instances in separate cgroups"? what's that supposed
to mean? We do not expose cgroups as concept in systemd. Are you
accessing cgroupfs directly?
> It looks like systemd will force separate listeners for all Oracle
> instances, and the usual port number (1521) can't multiplex them
> (unless a single cgroup is used).
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? And please
don't paste tons of Oracle outputs here, they don't help, they make
everything more cryptic and unintelligible...
Lennart
--
Lennart Poettering, Red Hat
More information about the systemd-devel
mailing list