1、修改/etc/oratab的orcl:/u01/app/oracle/product/19.3.0/db_1:Y,将原来的N改成Y
2、在/etc/init.d目录下创建oracle的文件,在文件中添加如下内容:
#!/bin/sh
chkconfig: 35 80 10
description: Oracle auto start-stop script.
Set ORA_HOME to be equivalent to the $ORACLE_HOME
from which you wish to execute dbstart and dbshut;
Set ORA_OWNER to the user id of the owner of the
Oracle database in ORA_HOME.
ORA_HOME=/u01/app/oracle/product/19.3.0/db_1
ORA_OWNER=oracle
if [ ! -f $ORA_HOME/bin/dbstart ]
then
echo “Oracle startup: cannot start”
exit
fi
case “$1” in
‘start’)
Start the Oracle databases:
echo “Starting Oracle Databases … "
echo “-------------------------------------------------” >> /var/log/oracle
date +” %T %a %D : Starting Oracle Databases as part of system up." >> /var/log/oracle
echo “-------------------------------------------------” >> /var/log/oracle
su -
O
R
A
O
W
N
E
R
−
c
"
ORA_OWNER -c "
ORAOWNER−c"ORA_HOME/bin/dbstart" >>/var/log/oracle
echo “Done”
Start the Listener:
echo “Starting Oracle Listeners … "
echo “-------------------------------------------------” >> /var/log/oracle
date +” %T %a %D : Starting Oracle Listeners as part of system up." >> /var/log/oracle
echo “-------------------------------------------------” >> /var/log/oracle
su -
O
R
A
O
W
N
E
R
−
c
"
ORA_OWNER -c "
ORAOWNER−c"ORA_HOME/bin/lsnrctl start" >>/var/log/oracle
echo “Done.”
echo “-------------------------------------------------” >> /var/log/oracle
date +" %T %a %D : Finished." >> /var/log/oracle
echo “-------------------------------------------------” >> /var/log/oracle
touch /var/lock/subsys/oracle
;;
‘stop’)
Stop the Oracle Listener:
echo “Stoping Oracle Listeners … "
echo “-------------------------------------------------” >> /var/log/oracle
date +” %T %a %D : Stoping Oracle Listener as part of system down." >> /var/log/oracle
echo “-------------------------------------------------” >> /var/log/oracle
su -
O
R
A
O
W
N
E
R
−
c
"
ORA_OWNER -c "
ORAOWNER−c"ORA_HOME/bin/lsnrctl stop" >>/var/log/oracle
echo “Done.”
rm -f /var/lock/subsys/oracle
Stop the Oracle Database:
echo “Stoping Oracle Databases … "
echo “-------------------------------------------------” >> /var/log/oracle
date +” %T %a %D : Stoping Oracle Databases as part of system down." >> /var/log/oracle
echo “-------------------------------------------------” >> /var/log/oracle
su -
O
R
A
O
W
N
E
R
−
c
"
ORA_OWNER -c "
ORAOWNER−c"ORA_HOME/bin/dbshut" >>/var/log/oracle
echo “Done.”
echo “”
echo “-------------------------------------------------” >> /var/log/oracle
date +" %T %a %D : Finished." >> /var/log/oracle
echo “-------------------------------------------------” >> /var/log/oracle
;;
‘restart’)
$0 stop
$0 start
;;
esac
此处的ORA_HOME=/u01/app/oracle/product/19.3.0/db_1,修改成oracle安装目录
3、在/etc/rc.d/rc.local文件中添加如下内容
su - oracle -c “lsnrctl start”
su - oracle -c “dbstart”
4、设置开机自启动:
systemctl enable oracle
5、重新启动设置完成
注:借鉴https://blog.csdn.net/zhongchunmei/article/details/128495908