...
Code Block |
---|
# usermod -a -G dba nixon && \ usermod -a -G dba llama && \ usermod -a -G dba gordon && \ usermod -a -G dba fly && \ usermod -a -G dba lodkintischenko && \ usermod -a -G dba tischenkonetflash && \ usermod -a -G dba netflashsda && \ usermod -a -G dba sdamatsak && \ usermod -a -G dba chornobay |
После этого необходимо добавить новый конфигурационный файл sudo /etc/sudoers.d/oracle
и выдать специальные права доступа к нему:
...
Code Block |
---|
oracle soft nproc 20474096 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 |
В файл /etc/pam.d/login
необходимо добавить следующую строку (если ее там нет):
...
В зависимости от дистрибутива необходимо произвести следующие действия.
Gentoo Linux
Необходимо создать файл/etc/env.d/99oracle
со следующим содержимым:Code Block ORACLE_BASE="/opt/oracle" ORACLE_HOME="/opt/oracle/product/11.2.0.2" ORACLE_SID="$ORACLE_SID" ORACLE_OWNER="oracle" TNS_ADMIN="/etc/oracle" NLS_LANG="AMERICAN_RUSSIA.AL32UTF8" DISABLE_HUGETLBFS="1" PATH="/opt/oracle/product/11.2.0.2/bin:/opt/oracle/product/11.2.0.2/OPatch" ROOTPATH="/opt/oracle/product/11.2.0.2/bin" TZ="$TZ"
$TZ
нужно заменить на часовой пояс системы (например,Europe/Moscow
),$ORACLE_SID
— название основной БД (будет создана отдельно и, как правило, совпадает с названием компании).
После этого нужно обновить системные переменные окружения следующей командой:Code Block # env-update && \ source /etc/profile
Debian Linux
Необходимо добавить в файл/etc/environment
следующее содержимое:Code Block ORACLE_BASE="/opt/oracle" ORACLE_HOME="/opt/oracle/product/11.2.0.2" ORACLE_SID="$ORACLE_SID" ORACLE_OWNER="oracle" TNS_ADMIN="/etc/oracle" NLS_LANG="AMERICAN_RUSSIA.AL32UTF8" DISABLE_HUGETLBFS="1" TZ="$TZ"
$TZ
нужно заменить на часовой пояс системы (например,Europe/Moscow
),$ORACLE_SID
— название основной БД (будет создана отдельно и, как правило, совпадает с названием компании).
Также необходимо добавить в файл/etc/profile
перед строкойCode Block export PATH
следующее содержимое:
Code Block PATH="$PATH:/opt/oracle/product/11.2.0.2/bin:/opt/oracle/product/11.2.0.2/OPatch"
После этого нужно перевыполнить вход в систему, чтобы переменные окружения обновились.
Ubuntu Linux
Необходимо изменить в файле/etc/environment
значение переменнойPATH
, добавив в конец ее значения следующее содержимое:Code Block :/opt/oracle/product/11.2.0.2/bin:/opt/oracle/product/11.2.0.2/OPatch
Также дополнительно необходимо добавить в этот файл следующее содержимое:
Code Block ORACLE_BASE="/opt/oracle" ORACLE_HOME="/opt/oracle/product/11.2.0.2" ORACLE_SID="$ORACLE_SID" ORACLE_OWNER="oracle" TNS_ADMIN="/etc/oracle" NLS_LANG="AMERICAN_RUSSIA.AL32UTF8" DISABLE_HUGETLBFS="1" TZ="$TZ"
$TZ
нужно заменить на часовой пояс системы (например,Europe/Moscow
),$ORACLE_SID
— название основной БД (будет создана отдельно и, как правило, совпадает с названием компании).
После этого нужно перевыполнить вход в систему, чтобы переменные окружения обновились.Red Hat Enterprise Linux
В файл/etc/environment
необходимо добавить следующее содержимое:Code Block ORACLE_BASE="/opt/oracle" ORACLE_HOME="/opt/oracle/product/11.2.0.2" ORACLE_SID="$ORACLE_SID" ORACLE_OWNER="oracle" TNS_ADMIN="/etc/oracle" NLS_LANG="AMERICAN_RUSSIA.AL32UTF8" DISABLE_HUGETLBFS="1" PATH="$PATH" TZ="$TZ"
$TZ
нужно заменить на часовой пояс системы (например,Europe/Moscow
),$ORACLE_SID
— название основной БД (будет создана отдельно и, как правило, совпадает с названием компании).$PATH
нужно заменить результатом выполнения команды:Code Block # echo $PATH:/opt/oracle/product/11.2.0.2/bin:/opt/oracle/product/11.2.0.2/OPatch
После этого нужно перевыполнить вход в систему, чтобы переменные окружения обновились.
...
В зависимости от дистрибутива ОС необходимо произвести следующие дополнительные действия.
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 /usr/bin/arch /bin/arch && \ ln -s /usr/bin/sort /bin/sort && \ ln -s /lib/libgcc_s.so.1 /lib/libgcc_s.so
Также необходимо установить OpenSSH-сервер с USE-флагом "X", если это еще не сделано:
Code Block # USE="X" emerge openssh
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/arch /bin/arch && \ ln -s /usr/bin/sort /bin/sort && \ 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
Debian Linux (x64) wheeze
Нужно установить следующие пакеты:Code Block # dpkg --add-architecture i386 ; aptitude update ; aptitude install libstdc++5 libstdc++5:i386 libc6-dev:i386 x11-utils libmotif4 libaio1 lesstif2 lesstif2-dev lib32stdc++6 lib32z1 sysstat rlwrap unixodbc unixodbc-dev elfutils rpm make g++ gcc
Далее создать ссылки
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/ && \ ln -s /usr/bin/awk /bin/awk && \ ln -s /usr/bin/rpm /bin/rpm && \ ln -s /usr/bin/arch /bin/arch && \ ln -s /usr/bin/sort /bin/sort && \ ln -s /lib/libgcc_s.so.1 /lib/libgcc_s.so && \ ln -s /usr/bin/basename /bin/basename
и изменить файл /etc/fstab добавить строку и перезагрузить машину. Размер указать в половину оперативной памяти
Code Block # See "man tmpfs" and https://forums.oracle.com/forums/thread.jspa?messageID=9057494 none /dev/shm tmpfs defaults,size=16G 0 0
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:
при возникновении ошибки с agent nmhs решить ее как здесь описано ниже (Замечание для Debian Wheezy). Подробнее тут: https://cncommunity.forums.oracle.com/forums/thread.jspa?threadID=1091616message/4396359#4396359
при установке может возникнуть ощибка с установкой emagent. Нажимаем Continue.
...
В зависимости от дистрибутива ОС необходимо произвести следующие действия:
- Gentoo Linux
Нужно создать следующие 2 файла в/etc/init.d
с соответствующим содержимым:ora.database
— управление БДCode Block collapse true #!/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 $? }
ora.listener
— управление прослушивателем СУБДCode Block collapse true #!/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
- Ubuntu Linux, Debian Linux
Нужно создать следующие 2 файла в/etc/init.d
с соответствующим содержимым:ora.database
— управление БДCode Block collapse true #!/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
ora.listener
— управление прослушивателем СУБДCode Block collapse true #!/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
- Red Hat Enterprise Linux
Нужно создать следующие 2 файла в/etc/init.d
с соответствующим содержимым:ora.database
— управление БДCode Block collapse true #!/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
ora.listener
— управление прослушивателем СУБДCode Block collapse true #!/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
- Ubuntu Linux, Debian Linux
Запуск Oracle
Следует выполнить следующую команду по запуску прослушивателя СУБД:
...