Page tree

Versions Compared

Key

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

...

  1. Gentoo Linux (x64)
    Нужно установить следующие пакеты:

    Code Block
    # emerge openmotif libXtst libaio rpm && \
      emerge app-emulation/emul-linux-x86-baselibs app-emulation/emul-linux-x86-xlibs app-emulation/emul-linux-x86-compat && \
      USE="pic" emerge glibc binutils
    

    После выполнения вышеуказанных команд требуется создать необходимые символические ссылки:

    Code Block
    # ln -s /usr/bin/rpm /bin/rpm && \
      ln -s /lib/libgcc_s.so.1 /lib/libgcc_s.so
    

    Также необходимо установить OpenSSH-сервер с USE-флагом "X", если это еще не сделано:

    Code Block
    # USE="X" emerge openssh
    
  2. Ubuntu Linux (x64), Debian Linux (x64) squeeze
    Нужно установить следующие пакеты:

    Code Block
    # apt-get install gcc libaio1 libstdc++5 lesstif2 lesstif2-dev libc6-i386 && \
      apt-get install libc6-dev-i386 lib32stdc++6 lib32z1 ia32-libs sysstat && \
      apt-get install rlwrap unixodbc unixodbc-dev elfutils rpm make g++
    

    После выполнения вышеуказанных действий требуется создать необходимые символические ссылки:

    Code Block
    # ln -s /usr/bin/awk /bin/awk && \
      ln -s /usr/bin/rpm /bin/rpm && \
      ln -s /lib/libgcc_s.so.1 /lib/libgcc_s.so && \
      ln -s /usr/bin/basename /bin/basename
    
  3. Debian Linux (x64) wheeze
    Нужно установить следующие пакеты: 

    Code Block
    # dpkg --add-architecture i386 ;
      aptitude install libstdc++5:i386 libc6-dev:i386 x11-utils libmotif4
      aptitude install gcc libaio1 lesstif2 lesstif2-dev && \
      aptitude install lib32stdc++6 lib32z1 sysstat && \
      aptitude install rlwrap unixodbc unixodbc-dev elfutils rpm make g++

    Далее создать ссылки 

    Code Block
    # mkdir /usr/lib64 ;
    ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib64/libpthread_nonshared.a
    ln -s /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/
    ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64/
    ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64/
  4. CentOs Linux (x64)
    Нужно установить следующие пакеты:

    Code Block
    # yum install setarch-2* make-3* glibc-2* libaio-0* && \
      yum install compat-libstdc++-33-3* compat-gcc-34-3* compat-gcc-34-c++-3* gcc-4* libXp-1* && \
      yum install openmotif-2* compat-db-4*
    

    После выполнения вышеуказанных действий требуется создать символическую ссылку:

    Code Block
    # ln -s /lib/libgcc_s.so.1 /lib/libgcc_s.so
    

...

На замечания установщика о не пройденных проверках готовности системы можно не обращать внимания.

Замечание для Debian Wheezy: при установке может возникнуть ощибка с установкой emagent. Нажимаем ignore.

По окончании установки необходимо выполнить следующие 2 файла от пользователя root:

...

Code Block
# mkdir /var/oradata && \
  chmod 750 /var/oradata && \
  chown oracle:oinstall /var/oradata

Замечание для Debian Wheezy: после установки необходимо проделать следующие действия:

Code Block
oracle$ cd $ORACLE_HOME/sysman/lib ;
make -f ins_emagent.mk "agent"

Будет ошибка, необходимо скопировать последнюю команду gcc и добавить в конец команды

Code Block
-lnmemso -lcore11 -lnnz11

и выполнить последнюю команду заново.
Справочно: http://www.debian-administration.org/article/656/Installing_Oracle11_on_Debian_Squeeze_and_Lenny 

Создание конфигурационного файла Oracle

...

В зависимости от дистрибутива ОС необходимо произвести следующие действия:

    1. Gentoo Linux
      Нужно создать следующие 2 файла в /etc/init.d с соответствующим содержимым:
      1. ora.database — управление БД

        Code Block
        collapsetrue
        #!/sbin/runscript
        
        # АСР "Гидра". Инициализационный скрипт БД Oracle
        # Автор: Петров Н. В.
        # (C) ООО "Латера Софтвер"
        # www.latera.ru | info@latera.ru
        
        
        # Зависимости
        depend() {
          need net logger hostname clock
        }
        
        
        # Запуск
        start() {
          ebegin "Starting Oracle Database"
        
          # Запуск БД
          su $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
        
          # Выход с результатом запуска
          eend $?
        }
        
        # Остановка
        stop() {
          ebegin "Stopping Oracle Database"
        
          # Остановка БД
          su $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"
        
          # Выход с результатом остановки
          eend $?
        }
        
      2. ora.listener — управление прослушивателем СУБД

        Code Block
        collapsetrue
        #!/sbin/runscript
        
        # АСР "Гидра". Инициализационный скрипт прослушивателя СУБД Oracle
        # Автор: Петров Н. В.
        # (C) ООО "Латера Софтвер"
        # www.latera.ru | info@latera.ru
        
        
        # Зависимости
        depend() {
          need net logger hostname clock
          after ora.database
        }
        
        
        # Запуск
        start() {
          ebegin "Starting Oracle listener"
        
          # Запуск прослушивателя
          su $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start LISTENER"
        
          # Выход с результатом запуска
          eend $?
        }
        
        # Остановка
        stop() {
          ebegin "Stopping Oracle listener"
        
          # Остановка прослушивателя
          su $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop LISTENER"
        
          # Выход с результатом остановки
          eend $?
        }
        

        После создания файлов необходимо выдать разрешение на их запуск и добавить в автозапуск:

        Code Block
        # chmod +x /etc/init.d/ora.* && \
          rc-update add ora.database default && \
          rc-update add ora.listener default
        
    2. Ubuntu Linux, Debian Linux
      Нужно создать следующие 2 файла в /etc/init.d с соответствующим содержимым:
      1. ora.database — управление БД

        Code Block
        collapsetrue
        #!/bin/bash
        
        # АСР "Гидра". Инициализационный скрипт БД Oracle
        # Автор: Петров Н. В.
        # (C) ООО "Латера Софтвер"
        # www.latera.ru | info@latera.ru
        
        ### BEGIN INIT INFO
        # Provides:          ora.database
        # 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 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 {
          # Выполнение команды
          eval $@
        
          # Если выполнение было неудачным
          if [ $? != "0" ]; then
            # Завершение выполнения скрипта
            log_end_msg $RET_FAILED_RUN
            exit $RET_FAILED_RUN
          fi
        }
        
        
        # Действие на основе первого параметра вызова скрипта
        case "$1" in
          # Запуск
          start)
            log_daemon_msg "Starting Oracle Database"
        
            # Инициализация окружения
            init_environment
        
            # Запуск БД
            run_cmd "su $ORACLE_OWNER -c \"$ORACLE_HOME/bin/dbstart $ORACLE_HOME\""
        
            # Выход c успехом
            log_end_msg $RET_OK
            exit $RET_OK
            ;;
          # Остановка
          stop)
            log_daemon_msg "Stopping Oracle Database"
        
            # Инициализация окружения
            init_environment
        
            # Остановка БД
            run_cmd "su $ORACLE_OWNER -c \"$ORACLE_HOME/bin/dbshut $ORACLE_HOME\""
        
            # Выход c успехом
            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 — управление прослушивателем СУБД

        Code Block
        collapsetrue
        #!/bin/bash
        
        # АСР "Гидра". Инициализационный скрипт прослушивателя СУБД Oracle
        # Автор: Петров Н. В.
        # (C) ООО "Латера Софтвер"
        # www.latera.ru | info@latera.ru
        
        ### BEGIN INIT INFO
        # Provides:          ora.listener
        # Required-Start:    $network
        # Required-Stop:     $network
        # Should-Start:      network-manager ora.database
        # Should-Stop:       network-manager ora.database
        # 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
            # Завершение выполнения скрипта
            log_end_msg $RET_FAILED_RUN
            exit $RET_FAILED_RUN
          fi
        }
        
        
        # Действие на основе первого параметра вызова скрипта
        case "$1" in
          # Запуск
          start)
            log_daemon_msg "Starting Oracle listener"
        
            # Инициализация окружения
            init_environment
        
            # Запуск прослушивателя
            run_cmd "su $ORACLE_OWNER -c \"$ORACLE_HOME/bin/lsnrctl start LISTENER\""
        
            # Выход c успехом
            log_end_msg $RET_OK
            exit $RET_OK
            ;;
          # Остановка
          stop)
            log_daemon_msg "Stopping Oracle listener"
        
            # Инициализация окружения
            init_environment
        
            # Остановка прослушивателя
            run_cmd "su $ORACLE_OWNER -c \"$ORACLE_HOME/bin/lsnrctl stop LISTENER\""
        
            # Выход c успехом
            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
        

        После создания файлов необходимо выдать разрешение на их запуск и добавить в автозапуск:

        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 — управление БД

        Code Block
        collapsetrue
        #!/bin/bash
        
        # АСР "Гидра". Инициализационный скрипт БД Oracle
        # Автор: Петров Н. В.
        # (C) ООО "Латера Софтвер"
        # www.latera.ru | info@latera.ru
        
        ### BEGIN INIT INFO# Provides:          ora.database
        # 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 database
        ### END INIT INFO
        # Коды возврата скрипта
        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..."
        
            # Инициализация окружения
            init_environment
        
            # Остановка БД
            run_cmd "su $ORACLE_OWNER -c \"$ORACLE_HOME/bin/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 — управление прослушивателем СУБД

        Code Block
        collapsetrue
        #!/bin/bash
        
        # АСР "Гидра". Инициализационный скрипт прослушивателя СУБД Oracle
        # Автор: Петров Н. В.
        # (C) ООО "Латера Софтвер"
        # www.latera.ru | info@latera.ru
        
        ### BEGIN INIT INFO
        # Provides:          ora.listener
        # Required-Start:    $network
        # Required-Stop:     $network
        # Should-Start:      network-manager ora.database
        # Should-Stop:       network-manager ora.database
        # 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"
        
        
        # Запись в вывод ошибок
        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 listener..."
        
            # Инициализация окружения
            init_environment
        
            # Запуск прослушивателя
            run_cmd "su $ORACLE_OWNER -c \"$ORACLE_HOME/bin/lsnrctl start LISTENER\""
        
            # Выход c успехом
            exit $RET_OK
            ;;
          # Остановка
          stop)
            echo "Stopping Oracle listener..."
        
            # Инициализация окружения
            init_environment
        
            # Остановка прослушивателя
            run_cmd "su $ORACLE_OWNER -c \"$ORACLE_HOME/bin/lsnrctl stop LISTENER\""
        
            # Выход c успехом
            exit $RET_OK
            ;;
          # Перезапуск
          restart)
            # Остановка
            $0 stop
            # Запуск
            $0 start
        
            # Выход с успехом
            exit $RET_OK
            ;;
          # Любое другое действие
          *)
            # Вывод сообщения с вариантами использования
            echo_err "Usage: $0 (start|stop|restart)"
        
            # Выход с неудачей
            exit $RET_BAD_USAGE
            ;;
        esac
        

        После создания файлов необходимо выдать разрешение на их запуск и добавить в автозапуск:

        Code Block
        ~]# 	chmod +x /etc/init.d/ora.* && \
        	chkconfig --add ora.database \
        	chkconfig --add	 ora.listener
        

Запуск Oracle

Следует выполнить следующую команду по запуску прослушивателя СУБД:

Code Block
# /etc/init.d/ora.listener start

Завершающий этап

По завершении всех действий необходимо связаться с ответственным за внедрение сотрудником Latera Software, которому следует сообщить о готовности СУБД Oracle к созданию БД.