Hieronder wordt het installatieproces van Oracle® 8.0.5 en Oracle® 8.0.5.1 Enterprise Edition voor Linux® op een FreeBSD-machine beschreven.
Uit de Portscollectie dienen emulators/linux_base en devel/linux_devtools geïnstalleerd te zijn. Als er problemen zijn met deze ports, kan het zijn dat de pakketten of oudere versies uit de Portscollectie gebruikt moeten worden.
Om de intelligente agent te draaien, moet ook het Red Hat
Tcl package geïnstalleerd worden:
tcl-8.0.3-20.i386.rpm
. Het algemene
commando om pakketten te installeren met de officiële
RPM port (archivers/rpm) is:
#
rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm package
De installatie van het package
hoort foutloos te verlopen.
Voordat Oracle® geïnstalleerd kan worden, moet een juiste omgeving opgezet worden. Dit document beschrijft alleen welke speciale dingen gedaan moeten worden om Oracle® voor Linux® op FreeBSD te draaien, en niet wat beschreven staat in de Oracle® installatiehandleiding.
Zoals beschreven staat in de
Oracle® installatiehandleiding
moet de maximale grootte van het gedeelde geheugen ingesteld
worden. Op FreeBSD moet SHMMAX
niet gebruikt
worden. SHMMAX
wordt slechts uit
SHMMAXPGS
en PGSIZE
berekend. Daarom dient SHMMAXPGS
gedefinieerd te worden. Alle andere opties kunnen gebruikt
worden zoals in de handleiding staat beschreven.
Bijvoorbeeld:
options SHMMAXPGS=10000 options SHMMNI=100 options SHMSEG=10 options SEMMNS=200 options SEMMNI=70 options SEMMSL=61
Deze opties kunnen naargelang het gebruik van Oracle® ingesteld worden.
Ook de volgende opties dienen in het kernelinstellingenbestand te staan:
options SYSVSHM #SysV gedeeld geheugen options SYSVSEM #SysV semaforen options SYSVMSG #SysV interprocescommunicatie
Creeër een oracle
account op
dezelfde manier als elk ander account. Het
oracle
account is alleen bijzonder in
het opzicht dat het een Linux® shell moet hebben. Dat kan
door /compat/linux/bin/bash
toe te voegen
aan /etc/shells
en de shell voor het
oracle
account in te stellen op
/compat/linux/bin/bash
.
Naast de normale Oracle®
variabelen als ORACLE_HOME
en
ORACLE_SID
moeten de volgende
omgevingsvariabelen ingesteld worden:
Variabele | Waarde |
---|---|
LD_LIBRARY_PATH | $ORACLE_HOME/lib |
CLASSPATH | $ORACLE_HOME/jdbc/lib/classes111.zip |
PATH | /compat/linux/bin;
/compat/linux/sbin;
/compat/linux/usr/bin;
/compat/linux/usr/sbin;
/bin;
/sbin;
/usr/bin;
/usr/sbin;
/usr/local/bin;
$ORACLE_HOME/bin |
Het is aan te raden om alle omgevingsvariabelen in
.profile
in te stellen. Een volledig
voorbeeld is:
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
Wegens een kleine inconsistentie in de Linux® emulator
moet de map .oracle
aangemaakt worden
in /var/tmp
voordat het
installatieprogramma wordt gestart. De gebruiker
oracle
moet de eigenaar van deze map
zijn. Nu hoort Oracle® zonder
problemen te installeren. Bij problemen dienen eerst de
Oracle® distributie en/of de
instellingen gecontroleerd te worden! Nadat
Oracle® is geïnstalleerd,
moeten de patches uit de volgende twee secties
geïnstalleerd worden.
Een veelvoorkomend probleem is dat de adapter voor het TCP-protocol niet goed is geïnstalleerd. De consequentie daarvan is dat er geen TCP-listeners gestart kunnen worden. De volgende acties helpen om dit probleem op te lossen:
#
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
Hierna dient root.sh
nogmaals te
draaien!
Als Oracle®
geïnstalleerd wordt, worden sommige acties die als
root
moeten worden uitgevoerd
geregistreerd in een shellscript met de naam
root.sh
. Dit script komt in de map
orainst
te staan. De volgende patch
dient uitgevoerd te worden op root.sh
om
het de juiste locatie van chown
te laten
gebruiken of als alternatief kan het script onder een
originele Linux® shell gedraaid worden
*** 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
Als Oracle® niet vanaf
een CD-ROM wordt geïnstalleerd, kan de broncode van
root.sh
aangepast worden. Die heet
rthd.sh
en staat in de map
orainst
in de broncodestructuur.
Het script genclntsh
wordt gebruikt om
é´n enkele gedeelde bibliotheek voor de
cliënt aan te maken. Het wordt gebruikt tijdens het
maken van de demonstraties. Met de volgende patch wordt de
definitie van PATH
uitgecommentarieerd:
*** 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