...
- Gentoo Linux
Нужно создать следующие 2 файла в/etc/init.d
с соответствующим содержимым:ora.database
— управление БД OracleCode Block bash bash #!/sbin/runscript # ---------------------------------------------------------------------- # File: /etc/init.d/ora.database # Purpose: Startup Oracle Database(s) defined in /etc/oratab # ---------------------------------------------------------------------- # АСР "Гидра". Инициализационный скрипт БД Oracle # Автор: Петров Н. В. # (C) ООО "Латера Софтвер" # www.latera.ru | info@latera.ru # Зависимости depend() { need net logger hostname} clock } # start()Инициализация {окружения function init_environment { source /etc/profile } # Запуск ifstart() [{ ! -f $ORACLE_HOME/bin/dbstart ] ; then echo "Oracle not started (no dbstart script) ebegin "Starting Oracle Database" # Инициализация окружения return 1 init_environment fi # Запуск БД ebegin "Starting Oracle" /bin/su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME" eend $?# "FailedВыход toс startрезультатом Oracle"запуска } stop() { eend $? } # Остановка source /etc/profilestop() { ebegin if [ ! -f $ORACLE_HOME/bin/dbshut ] ; then echo "Oracle not stopped (no dbshut script)"Stopping Oracle Database" # Инициализация окружения return 1 init_environment fi # Остановка БД ebegin "Stopping Oracle" /bin/su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME" eend $?# "FailedВыход toс stopрезультатом Oracle" остановки eend $? }
ora.listener
— управление прослушивателем СУБД Oracle
После создания файлов необходимо выдать разрешение на их запуск и произвести установку автозапуска:Code Block bash bash #!/sbin/runscript #---------------------------------------------------------------------- # File: /etc/init.d/ora.listener # Purpose: Startup Oracle Listeners # ---------------------------------------------------------------------- depend() { need net after ora.database } startАСР "Гидра". Инициализационный скрипт прослушивателя СУБД Oracle # Автор: Петров Н. В. # (C) ООО "Латера Софтвер" # www.latera.ru | info@latera.ru # Зависимости depend() { need net source /etc/profile} # Инициализация окружения if [ ! -f $ORACLE_HOME/bin/lsnrctl ] ; then echo "Oracle Listeners not started (no lsnrctl script)" return 1 fi ebegin "Starting Oracle Listeners" /bin/function init_environment { source /etc/profile } # Запуск start() { ebegin "Starting Oracle Database" # Инициализация окружения init_environment # Запуск прослушивателя su $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start LISTENER" eend $?# "FailedВыход toс startрезультатом Oracleзапуска Listeners" eend $? } # Остановка stop() { ebegin source /etc/profile if [ ! -f $ORACLE_HOME/bin/lsnrctl ] ; then echo "Oracle Listeners not stopped (no lsnrctl script)"Stopping Oracle Database" # Инициализация окружения return 1 init_environment fi # Остановка прослушивателя ebegin "Stopping Oracle Listeners" /bin/su $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop LISTENER" eend $?# "FailedВыход toс stopрезультатом Oracleостановки Listeners" eend $? }
Code Block # chmod +x /etc/init.d/ora.* && \ rc-update add ora.database default && \ rc-update add ora.listener default
- Debian Ubuntu Linux, Red Hat Enterprise Debian Linux
Нужно создать следующие 2 файла в/etc/init.d
с соответствующим содержимым:ora.database
— управление БД OracleCode Block bash bash #!/bin/bash # ---------------------------------------------------------------------- # File: /etc/init.d/ # АСР "Гидра". Инициализационный скрипт БД Oracle # Автор: Петров Н. В. # (C) ООО "Латера Софтвер" # www.latera.ru | info@latera.ru ### BEGIN INIT INFO # Provides: ora.database # PurposeRequired-Start: Startup Oracle Database(s) defined$network in /etc/oratab # ---------------------------------------------------------------------- case "$1" in start) . /etc/environment export ORACLE_HOME # Required-Stop: $network # Should-Start: network-manager # Should-Stop: network-manager # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Oracle database ### END INIT INFO # Коды возврата скрипта RET_OK="0" RET_BAD_USAGE="1" RET_FAILED_RUN="2" # Подключение инит-функций . /lib/lsb/init-functions # Запись в вывод ошибок function echo_err { echo $@ >&2 } # Инициализация окружения function init_environment { . /etc/environment export ORACLE_HOME export ORACLE_OWNER } # Выполнение команды function run_cmd { export ORACLE_BASE # Выполнение команды eval $@ export TNS_ADMIN # Если выполнение было неудачным if export NLS_LANG [ $? != "0" ]; then # Завершение выполнения скрипта log_end_msg $RET_FAILED_RUN exit $RET_FAILED_RUN export DISABLE_HUGETLBFS fi } # Действие на основе первого параметра вызова скрипта case "$1" in # Запуск start) log_daemon_msg "Starting Oracle Database" export# TZИнициализация окружения init_environment if [ ! -f # Запуск БД run_cmd "su $ORACLE_OWNER -c \"$ORACLE_HOME/bin/dbstart ] ; then$ORACLE_HOME\"" # Выход c успехом echo "Oracle not started (no dbstart script)"log_end_msg $RET_OK exit $RET_OK ;; # Остановка stop) exit 1 log_daemon_msg "Stopping Oracle Database" fi # Инициализация окружения echoinit_environment "Starting Oracle..." # Остановка БД /bin/ run_cmd "su $ORACLE_OWNER -c \"$ORACLE_HOME/bin/dbstartdbshut $ORACLE_HOME\"" # Выход c успехом exit $? log_end_msg $RET_OK exit $RET_OK ;; # Перезапуск restart) # Остановка $0 stop # Запуск $0 start # Выход с успехом exit $RET_OK ;; # Любое другое действие *) # Вывод сообщения с вариантами использования echo_err "Usage: $0 (start|stop|restart)" # Выход с неудачей exit $RET_BAD_USAGE ;; esac
ora.listener
— управление прослушивателем СУБД Oracle
После создания файлов необходимо выдать разрешение на их запуск и произвести установку автозапуска:Code Block bash bash #!/etcbin/environmentbash # АСР "Гидра". Инициализационный скрипт прослушивателя СУБД exportOracle ORACLE_HOME# Автор: Петров Н. В. # (C) ООО "Латера export ORACLE_OWNER export ORACLE_BASE export TNS_ADMIN export NLS_LANG export DISABLE_HUGETLBFS export TZ if [ ! -f $ORACLE_HOME/bin/dbshut ] Софтвер" # www.latera.ru | info@latera.ru ### BEGIN INIT INFO # Provides: ora.listener # Required-Start: $network # Required-Stop: $network # Should-Start: network-manager # Should-Stop: network-manager # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Oracle listener ### END INIT INFO # Коды возврата скрипта RET_OK="0" RET_BAD_USAGE="1" RET_FAILED_RUN="2" # Подключение инит-функций . /lib/lsb/init-functions # Запись в вывод ошибок function echo_err { echo $@ >&2 } # Инициализация окружения function init_environment { . /etc/environment export ORACLE_HOME export ORACLE_OWNER } # Выполнение команды function run_cmd { # Выполнение команды eval $@ # Если выполнение было неудачным if [ $? != "0" ]; then # Завершение выполнения скрипта echo "Oracle not stopped (no dbshut script)" log_end_msg $RET_FAILED_RUN exit $RET_FAILED_RUN fi } # Действие на основе первого параметра вызова скрипта case "$1" in # Запуск start) log_daemon_msg "Starting Oracle listener" # Инициализация окружения exit 1 init_environment # Запуск fiпрослушивателя run_cmd "su $ORACLE_OWNER -c echo "Stopping Oracle...\"$ORACLE_HOME/bin/lsnrctl start LISTENER\"" # Выход c успехом log_end_msg $RET_OK exit $RET_OK ;; # Остановка stop) log_daemon_msg "Stopping Oracle listener" # Инициализация /bin/окружения init_environment # Остановка прослушивателя run_cmd "su $ORACLE_OWNER -c \"$ORACLE_HOME/bin/dbshut $ORACLE_HOME"lsnrctl stop LISTENER\"" # Выход c успехом exit $? log_end_msg $RET_OK exit $RET_OK ;; # Перезапуск restart) # Остановка $0 stop # Запуск $0 start # Выход с успехом exit $? exit $RET_OK ;; # Любое другое действие *) # Вывод сообщения с вариантами использования echo_err "Usage: $0 (start|stop|restart)" # Выход с exitнеудачей 2 exit $RET_BAD_USAGE ;; esac
Code Block # chmod +x /etc/init.d/ora.* && \ update-rc.d ora.database defaults && \ update-rc.d ora.listener defaults
- Red Hat Enterprise Linux
Нужно создать следующие 2 файла в/etc/init.d
с соответствующим содержимым:ora.database
— управление БД OracleCode Block bash bash #!/bin/bash # ---------------------------------------------------------------------- # File: /etc/init.d/ora.listener # Purpose: Startup Oracle Listeners # ---------------------------------------------------------------------- case "$1" in start) . /etc/environment export ORACLE_HOME export ORACLE_OWNER export ORACLE_BASE export TNS_ADMIN export NLS_LANG export DISABLE_HUGETLBFS export TZ if [ ! -f $ORACLE_HOME/bin/lsnrctl ] ; then echo "Oracle Listeners not started (no lsnrctl script)" exit 1 fi echo "Starting Oracle Listeners # АСР "Гидра". Инициализационный скрипт БД Oracle # Автор: Петров Н. В. # (C) ООО "Латера Софтвер" # www.latera.ru | info@latera.ru # Коды возврата скрипта RET_OK="0" RET_BAD_USAGE="1" RET_FAILED_RUN="2" # Запись в вывод ошибок function echo_err { echo $@ >&2 } # Инициализация окружения function init_environment { . /etc/environment export ORACLE_HOME export ORACLE_OWNER } # Выполнение команды function run_cmd { # Выполнение команды eval $@ # Если выполнение было неудачным if [ $? != "0" ]; then # Завершение выполнения скрипта log_end_msg $RET_FAILED_RUN exit $RET_FAILED_RUN fi } # Действие на основе первого параметра вызова скрипта case "$1" in # Запуск start) echo "Starting Oracle Database..." # Инициализация окружения init_environment # Запуск БД run_cmd "su $ORACLE_OWNER -c \"$ORACLE_HOME/bin/dbstart $ORACLE_HOME\"" # Выход c успехом exit $RET_OK ;; # Остановка stop) echo "Stopping Oracle Database..." # Инициализация /bin/окружения init_environment # Остановка БД run_cmd "su $ORACLE_OWNER -c \"$ORACLE_HOME/bin/lsnrctl start LISTENER"dbshut $ORACLE_HOME\"" # Выход c успехом exit $?$RET_OK ;; # Перезапуск restart) # Остановка $0 stop # Запуск $0 start # Выход с успехом exit $RET_OK ;; # Любое другое действие *) # Вывод сообщения с вариантами использования echo_err "Usage: $0 (start|stop|restart)" # Выход с неудачей exit $RET_BAD_USAGE ;; esac
ora.listener
— управление прослушивателем СУБД Oracle
После создания файлов необходимо выдать разрешение на их запуск и произвести установку автозапуска:Code Block bash bash #!/etcbin/environmentbash # АСР "Гидра". Инициализационный скрипт прослушивателя СУБД exportOracle ORACLE_HOME# Автор: Петров Н. В. # (C) ООО "Латера export ORACLE_OWNER Софтвер" # www.latera.ru | info@latera.ru # Коды возврата exportскрипта ORACLE_BASE RET_OK="0" RET_BAD_USAGE="1" RET_FAILED_RUN="2" # Запись в вывод exportошибок TNSfunction echo_ADMINerr { echo $@ >&2 } export NLS_LANG # Инициализация окружения function init_environment { . /etc/environment export ORACLE_HOME export DISABLEORACLE_HUGETLBFSOWNER } # Выполнение команды function run_cmd { export TZ # Выполнение команды eval $@ # Если выполнение было неудачным if [ $? != -f $ORACLE_HOME/bin/lsnrctl ] "0" ]; then # Завершение выполнения скрипта log_end_msg $RET_FAILED_RUN exit $RET_FAILED_RUN fi } # Действие на основе первого параметра вызова скрипта case "$1" in # Запуск start) echo "Starting Oracle Listenerslistener..." not stopped (no lsnrctl script)" # Инициализация окружения init_environment # Запуск прослушивателя run_cmd "su $ORACLE_OWNER -c \"$ORACLE_HOME/bin/lsnrctl start LISTENER\"" # Выход c успехом exit 1$RET_OK ;; # fiОстановка stop) echo "Stopping Oracle Listenerslistener..." # Инициализация /bin/окружения init_environment # Остановка прослушивателя run_cmd "su $ORACLE_OWNER -c \"$ORACLE_HOME/bin/lsnrctl stop LISTENER\"" # Выход c успехом exit $? exit $RET_OK ;; # Перезапуск restart) # Остановка $0 stop # Запуск $0 start # Выход с успехом exit $? exit $RET_OK ;; # Любое другое действие *) # Вывод сообщения с вариантами использования echo_err "Usage: $0 (start|stop|restart)" # Выход с exitнеудачей 2 exit $RET_BAD_USAGE ;; esac
Code Block # chmod +x /etc/init.d/ora.* && \ update-rc.d ora.database defaults && \ update-rc.d ora.listener defaults
...