Omdat ik zelf Linux Slackware 11 op mijn server draai en er helaas geen ondersteuning is voor Slackware door Oracle, moes ik wat aanpassingen maken om alles aan de praat te krijgen. Gelukkig heb ik bijna alles kunnen vinden op het Oracle forum om dit voor elkaar te krijgen, maar niet alles in een keer. Vandaar dat ik deze maar zelf gemaakt heb zodat anderen hier misschien ook plezier van kunnen hebben.
De volgende code zal als root moeten worden uitgevoerd
Aanmaken van een gebruiker oracle, tevens een group dba waar user oracle gelijk lid van wordt gemaakt
———————–
# groupadd dba
# useradd -s /bin/bash -c “Oracle XE gebruiker” -m -d /usr/lib/oracle -g dba oracle
# passwd oracle
———————–
In de root alle files uitpakken van de Oracle database XE, dit bestand is te downloaden van de Oracle site. Denk er aan dat je wel in de root (/) staat, anders komen de bestanden in de verkeerde directory te staan!
———————–
# cd /
# rpm2cpio /mnt/hd/oracle-xe-10.2.0.1-1.0.i386.rpm | cpio –idv
———————–
Omdat deze Oracle-file eigenlijk voor Fedora is bedoeld zal het opstart/configure gezet worden in /etc/init.d/oracle-xe. Geef deze exec rechten en zelf heb ik een link gemaakt naar de slackware opstart scripts.
———————–
# chmod 711 /etc/init.d/oracle-xe
# ln -s /etc/init.d/oracle-xe /etc/rc.d
———————–
Het script is niet helemaal compatible voor Slackware 11, hierdoor heb ik een paar aanpassingen moeten maken. Alle stukken tekst met ‘> /dev/null’ vervangen door: ‘# /dev/null’ en de teksten ‘-s /bin/bash’ verwijderen uit oracle-xe. Het script vult niet goed de waardes %pga_target% en %sga_target% in de files init.ora en initXETemp.ora in ‘/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts’.
Zelf heb ik %sga_target% and %pga_target% vervangen voor ‘104857600’ (100MB) en SGA ‘20971520’ (20MB) for PGA. Dit waren de minimale waardes voor PGA en SGA geheugen (heb maar een oude server vandaar mijn keuze).
———————–
sga_target=104857600
pga_aggregate_target=20971520
———————–
Tijdens het configuren van de server kreeg ik een foutmelding van het missen van de library libaio. Deze heb ik van van
http://download.fedora.redhat.com/pub/fedora/linux/core/3/i386/os/Fedora/RPMS/libaio-0.3.102-1.i386.rpm gehaald, aangezien ik op het forum lag dat de versie van Slackware 11 zelf niet compatibele is.
———————–
# rpm -i –nodeps /tmp/libaio-0.3.104-2.i386.rpm
———————–
Nu pas configureren anders kan je de hele installatie opnieuw maken. Ik heb dit meerdere keren moeten doen, dus je bent gewaarschuwd!
/etc/rc.d/oracle-xe configure
Als je wil dat de liserner automatisch word opgestart zal je ondank dat je in configuratie hebt aangegeven doormiddel van een [y] toch naar /etc/oratab moeten gaan en daar de laatste teken N vervangen voor een Y. Nu nog rechten geven aan de gebruiker oracle voor de oracle map.
—————–
# chown -R oracle:dba /usr/lib/oracle/xe
—————–
log nu in als user oralce user, maak file nu de file (/usr/lib/oracle/).bash_profile aan en zet hier het een en ander in zoals path naar oracle server lib/bin enz. Zodat deze automatische worden opgestart als de user oracle vanaf nu inlogt.
——————–
#!/bin/sh
ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
LD_LIBRARY_PATH=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib
ORACLE_SID=XE
PATH=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin:$PATH
export ORACLE_HOME ORACLE_SID PATH
——————–
Even uitloggen en weer inloggen, als het goed is moet nu alles werken en kan je als oracle user nu gebruik maken van sqlplus. Hierna kan je gewoon apex 3.0.1 instaleren, zoals uitgebreid op de Oracle site is beschreven voor linux/unix systemen. Zelf liep ik er alleen tegen aan dat ik geen temporary tablespace had. Deze is wel nodig voor Apex 3.0.1 installatie. Deze heb ik aangemaakt en verder heb ik geen problemen ondervonden. let op deze tablespace moet wel minimaal 100mb zijn! Na de install de apex site ook bereikbaar maken voor buiten af kan in sqlplus met de code:
SQL> EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);
Aangezien mijn server geen X interface had kon ik dit niet doen in de webbrowser.
Na 4 avonden uitzoek werk, eindelijk een Oracle XE server met Apex 3.0.1 draaiend op mijn Slackware server, hoop dat ik deze ellende anderen kan besparen hiermee.
