Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Gentoo Linux
    Нужно создать следующие 2 файла в /etc/init.d с соответствующим содержимым:
    1. ora.database — управление БД Oracle
      Code 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 $?
      }
      
    2. 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
      
  2. Debian Ubuntu Linux, Red Hat Enterprise Debian Linux
    Нужно создать следующие 2 файла в /etc/init.d с соответствующим содержимым:
    1. ora.database — управление БД Oracle
      Code 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
      
    2. 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
      
  3. Red Hat Enterprise Linux
    Нужно создать следующие 2 файла в /etc/init.d с соответствующим содержимым:
    1. ora.database — управление БД Oracle
      Code 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
      
    2. 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
      

...