一、修改oratab
1、设置开机自启动oracle:vim /etc/oratab
把最下面要启动的实例设置成Y
orcl:/u01/app/oracle/product/11.2.0/dbhome_1:Y
二、编写服务
1、标红色的地方请替换为$ORACLE_HOME的绝对路径
[root@localhost system]# vim /usr/lib/systemd/system/oracle.service
[Unit]
Description=The Oracle Database Service
After=network.target
[Service]
Type=forking
RemainAfterExit=yes
KillMode=none
TimeoutStopSec=5min
User=oracle
Group=oinstall
Environment="ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1"
ExecStart=/u01/app/oracle/product/19.0.0/dbhome_1/bin/dbstart $ORACLE_HOME &
ExecStop=/u01/app/oracle/product/19.0.0/dbhome_1/bin/dbshut $ORACLE_HOME &
Restart=no
[Install]
# Puts wants directive for the other units in the relationship
WantedBy=default.target
三、执行命令使服务生效
使用服务生效:systemctl daemon-reload
开始服务:systemctl start oracle.service
停止服务:systemctl stop oracle.service
查看状态:systemctl status oracle.service
开机自启动服务:systemctl enable oracle.service
四、补充说明
Linux启动时,会运行一个init程序,然后由init来启动后面的任务,包括多用户环境(inittab中设定)和网络等。运行级就是当前程序运行的功能级别,这个级别从1到6,具有不同的功能。这些级别在/etc/inittab(其他发行版这个文件位置不同)中指定,该文件就是init程序寻找的主要文件。最先运行的服务放在/etc/rc.d目录下。
文件以S开头,代表start(启动),后面的数字是启动顺序;文件以K开头,代表kill(结束),同样,后面的数字代表结束顺序。例如:/etc/rc3.d/S55sshd表示它与运行级别3有关,55就是它的启动顺序;/etc/rc3.d/K15nginx表示它与运行级别3有关,15就是它的关闭顺序。
init.d
这个目录中存放了一些服务启动脚本,系统安装时的多个rpm包,这些脚本在执行时可以用来启动,停止和重启这些服务。
rcx.d(x为0~6)
这个目录是启动级别的执行程序链接目录,里面的文件都是指向init.d目录中文件的一些软连接