RHEL7 oracle自動起動設定めも

■/etc/sysconfig/oracledb.conf
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
ORACLE_SID=ORA11G
■/usr/lib/systemd/system/lsnrctl.service
[Unit]
Description=Oracle Listener
After=network.target

[Service]
Type=forking
EnvironmentFile=/etc/sysconfig/oracledb.conf
ExecStart=/u01/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start
ExecStop=/u01/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl stop
User=oracle

[Install]
WantedBy=multi-user.target
■/usr/lib/systemd/system/oracledb.service
[Unit]
Description=Oracle Database service
After=network.target lsnrctl.service

[Service]
Type=forking
EnvironmentFile=/etc/sysconfig/oracledb.conf
ExecStart=/u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart $ORACLE_HOME
ExecStop=/u01/app/oracle/product/11.2.0/dbhome_1/bin/dbshut $ORACLE_HOME
User=oracle

[Install]
WantedBy=multi-user.target
■/etc/oratab
ORA11G:/u01/app/oracle/product/11.2.0/dbhome_1:Y
■設定
systemctl daemon-reload
systemctl enable lsnrctl oracledb
■DB起動が間に合わない場合 /etc/systemd/system.conf でタイムアウト変更。反映はOS reboot。
DefaultTimeoutStartSec=180s
■個々のserviceのみでタイムアウトを変更する場合は、以下の「TimeoutStartSec」で指定し、反映する
[root@o12r2 systemd]# cat /usr/lib/systemd/system/oracle.service
[Unit]
Description=Oracle Database service
After=network.target lsnrctl.service

[Service]
Type=forking
EnvironmentFile=/etc/sysconfig/oracle.conf
TimeoutStartSec=180
ExecStart=/home/oracle/app/oracle/product/12.2.0/dbhome_1/bin/dbstart $ORACLE_HOME
ExecStop=/home/oracle/app/oracle/product/12.2.0/dbhome_1/bin/dbshut $ORACLE_HOME
User=oracle

[Install]
WantedBy=multi-user.target
[root@o12r2 systemd]# systemctl daemon-reload
[root@o12r2 systemd]# systemctl show oracle -p TimeoutStartUSec
TimeoutStartUSec=3min
[root@o12r2 systemd]#
参考:タイムアウト制限変更例