10.6. Az Oracle(R) telepítése

Írta: Moolenaar, Marcel.

10.6.1. Előszó

Ez a leírás azt mutatja be, hogyan telepítsük FreeBSD-re az Oracle(R) 8.0.5 és Oracle(R) 8.0.5.1 Enterprise Edition Linux változatait.

10.6.2. A Linux környezet telepítése

Telepítsük az emulators/linux_base és devel/linux_devtools portokat a Portgyűjteményből. Amennyiben ennek során nehézségekbe ütköznénk, próbálkozzunk a korábbi változataikkal.

Fel kell raknunk a Red Hat Tcl csomagját is, ha az alkalmazáshoz tartozó intelligens ügynököt is futtatni szeretnénk. Ez a tcl-8.0.3-20.i386.rpm. A hivatalos RPM port segítségével az alábbi általános parancson keresztül tudunk csomagokat telepíteni:

# rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm csomag

A csomag telepítésének semmilyen hibát nem kellene okoznia.

10.6.3. Az Oracle(R) környezetének létrehozása

Az Oracle(R) telepítéséhez először ki kell alakítanunk a megfelelő környezetet. Ez a leírás kifejezetten arról szól, hogy FreeBSD-n hogyan futtassuk a linuxos Oracle(R)-t, nem pedig az Oracle(R) telepítési útmutatójában bemutatottakat taglalja.

10.6.3.1. A rendszermag hangolása

Ahogy az Oracle(R) telepítési útmutatójában is olvashatjuk, be kell állítanunk az osztott memória maximális méretét. FreeBSD alatt erre a célra ne használjuk az SHMMAX értéket, mivel az SHMMAX az SHMMAXPGS és PGSIZE értékekből számolódik ki. Ezért nekünk itt a SHMMAXPGS értékét kell meghatároznunk. Minden egyéb beállítás történhet az útmutatóban megadottak szerint. Például:

options SHMMAXPGS=10000
options SHMMNI=100
options SHMSEG=10
options SEMMNS=200
options SEMMNI=70
options SEMMSL=61

Hangoljuk be ezeket az értékeket az Oracle(R) tervezett használatához.

Emellett a konfigurációs állományban ne feledkezzünk meg az alábbi beállítások megadásáról sem:

options SYSVSHM #SysV osztott memória
options SYSVSEM #SysV szemaforok
options SYSVMSG #SysV folyamatok közti kommunikáció

10.6.3.2. Az Oracle(R) hozzáférése

Egy rendes hozzáféréshez hasonlóan hozzunk létre egy külön oracle hozzáférést is rendszerünkön. Az oracle hozzáférés csak annyiban különleges, hogy linuxos parancsértelmezőt kell társítanunk hozzá. Ehhez vegyük fel /compat/linux/bin/bash sort az /etc/shells állományba, majd állítsuk át az oracle nevű felhasználó parancsértelmezőjét a /compat/linux/bin/bash programra.

10.6.3.3. Környezet

A megszokott Oracle(R) környezeti változók, mint például az ORACLE_HOME és ORACLE_SID mellett még definiálnunk kell a következőket is:

VáltozóÉrték
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

Javasoljuk, hogy az összes környezeti változót a .profile állományban adjuk meg. Ennek megfelelően a példa beállításai így fognak kinézni benne:

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

10.6.4. Az Oracle(R) telepítése

A Linux emulátorban meghúzódó apró egyenletlenségek miatt a telepítés előtt létre kell hoznunk egy .oracle nevű alkönyvtárat a /var/tmp könyvtárban. Helyezzük ezt az oracle felhasználó tulajdonába. Ezt követően minden további gond nélkül képesek leszünk az Oracle(R) telepítésére. Ha netalán mégis problémákba ütköznénk, először mindig az Oracle(R) telepítési és konfigurációs állományait ellenőrizzük! Az Oracle(R) telepítése után rakjuk fel a következő szakaszokban bemutatandó javításokat.

Gyakran problémát okoz, ha a TCP protokollt még nem telepítettük. Ennek következményeképpen ugyanis nem tudnak elindulni a TCP alapú szolgáltatások. Az alábbi műveletek ebben igyekeznek segíteni:

# 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

Ne felejtsük el ismét elindítani a root.sh szkriptet!

10.6.4.1. A root.sh javítása

Az Oracle(R) telepítése során root (privilegizált) felhasználóként elvégzendő műveleteket a root.sh elnevezésű szkriptben találjuk. Ez a szkript az orainst könyvtárba kerül. A chown parancs helyes lefutásához alkalmazzuk az alább mellékelt javítást, vagy az egész szkriptet egy linuxos parancsértelmezőből indítsuk el.

*** 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

Ha nem CD-ről telepítjük az Oracle(R)-t, akkor akár a root.sh forrását is kijavíthatjuk. A neve rthd.sh, és a forrásfa orainst könyvtárában találhatjuk.

10.6.4.2. A genclntsh javítása

A genclntsh szkript a kliensek által használt osztott könyvtár létrehozására alkalmazható. Általában demók fordításához van rá szükség. Az alábbi javítás alkalmazásával a PATH változó értéke törölhető:

*** 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

10.6.5. Az Oracle(R) futtatása

Ha rendesen követtük az iménti utasításokat, akkor most már úgy tudjuk futtatni az Oracle(R)-t, mintha csak Linuxon futna.

Ha kérdése van a FreeBSD-vel kapcsolatban, a következő címre írhat (angolul): <questions@FreeBSD.org>.

Ha ezzel a dokumentummal kapcsolatban van kérdése, kérjük erre a címre írjon: <gabor@FreeBSD.org>.