letzte Änderung:
TCP-States
Netzwerk
Links
Australien
Wertpapiere
|
Howto Install Oracle
Claus Ebert
Version 1.04
Wie installiert man Oracle 9i (9.2.0.10 for Linux Intel) auf Debian Woody. Ich kann hier natürlich nur beschreiben, wie ich es auf meinem Rechner fertig gebracht habe.
Oracle 9i auf einem Debian-System (Woody) zu installieren ist, wenn die richtigen Pakete installiert sind, eigentlich kein großes Problem. (ausnahmen bestätigen die Regel) Ach ja ... Diese Anleitung setzt einiges Wissen für Debian-Linux und Oracle voraus.
1.1 Vorbereitungen, Requirements
-
Festplatte(n) partitionieren:
für Oracle 9i werden 1GB swap, und 2.0GB (Standard) oder 2.5GB (Enterprise) als
/home/oracle
benötigt. Es ist prinzipiell keine schlechte Idee jetzt gleich eine Partition für die Oracle-Datenfiles anzulegen (wenn möglich auf einer extra Festplatte zwecks Performance ... oder LVM ??).
... ach ja .. Debian benötigt je nach Installation 600MB bis 1.5 GB (KDE).
Das X-Window-System (ohne Desktop-Environments) muss auf jeden Fall installiert werden, da der Oracle-Installer die X-Libraries benötigt und nur unter einer grafischen Oberfläche läuft.
-
Debian installieren (Woody 3.0)
Ich habe auf meinem Rechner Woody als
"bf24"
installiert, und in tasksel folgendes ausgewählt:
[*] X window system
[*] C and C++
Wer eine Destop-Umgebung mit installieren will der sollte in tasksel
[*] desktop environment
wählen. Aber Achtung, diese Desktops benötigen ca. 1 GB zusätzlichen Festplattenplatz.
-
Als
root
einloggen, und die benötigten Gruppen und User anlegen.
-
/usr/sbin/groupadd -g 562 oinstall
Die GID 562 ist die Gruppen-Id auf der Oracle-CD
-
/usr/sbin/groupadd dba
-
/usr/sbin/useradd oracle -d /home/oracle -u 2048 -g oinstall -G users,dba
Erzeugt den Oracle-User. 2840 ist die UID auf der Oracle-CD, und die Gruppen
oinstall, users
und
dba
werden dem neuen User zugewiesen.
-
passwd oracle Damit unser neuer User auch ein Passwort bekommen.
-
mkdir /home/oracle
legt das Home des Oracle-Users an.
-
chown -R oracle.dba /home/oracle
verbrät dem Home-Directory den richtigen Owner.
-
touch /etc/oratab
anlegen der Datei oratab, in der das Script
dbstart
die Oracle-Instanzen sucht, die (z.B. beim Boot) gestartet werden sollen.
-
chown oracle.oinstall /etc/oratab
auch diese Datei muß den richtigen Owner haben.
-
Falls Nicht genügend Swap-Space zur Verfügung stehen sollte, kann mann sich folgendermassen helfen:
-
dd if=/dev/zero of=/tmp/swapfile bs=1k count=1024000
Das Swapfile
/tmp/swapfile
in der Grösse 1GB wird erzeugt.
-
chmod 600 /tmp/swapfile
-
mke2fs /tmp/swapfile
FileSystem EXT2 anlegen.
-
mkswap /tmp/swapfile
als Swap markieren.
-
swapon -v /tmp/swapfile
Aktivieren des neuen Swap-Files
-
Das Shared-Memory sollte für Oracle auf 100MB eingestellt werden, dazu
sysctl kernel.shmmax
eingeben. Falls der ausgegebene Wert kleiner als 100000000 (100MB) ist:
-
sysctl -w kernel.shmmax=100000000
setzt das Shared Memory auf 100MB.
-
echo "kernel.shmmax = 100000000" >> /etc/sysctl.conf
Setzt diesen Wert in der sysctl.conf, so das der Wert zum Boot-Zeitpunkt automatisch gesetzt wird.
-
Damit der Oracle-Installer korrekt startet sollten folgende Einstellungen vorgenommen werden:
-
dpkg-reconfigure locales
Damit sollten zunächst die in Frage kommenden Locales generiert werden.
-
Danach sollten die Environment-Variablen für den User 'oracle' gesetzt werden:
-
-
(
export LC_LANG=de_DE, export LC_ALL=de_DE
und diverse andere ORA-Variablen) siehe
.bash_profile
-
oder via graphische Konfiguration im Windowmanagement (KDE/GNOME) einzustellen.
z.B.
-
Weitere Voraussetzung ist die Installation des Pakets "libstdc++2.9-glibc2.1": (
apt-get install libstdc++2.9-glibc2.1
).
-
Der GCC-Compiler sollte in der Version 2.95 vorhanden sein (kann mit
gcc -v
geprüft werden). Falls gcc in einer neueren Version vorhanden ist, muss der 2.95 GCC installiert werden, und der Link in
/usr/bin
auf den 2.95 Compiler geändert werden.
-
jetzt noch einige nützliche, aber nicht notwendige Pakete
apt-get install mc
Midnight Commander (mit mcedit, einem kleinen Editor)
top
1.2 Die Installation
Als Beispielpfad für die die Installation wurde
/home/oracle
angenommen. Dieser Pfad kann selbstverständlich durch eigene Wünsche ersetzt werden ($ORACLE_HOME muss entsprechend modifiziert werden).
Installations-CD's (1 bis 3) vorbereiten (Durch Ablegen der jeweiligen CD-Kopie in SubDirectories als Disk1, Disk2 und Disk3 kann von der Festplatte installiert werden, was schneller ist und ohne CD-Wechsel vonstatten geht)
-
Als 'root' einloggen
-
Das CD-ROM-Laufwerk (mit der 1. Oracle-CD) mit
mount -o exec /cdrom
mounten (-o exec damit die Dateien auf dem CD-ROM auch ausgeführt werden können).
-
Mit
xhost +
oder besser
xhost + oracle.rechner.com
dem X-Server sagen, das er doch bitte das X-Display des Installers anzeigen soll.
-
Als 'oracle' einloggen.
-
Mit
export DISPLAY=:0.0
das Display auf den lokalen Rechner legen. Durch entsprechenden setzen dieser Variable kann das Display des Installer auf einen beliebigen Rechner im Netzwerk umgeleitet werden. z.B: (
export DISPLAY=mein.rechner.com:0.0
).
Um das Display zu testen einfach
xclock
eingeben. Es sollte dann die Uhr auf dem entsprechenden Rechner erscheinen. Wenn nicht ... hat man ein (lösbares) Problem.
-
Von der 1. Installations-CD, oder vom Directory
$ORACLE_HOME/Disk1
das script
runInstaller
starten.
ACHTUNG
Falls von CD installiert wird NICHT in in das Verzeichnis
/cdrom
wechseln und dann mit
./runInstaller
den Installer starten, sondern mit
/cdrom/runInstaller
den Installer aus einem anderen Verzeichnis starten. Sonst ist es unmöglich das CD-ROM bein CD-Wechsel zu umounten.
-
Im Installer-Applet alle Fragen beantworten, bis mit der Installation begonnen werden kann.
-
Oracle Unix-Gruppe: oinstall
-
Zu Installierndes Produkt: Oracle Database 9.2.0.1.0
-
Installationsart: Standard Edition (2.0GB) oder Enterprise Edition (2.5GB)
-
Datenbank Configuration: Customized / Benutzerdefiniert (ist mehr Arbeit, aber startet am Ende den DB-Assistenten, mit dem man sich Scripten zum erzeugen der Datenbank generieren lassen kann) oder wenn man schon Scripte zum erstellen der Datenbank hat Software Only
-
Ziemlich am Ende der Installation, soll als root das Script
$ORACLE_HOME/root.sh
ausführen. Da in diesem Script davon ausgegangen wird, das
awk
unter
/bin
zu finden ist, scheitert es. Man kann entweder das Script editieren und den Pfad von
/bin
auf
/usr/bin
ändern, oder in
/bin
einen symbolischen Link legen (
ln -s /usr/bin/awk /bin/awk
)
top
1.3 Fehler beim Linken / Makefiles
Beim Auftreten von Fehlermeldungen (z.B.: "Error linking ins_net_client.mk"): ..... Universal Installer nicht abbrechen!!!
-
Neue Shell als oracle-User öffnen
-
$ORACLE_HOME - Variable setzen
-
Sicherungskopie von $ORACLE_HOME/bin/genclntsh erstellen:
cp $ORACLE_HOME/bin/genclntsh $ORACLE_HOME/bin/genclntsh.ori
-
Editieren von genclntsh, Entfernen von ${LD_SELF_CONTAINED} im Bereich 'Create Library'.
-
Danach ausführen des
genclntsh
Scripts
-
Universal Installer: Retry im Error-Fenster anklicken -und weiter gehts-
top
1.4 Permission denied (libclntsh.so.9.0)
Was auch immer diese Fehlermeldung verursacht. Da (bei mir) die Datei vorhanden war, habe ich diese Fehlermeldung ignoriert.
top
1.5 Error in setting permissions of File/Directory ...
Auch hier ist der Grund der Fehler nicht in letzter Konsequenz bakannt
Die Lösung ist (lt. Oracle Metalink) vergleichsweise einfach:
Zuerst einmal der Installer auf keinen Fall beenden.
Dann einfach die Datei (in einer anderen Shell als user
oracle
) mit touch erzeugen.
-
cd /home/oracle/jre/1.1.8/bin/i686/native_threads
touch .extract_args
-
cd /home/oracle/jre/1.1.8/bin/i686/green_threads
touch .extract_args
-
/home/oracle/jre/1.1.8/bin
touch .java_wrapper
-
/home/oracle/jre1.3.1/bin
touch .java_wrapper
Jetzt im Installer mit
retry
den Kopiervorgang wiederholen
top
2.1 Erzeugen der Datenbankscripts
Nach erfolgreicher Installation wird vom Oracle-Installer unter anderem auch der Database-Assistant gestartet (wenn Customized / Benutzerdefiniert als Datenbank-Konfigurartion bei der Installation ausgewählt wurde).
Der Assistennt fragt nach vielen interessanten Dingen, die mann auch brav beantworten sollte. (Wie bereits ganz oben erwähnt ... ich setzt hier einige Oracle-Erfahrung voraus).
Am Ende sollte man die Option
create Scripts
wählen. Dann landen die Scripten unter
$ORACLE_HOME/$SID/scripts
vor hier kann man Sie dann gemütlich Abarbeiten. (Zeitdauer P2 366MHz .. 8 Stunden).
Danach sollte eine funktionsfähige Datenbank zur Verfügung stehen.
top
Wie configurire ich Linux, dass meine Datenbanken beim Starten und Beenden von Linux automatisch mit gestartet und gestoppt werden.
3.1 Erstellen / Kopieren des Start/Stop-Scripts für den init.d
Dieses Script benötigt die Datei
/etc/oratab
, in der alle Instanzen eingetragen sind, die durch dieses Script verwaltet werden sollen. Vor der Installation haben wir diese Datei mit
touch
angelegt, und durch das installieren der Datenbank sollte diese Datei auch mit einigen Hinweisen gefüllt worden sein. Wenn nicht, unter den Beispieldateien befindet sich eine Beschreibung.
Das Script verwendet die von der Installation erzeugten Scripten
$ORACLE_HOME/bin/dbstart
und
$ORACLE_HOME/bin/dbshut
Es sollte auf jeden Fall getestet werden, ob die beiden Scripten funktionieren (was bei mir NICHT der Fall war).
Evtl. müssen in diesen Scripten noch einige Anpassungen gemacht werden.
Ansonsten einfach die Datei Startup-Script
dbora
nach
/etc/init.d/
kopieren.
Nach dem kopieren mit
/etc/init.d/dbora start
(alle Datenbanken starten), und mit
/etc/init.d/dbora stop
(alle Datenbanken stoppen)
testen, ob das Start-Script richtig funktioniert.
top
3.2 Das Startup Script zum Startup anmelden
update-rc.d dbora defaults
Trägt unser Startup-Scrip in den entsprechenden Verzeichnissen ein. Es wird dann beim Linux-Startup und beim Shutdown ausgeführt.
top
Diese Beispiel-Dateien entsprechen den von mir auf meinem Datenbankrechner verwendeten Dateien. Die Variablen die in den Dateien definiert werder ($ORACLE_HOME ...) sollte angepasst werden
4.1 .bash_profile für den Oracle User
diese Datei einfach in das $Home des oracle users kopieren, und die Variablen (ORACLE_HOME ...) den eigenen Bedürfnissen anpassen.
Beispiel .bash_profile für den Oracle-User
top
4.2 Beispiel /etc/oratab
Syntax:Instance:OracleHome:DBStart
z.B:
db:/home/oracle/db:Y
top
4.3 Startup-Script /etc/init.d/dbora
Diese Script benötigt die Datei
/etc/oratab
, in der alle Instanzen eingetragen sind, die durch dieses Script verwaltet werden sollen.
Beispiel Startup-Script /etc/init.d/dbora
Einfach nach
/etc/init.d/
kopieren und mit:
/etc/init.d/dbora start
alle Datenbanken starten, und mit
/etc/init.d/dbora stop
alle Datenbanken stoppen
top
4.4 Beispiel listener.ora
Configurationsdatei des Listeners
Beispiel listener.ora
top
4.5 Beispiel Datenbank create scripts
Meine Create-Scripts
Beispiel CEDB.sh
Beispiel context.sql
Beispiel CreateDB.sql
Beispiel CreateDBCatalog.sql
Beispiel CreateDBFiles.sql
Beispiel init.ora
Beispiel interMedia.sql
Beispiel JServer.sql
Beispiel ordinst.sql
Beispiel postDBCreation.sql
Beispiel xdb_protocol.sql
top
Das letzte mir bekannte Patchser ist Patch No:3095277 (9.2.0.4) cs. 350MB
|