Удостоверьтесь, что порты emulators/linux_base и devel/linux_devtools установлены на вашей системе. Если у вас
возникнут трудности с этими портами, воспользуйтесь более ранней их версией.
Если вы хотите использовать intelligent agent, также понадобится TCL пакет от Red Hat:
tcl-8.0.3-20.i386.rpm. Для этого воспользуйтесь следующей
командой RPM (archivers/rpm):
# rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm пакет
Установка этого пакета должна пройти без каких-либо
ошибок.
Прежде чем вы сможете установить Oracle, вам необходимо обеспечить соответствующее окружение.
Ниже дана информация, что именно
нужно сделать, чтобы успешно запускать Oracle для Linux под FreeBSD, а не то, что написано в
фирменном руководстве по установке Oracle.
Как описывается в руководстве по установке Oracle, необходимо установить максимальный размер
разделяемой памяти. Не используйте SHMMAX под FreeBSD. SHMMAX высчитывается, исходя из SHMMAXPGS и PGSIZE. Следовательно, нужно
задавать SHMMAXPGS. За информацией о прочих опциях обратитесь
к фирменному руководству. Пример настроек:
options SHMMAXPGS=10000
options SHMMNI=100
options SHMSEG=10
options SEMMNS=200
options SEMMNI=70
options SEMMSL=61
Установите эти опции в зависимости от того, как и для чего вы будете использовать Oracle.
Не забудьте добавить следующие строки в файл конфигурации ядра:
options SYSVSHM # разделяемая память SysV
options SYSVSEM # семафоры SysV
options SYSVMSG # межпроцессное взаимодействие SysV
Создайте специальную учетную запись oracle, как и любую
другую учетную запись. Единственное отличие в том, что для oracle необходимо указать командный интерпретатор Linux. Добавьте
/compat/linux/bin/bash в /etc/shells
и установите для oracle командный интерпретатор /compat/linux/bin/bash.
Кроме стандартных переменных окружения Oracle, таких как ORACLE_HOME и ORACLE_SID, вам нужно будет установить следующие дополнительные
переменные:
Желательно устанавливать их в файле .profile. Вот реальный
пример:
ORACLE_BASE=/oracle; export ORACLE_BASE
ORACLE_HOME=/oracle; export ORACLE_HOME
LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH
ORACLE_SID=ORCL; export ORACLE_SID
ORACLE_TERM=386x; export ORACLE_TERM
CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip
export CLASSPATH
PATH=/compat/linux/bin:/compat/linux/sbin:/compat/linux/usr/bin
PATH=$PATH:/compat/linux/usr/sbin:/bin:/sbin:/usr/bin:/usr/sbin
PATH=$PATH:/usr/local/bin:$ORACLE_HOME/bin
export PATH
Из-за небольшой несовместимости с Linux эмулятором, вам нужно будет создать подкаталог
.oracle в каталоге /var/tmp прежде,
чем можно будет начать установку. Либо сделайте ее владельцем пользователя oracle, либо поставьте права на запись для всех. Если вы все
сделали правильно, то установка Oracle должна пройти без проблем. Если какие-либо трудности
все же возникли, проверьте еще раз все конфигурационные файлы и/или целостность
дистрибутива Oracle. После
окончания установки Oracle
приложите патчи (смотрите следующие два раздела).
Одна из часто возникающих проблем -- неправильно установленный TCP адаптер. В
результате, невозможно запустить TCP сервисы. Вот решение проблемы:
# cd $ORACLE_HOME/network/lib
# make -f ins_network.mk ntcontab.o
# cd $ORACLE_HOME/lib
# ar r libnetwork.a ntcontab.o
# cd $ORACLE_HOME/network/lib
# make -f ins_network.mk install
Не забудьте повторно запустить root.sh!
При установке Oracle
необходимо выполнить некоторые действия (имея при этом привилегии суперпользователя).
Фактически это сводится к выполнению скрипта root.sh, который
находится в директории orainst. Перед запуском, приложите к
нему следующий патч (исправляет местонахождение утилиты chown), либо запускайте его в
командном интерпретаторе Linux.
*** orainst/root.sh.orig Tue Oct 6 21:57:33 1998
--- orainst/root.sh Mon Dec 28 15:58:53 1998
***************
*** 31,37 ****
# This is the default value for CHOWN
# It will redefined later in this script for those ports
# which have it conditionally defined in ss_install.h
! CHOWN=/bin/chown
#
# Define variables to be used in this script
--- 31,37 ----
# This is the default value for CHOWN
# It will redefined later in this script for those ports
# which have it conditionally defined in ss_install.h
! CHOWN=/usr/sbin/chown
#
# Define variables to be used in this script
Если вы устанавливаете Oracle не с компакт диска, можно модифицировать исходный
файл root.sh. Он называется rthd.sh и
находится в каталоге orainst.
Скрипт genclntsh используется для того, чтобы создать единую
совместно используемую клиентскую библиотеку, которая используется для создания
демонстраций. Приложите следующий патч, чтобы закомментировать определение переменной PATH:
*** bin/genclntsh.orig Wed Sep 30 07:37:19 1998
--- bin/genclntsh Tue Dec 22 15:36:49 1998
***************
*** 32,38 ****
#
# Explicit path to ensure that we're using the correct commands
#PATH=/usr/bin:/usr/ccs/bin export PATH
! PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH
#
# each product MUST provide a $PRODUCT/admin/shrept.lst
--- 32,38 ----
#
# Explicit path to ensure that we're using the correct commands
#PATH=/usr/bin:/usr/ccs/bin export PATH
! #PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH
#
# each product MUST provide a $PRODUCT/admin/shrept.lst