Эта заметка - своеобразный "узелок на память", чтобы в следующий раз вспомнить как сделать автозапуск и остановку СУБД Oracle при остановке и запуске Linux.
Я использую Oracle 11.2 и дистрибутив Oracle Linux.
Основной источник информации по этой задаче: Oracle® Database Administrator's Reference
1. В файл /etc/oratab добавляем строку:
SID:ORACLE_HOME:{Y}
2. В каталоге /etc/init.d создаем файл dbora с таким содержанием:
#! /bin/sh -x
#
# Change the value of ORACLE_HOME to specify the correct Oracle home
# directory for your installation.
ORACLE_HOME=/oracleDB/app/oracle/product/11.2.0/dbhome_1
case $1 in
'start')
su - oracle -c "$ORACLE_HOME/bin/lsnrctl start"
su - oracle -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
;;
'stop')
su - oracle -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"
su - oracle -c "$ORACLE_HOME/bin/lsnrctl stop"
;;
*)
echo "usage: $0 {start/stop}"
exit
;;
esac
#
exit
В этом скрипте прописаны команды на запуск и останов listener'а и инстанции.
Скрипт будет выполняться при запуске и остановке операционной системы.
3. Устанавливаем права на скрипт:
# chgrp dba dbora
# chmod 750 dbora
4. Создаем символьные ссылки
# ln -s /etc/init.d/dbora /etc/rc.d/rc0.d/K01dbora
# ln -s /etc/init.d/dbora /etc/rc.d/rc3.d/S99dbora
# ln -s /etc/init.d/dbora /etc/rc.d/rc5.d/S99dbora
Собственно, все :).
Это, конечно, посложнее, чем в MS Windows службу Oracle в автозагрузку включить, но все равно решаемо.
Ссылки по теме