[systemd-devel] starting Oracle with systemd

Fisher, Charles J. (Top Echelon) Charles.Fisher at alcoa.com
Tue Oct 28 13:46:03 PDT 2014


Interestingly, placing the Oracle database listener in its own service propagates this cgroup to all client connections into all databases.

Stopping the listener service kills these connections for all instances handled by the listener, which is not the normal/expected behavior.

[root at localhost system]# psc | grep lsnr
8619 oracle   1:name=systemd:/system.slic /home/oracle/Ora12c/db/bin/tnslsnr LISTENER -inherit

[root at localhost system]# ps xawf -eo args,cgroup | tail
…
ora_q002_orcl               1:name=systemd:/system.slice/oracle-orcl.service
ora_q003_orcl               1:name=systemd:/system.slice/oracle-orcl.service
oracleorcl (LOCAL=NO)       1:name=systemd:/system.slice/oracle-listener.service
ora_j000_orcl               1:name=systemd:/system.slice/oracle-orcl.service
ora_j001_orcl               1:name=systemd:/system.slice/oracle-orcl.service

The dbstart script (supplied by Oracle) also likely should not be used, since it will place all instances in the same cgroup.

From: systemd-devel [mailto:systemd-devel-bounces at lists.freedesktop.org] On Behalf Of "Jóhann B. Guðmundsson"
Sent: Tuesday, October 28, 2014 2:43 PM
To: systemd-devel at lists.freedesktop.org
Subject: EXT: Re: [systemd-devel] starting Oracle with systemd

On 10/28/2014 07:08 PM, Fisher, Charles J. (Top Echelon) wrote:

Is this the best way to start Oracle?


No and unfortunately for you Oracle is not open source and has a bad track record taking code submissions which is probably why nobody has written a proper systemd unit for it and pushed it upstream.

<snip>
( you need to post to the original initscript along with any startup scripts in conjuction with that init script to so the proper course of action can be taken when migrating it to native systemd unit(s) use something like fpaste if you intent on doing that )



I may have several instances on a machine; I’d like one service to start/stop everything if possible (maybe with dbstart/dbshut), but I also want granular control over each Oracle instance.

You would do so by creating an specific oracledb.target followed by new oracle instance units.

I'm not sure how much we should be involved with migrating that since it's closed source and we cant be held countable if our migration breaks your support contract hence it's probably best that you requesting new units and targets from Oracle support directly. ( which is probably not what you want to hear but meh )

JBG
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/systemd-devel/attachments/20141028/483f4fe9/attachment.html>


More information about the systemd-devel mailing list