1 Themenübersicht
Diese Dokumentation beschreibt die Installation von Oracle 11g in der englischen Ausführung. Die genannten Texte in den jeweiligen Dialogfenstern der Installationsassistenten, beispielsweise zu Einstellungen oder auf Buttons, lauten in anderen Sprachen in der Regel anders. Beispielsweise wird für den Button-Text „Next“ in der deutschen Sprache „Weiter“ verwendet. Sie können davon ausgehen, dass die jeweiligen Einstellungen, Buttons etc. in verschiedenen Sprachen an den gleichen Stellen im Dialogfenster platziert sind. Außerdem erhalten Sie zu den jeweiligen Beschreibungen oder Anleitungsschritten weitere Informationen, so dass Sie mit der vorliegenden Dokumentation auch Oracle 11g in einer anderen Sprache installieren können.
In dieser Dokumentation wird ergänzend zu der von Oracle und RedHat gelieferten Dokumentation beschrieben, welche Einstellungen für die Installation eines Semiramis-Systems vorzunehmen sind. Beschrieben wird der Ablauf einer Installation des Oracle RDBMS Standard-Edition 11.2.0.1.0 auf der Linux Distribution RedHat Enterprise Linux 5.3 einer x86_64-Architektur.
Zusätzliche Hinweise für die Installation auf der Linux Distribution SLES-11 von Novell sind in dieser Anleitung ebenfalls enthalten.
Diese Standardinstallation ermöglicht, ein Semiramis-System für Demonstrationszwecke zu betreiben. Ein Produktivsystem erfordert weitere Anpassungen durch den installierenden Partner.
2 Zielgruppe
Systemadministratoren der Semiramis-Partner, die Semiramis auf Basis der Oracle-Datenbank unter Linux betreiben möchten.
3 Voraussetzungen
In diesem Dokument wird die Installation des Datenbank-Management-Systems von Oracle 11.2.0.1.0 Standard Edition beschrieben. Andere Oracle-Releases können in den Auswahlmöglichkeiten und im Ablauf abweichen.
Hinweis:
Lesen Sie die Oracle-Dokumentation (Installationsleitfaden), bevor Sie mit der Installation beginnen. Informationen hierzu finden Sie zum Beispiel auf http://www.oracle.com/technology/documentation/index.html (Stand: 06.10.2009).
Auf den Installationspartitionen sollten mindestens 25GB freier Speicherplatz für die Datenbank und Semiramis vorhanden sein. Davon benötigt Oracle, je nach gewählten Installationskomponenten, ca. 5,5 GB.
Verwenden Sie die aktuellste Version der Dokumentation Systemvoraussetzungen, um Informationen zu freigegebenen Betriebssystem-Versionen und Oracle-Versionen zu erhalten.
4 Konventionen
Halten Sie die Oracle-Konventionen zur Erstellung von Datenbanken ein. Beachten Sie hierfür bitte den von Oracle veröffentlichten Optimal Flexible Architecture (OFA) Standard. Die Verwendung von Semiramis-Konventionen zur Namensvergabe der einzelnen Benutzer und Tablespaces wird dringend empfohlen.
Für eine Installation eines Semiramis Auslieferungssystems muss für die Datenbankinstanz der System Identifier (SID) orcl vergeben werden.
5 Installationsvorbereitungen
Die Installation umfasst die folgenden Schritte:
- Installation des Oracle Datenbank-Management-Systems.
- Installation einer Datenbankinstanz mit dem Datenbank-Konfigurationsassistenten (Database Configuration Assistant).
Damit ein einwandfreier Betrieb der Datenbank unter Linux gewährleistet ist, passen Sie vor der Installation die Einstellungen bei Benutzern, Benutzergruppen, Kernel-Parametern des Betriebssystems an.
5.1 Betriebssystem anpassen
Stellen Sie sicher, dass Sie mehr als 1 GB freien Speicherplatz im Verzeichnis /tmp zur Verfügung haben.
5.1.1 RedHat
Stellen Sie sicher, dass Sie die notwendigen Pakete folgender Version oder höher installiert haben:
- 11gR2
binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
compat-libstdc++-33-3.2.3 (32 bit)
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-24
glibc-2.5-24 (32 bit)
glibc-common-2.5
glibc-devel-2.5
glibc-devel-2.5 (32 bit)
glibc-headers-2.5
ksh-20060214
libaio-0.3.106
libaio-0.3.106 (32 bit)
libaio-devel-0.3.106
libaio-devel-0.3.106 (32 bit)
libgcc-4.1.2
libgcc-4.1.2 (32 bit)
libstdc++-4.1.2
libstdc++-4.1.2 (32 bit)
libstdc++-devel 4.1.2
make-3.81
sysstat-7.0.2
unixODBC-2.2.11
unixODBC-2.2.11 (32 bit)
unixODBC-devel-2.2.11
unixODBC-devel-2.2.11 (32 bit)
Um die RPM-Pakete nachträglich zu installieren, geben Sie folgenden Befehl ein:
su –
yum install binutils compat-libstdc++-33 elfutils-libelf …
5.1.2 SuSE
Installieren Sie folgende Paket-Schemas. Diese beinhalten alle für den Betrieb von Oracle 11g R2 benötigten Pakete:
Oracle-Server-Basis
C/C++: Compiler und Werkzeuge
Auf 64Bit Systemen installieren Sie zusätzlich das Paket:
libstdc++43-devel-32bit
Um die Entwicklungspakete nachträglich zu installieren, ist die Verwendung von Yast zu empfehlen.
5.2 Oracle-Benutzer anlegen
5.2.1 RedHat
Oracle-Benutzer und Benutzergruppen erstellen Sie mit den folgenden Befehlen:
su –
groupadd dba
groupadd oinstall
useradd –c “Oraclesoftware” –g oinstall –G dba oracle
passwd oracle
5.2.2 SuSE
Die Installation des „orarun“-Packages legt einen Oracle-Benutzer an, dessen Konto deaktiviert ist. Zur Installation aktivieren Sie die Shell des Oracle Benutzers durch Änderung von „/bin/false“ auf „/bin/bash“, ordnen den Benutzer den entsprechenden Benutzergruppen zu und setzen ein Benutzerkennwort:
su –
usermod –s /bin/bash –g oinstall –G dba oracle
passwd oracle
5.3 Oracle-Verzeichnisse anlegen
5.3.1 RedHat
Erstellen Sie die von Oracle verwendeten Verzeichnisse. Stellen Sie sicher, dass Sie „/opt/oracle“ auf einer Partition anlegen, die mindestens 4,0 GB freien Speicherplatz zur Verfügung hat.
su –
mkdir /opt/oracle
chown oracle:oinstall /opt/oracle
chmod 0775 /opt/oracle
mkdir /opt/oraInventory
chown oracle:oinstall /opt/oraInventory
chmod 0775 /opt/oraInventory
Prüfen Sie den vorhandenen Platz mit dem Befehl:
df –m /opt/oracle
5.3.2 SuSE
Unter SuSE werden die benötigten Verzeichnisse über das „orarun“-Package angelegt. Hier ist lediglich das Verzeichnis „/opt/oraInventory“ wie im RedHat-Abschnitt beschrieben anzulegen.
5.3.3 Temporärer Swap
Sollten Sie vorübergehend mehr Swap benötigen, können Sie ein temporäres Swapfile mit folgenden Befehlen erstellen:
su –
dd if=/dev/zero of=/tmpswap bs=4k count=250000
chmod 0600 /tmpswp
mkswap /tmpswap
swapon /tmpswap
Dies führt zur Erstellung der Datei tmpswap mit der Größe 250000 * 4 KB = 1 GB. Nach der Installation entfernen Sie dieses temporäre Swapfile mit den Befehlen:
su –
swapoff /tmpswap
rm /tmpswap
5.4 Kernel-Parameter anpassen
Fügen Sie, wie in den Oracle Installationsanweisungen beschrieben, folgende Zeilen der Datei /etc/sysctl.conf hinzu, falls dort nicht schon höhere Werte gesetzt sind:
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
kernel.shmall = 2097152
kernel.shmmax = 536870912
fs.file-max = 6815744
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
Für SuSE-Distributionen aktivieren Sie die Datei beim Boot-Vorgang, falls nicht bereits aktiv:
chkconfig boot.sysctl on
Deaktivieren Sie zusätzlich das Setzen von sysctl-Parametern in SuSE durch das Oracle-Init-Skript. Setzen Sie dazu den Parameter SET_ORACLE_KERNEL_PARAMETERS=”no” in der Datei /etc/sysconfig/oracle. Nach dieser Veränderung sollten Sie das System neu starten. Die Parameter werden bei jedem Start des Systems gesetzt. Alternativ können mittels „sysctl –p“ die Einstellungen sofort aktiv geschaltet werden.
Mit Hilfe von „sysctl –a“ können Sie überprüfen, ob die konfigurierten Parameter auch tatsächlich verwendet werden.
5.5 Shell Limits anpassen
Fügen Sie, wie in den Oracle Installationsanweisungen beschrieben, folgende Zeilen der Datei /etc/security/limits.conf hinzu (höhere Werte sind ebenfalls möglich), falls diese nicht schon passend existieren:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 10240
Fügen Sie anschließend folgende Zeile der Datei „/etc/pam.d/login“ hinzu, falls diese noch nicht existiert:
session required pam_limits.so
Unter SuSE sind diese Einträge bis auf den stack-Eintrag bereits vorkonfiguriert.
5.6 Oracle Profile anpassen
Melden Sie sich als Benutzer „oracle“ an das System an und fügen Sie folgende Zeilen der Datei .bash_profile im Homeverzeichnis hinzu:
umask 022
export ORACLE_BASE=/opt/oracle
export ORACLE_SID=orcl
export LANG=C
unset ORACLE_HOME
unset TNS_ADMIN
unset AGENT_HOME
Prüfen Sie nach einer erneuten Anmeldung mit folgenden Befehlen, ob die Umgebungsvariablen korrekt gesetzt wurden:
umask
env | less
Weitere hilfreiche Informationen zur Installation von Oracle auf Linux-Distributionen finden Sie auch unter:
http://www.oracle.com/technology/tech/linux/install/index.html (Stand: 12.10.2009)
Hinweis:
Die angegebenen Links können schnell veralten. Darüber hinaus sind diese Internet-Seiten als Informationsquellen zu betrachten. Lesen Sie daher die Angaben genau, bevor Sie Tipps und Tricks anwenden.
6 Installation von Oracle
Kopieren Sie die Inhalte der Installations-Medien oder die aus dem Internet herunter geladenen Installationsdateien auf die lokale Festplatte in ein Verzeichnis und entpacken Sie die Inhalte mit „unzip <filename>“:
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
6.1 Installation und Konfiguration des Oracle DBMS
6.1.1 Installation der Oracle Software
In diesem Kapitel wird Schritt für Schritt eine Installation der Oracle Software vorgenommen. Die Screenshots beziehen sich auf Oracle Version 11gR2.
Loggen Sie sich als User „oracle“ ein. Prüfen Sie, ob die ORACLE_* Umgebungsvariablen korrekt gesetzt sind. Nutzen Sie zum Prüfen den Befehl
env | less
Falls die Variablen nicht gesetzt sind, geben Sie den Befehl
. ~/.bash_profile
ein, um die Variablen zu setzen. Prüfen Sie nach dem Befehl nochmals die Umgebungsvariablen.
Starten Sie das Programm /database/runInstaller. „database“ ist hier der Name des Verzeichnisses, das beim Entpacken des Zipfiles entstanden ist. Dieses Programm startet den „Universal Installer“ von Oracle.
Im folgenden Abschnitt werden die benötigten Eingaben in den einzelnen Schritten beschrieben.
- Oracle Universal Installer: Configure Security Updates
Entfernen Sie das Häkchen bei „I wish to receive security updates via My Oracle Support“. Klicken Sie anschließend auf „Next“. Bei der folgenden Nachfrage „Email Address Not Specified“ klicken Sie auf „Yes“.
- Oracle Universal Installer: Select Installation Option
Wählen Sie die Option „Install database software only“ und klicken Sie auf „Next“.
- Oracle Universal Installer: Node Selection
Wählen Sie die Option „Single instance database installation“ und klicken Sie auf „Next“.
- Oracle Universal Installer: Select Product Languages
Im aktuellen Dialog haben Sie die Möglichkeit, die Produktsprachen auszuwählen. Wählen Sie hier die gewünschten Sprachen aus. Es ist zu empfehlen, die Sprache „English“ in der Auswahl beizubehalten. Klicken Sie anschließend auf „Next“.
- Oracle Universal Installer: Select Database Edition
Wählen Sie hier die von Ihnen lizensierte Edition. In den meisten Fällen ist dies die „Standard Edition“. Klicken Sie danach auf „Next“.
- Oracle Universal Installer: Specify Installation Location
Notieren Sie sich die „Software Location“. Sie bildet nach der Installation den Eintrag für die Umgebungsvariable ORACLE_HOME. Klicken Sie auf „Next.
Hinweis:
Unter SuSE kann es bei der Bestätigung mittels „Next“ zu einer Warnung kommen, dass sich das Oracle Base Verzeichnis im Standardverzeichnis befindet. Bestätigen Sie hier einfach die Warnung mittels „Yes“.
- Oracle Universal Installer: Create Inventory
Geben Sie als Verzeichnis „/opt/oraInventory“ an und klicken Sie auf „Next“, um mit der Installation fortzufahren.
- Oracle Universal Installer: Privileged Operating System Groups
Klicken Sie auf „Next“, um fortzufahren.
- Oracle Universal Installer: Perform Prerequisite Checks
Es folgt die Prüfung der Systemvoraussetzungen. Der Fehler bzgl. dem Paket „pdksh“ kann ignoriert werden, da das Paket in RedHat lediglich „ksh“ heißt. Aktivieren Sie hierzu das Häkchen bei „Ignore All“. Klicken Sie anschließend auf „Next“.
- Oracle Universal Installer: Summary
Sie erhalten einen Überblick über die für die Installation verwendeten Angaben. Klicken Sie auf „Finish“, um mit der Installation fortzufahren.
- Oracle Universal Installer: Install Product
Oracle wird installiert.
Hinweis:
Installationsfortschritt: Der Installationsvorgang nimmt einige Minuten Zeit in Anspruch.
- Oracle Universal Installer: Execute Configuration scripts
Sobald das Fenster erscheint, wechseln Sie als Benutzer root in ein neues Shell-Fenster. Führen Sie dort die angegebenen Skripte /opt/oraInventory/orainstRoot.sh und /opt/oracle/product/11.2.0/dbhome_1/root.sh aus. (Der Pfad kann bei Ihnen abweichen)
Klicken Sie im Fenster „Execute Configuration scripts“ auf „OK“, um mit der Installation fortzufahren und beenden Sie diese mittels „Close“.
6.1.2 Oracle Netzwerk Konfiguration
Im Anschluss findet die Netzwerkkonfiguration statt. Zur Herstellung der Kommunikation von Clients und der Datenbank verwendet Oracle einen eigenen „Listener“-Service. Die Konfiguration des „Listeners“ und damit einhergehend die Konfiguration der Netzwerkschicht von Oracle sollte vor der Installation einer Datenbankinstanz erfolgen. Starten Sie die Anwendung „netca“ im Verzeichnis „${ORACLE_HOME}/bin“.
6.1.3 Listener Dienst
- Oracle Net Configuration Assistant: Welcome
Klicken Sie auf „Next“, um mit der Konfiguration des Listeners fortzufahren.
- Oracle Net Configuration Assistant: Listener Configuration, Listener Name
Klicken Sie auf „Next“, um fortzufahren.
- Oracle Net Configuration Assistant: Listener Configuration, Listener Name
Übernehmen Sie den vorgeschlagenen Namen „LISTENER“ und klicken Sie auf „Next“.
- Oracle Net Configuration Assistant: Listener Configuration, Select Protocols
Wählen Sie das Protokoll TCP aus und klicken Sie dann auf „Next“.
Hinweis:
Das Protokoll wird standardmäßig im Dialog-Fenster „Selected Protocols“ zur Auswahl angeboten.
- Oracle Net Configuration Assistant: Listener Configuration, TCP/IP Protocol
Wählen Sie die Standard-Port-Nummer 1521 und übernehmen Sie Ihre Einstellungen mit „Next“.
- Oracle Net Configuration Assistant: Listener Configuration, More Listeners?
Sie benötigen keinen weiteren „Listener“. Wählen Sie „No“ und klicken Sie auf „Next“.
- Oracle Net Configuration Assistant: Listener Configuration Done
Klicken Sie auf „Next“, um fortzufahren.
- Oracle Net Configuration Assistant: Welcome
Klicken Sie auf „Finish“, um die Listener-Einrichtung zu beenden.
Hinweis:
Die Konfiguration der „Netzwerkservices“ ist damit abgeschlossen. Im nächsten Abschnitt wird die Erstellung der Datenbank beschrieben, in der Semiramis die Daten ablegen wird.
6.2 Oracle Profil anpassen
6.2.1 RedHat
Melden Sie sich als Benutzer root an das System an und erstellen Sie die Datei /etc/profile.d/oracle.sh. Tragen Sie folgende Zeilen in die Datei ein:
#!/bin/bash
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=”${ORACLE_BASE}/product/11.2.0/dbhome_1″
export ORACLE_SID=orcl
export TNS_ADMIN=”${ORACLE_HOME}/network/admin”
export NLS_LANG=GERMAN_GERMANY.UTF8
export PATH=”${PATH}:${ORACLE_HOME}/bin:${ORACLE_HOME}/OPatch”
if [ “x${LD_LIBRARY_PATH}” != “x” ]; then
export LD_LIBRARY_PATH=”${ORACLE_HOME}/lib:${LD_LIBRARY_PATH}”
else
export LD_LIBRARY_PATH=”${ORACLE_HOME}/lib”
fi
Anschließend passen Sie die Berechtigungen dieser Datei an:
chmod 0755 /etc/profile.d/oracle.sh
Löschen Sie anschließend die Oracle spezifischen Einträge aus der Datei .bash_profile im Homeverzeichnis des oracle Benutzers.
6.2.2 SuSE
Melden Sie sich als Benutzer root an das System an und passen Sie die Datei /etc/profile.d/oracle.sh an. Setzen Sie hierzu die Variablen ORACLE_BASE, ORACLE_HOME, ORACLE_SID, TNS_ADMIN und NLS_LANG auf die im RedHat-Abschnitt angegebenen Werte.
Löschen Sie anschließend die Oracle spezifischen Einträge aus der Datei .bash_profile im Homeverzeichnis des oracle Benutzers.
Achten Sie des Weiteren darauf, dass auch die Einträge in den Dateien /etc/sysconfig/oracle, /etc/rc.config.d/oracle.rc.config und /etc/rc.config mit den Variablen in /etc/profile.d/oracle.sh übereinstimmen, sofern diese Dateien existieren und die Variablen dort ebenfalls definiert sind.
6.2.3 Nachtrag
Das Setzen der Umgebungsvariablen NLS_LANG ist für den Einsatz von Semiramis notwendig, sonst kann es beim Import und Export von Daten zu Zeichensatzkonvertierungen kommen.
Prüfen Sie nach einer erneuten Anmeldung mit folgenden Befehlen, ob die Umgebungsvariablen korrekt gesetzt wurden:
umask
env | less
Hinweis:
Sie sollten unbedingt auf den Serviceseiten von Oracle nachprüfen, ob eventuelle Patchsets für die verwendete Version zur Verfügung stehen. Wählen Sie hierbei die neueste Version, die für den Betrieb mit Semiramis freigegeben ist. Nähere Informationen hierzu finden Sie in den „Systemvoraussetzungen“.
Das Patchset installieren Sie bitte vor dem Installieren der Datenbanken.
Hinweis:
Nach dem Einspielen der Semiramis-Datenbanken, können Sie die Umgebungsvariable NLS_LANG auf den Wert GERMAN_GERMANY.AL32UTF8 setzen. Dies verhindert mögliche Zeichensatzkonvertierungen beim Export und Import von Datenbanken. Der Wert GERMAN_GERMANY.UTF8 ist lediglich für die Installation von Semiramis notwendig, da hier aus Kompatibilitätsgründen kein anderer Zeichensatz gewählt werden kann.
6.3 RAM-Disk konfigurieren
Seit Version 11 verwendet Oracle unter Linux eine RAM-Disk für das flexible Speichermanagement. Hierbei wird das Verzeichnis /dev/shm als Ablageort für die SGA und PGA verwendet. Standardmäßig ist zwar eine RAM-Disk unter SuSE und RedHat eingerichtet, doch verwendet diese maximal die Hälfte des zur Verfügung stehenden Hauptspeichers. Damit das automatische Speichermanagement auch mit Speichermengen jenseits der Hälfte des Hauptspeichers funktioniert, sind folgende Konfigurationen zu tätigen. Achten Sie dabei darauf, dass die Größe der RAM-Disk mindestens der Größe der gewünschten SGA + der gewünschten Größe der PGA + einen kleinen Puffer (32 MB reichen hier aus) entspricht.
6.3.1 RedHat
Unter RedHat müssen Sie lediglich den Eintrag für /dev/shm in der Datei /etc/fstab anpassen:
tmpfs /dev/shm tmpfs size=2080m 0 0
In diesem Fall bekommt die RAM-Disk eine Größe von maximal 2080 MB zugeteilt.
6.3.2 SuSE
Unter SuSE ist ein zusätzlicher Eintrag in der Datei /etc/fstab vorzunehmen:
tmpfs /dev/shm tmpfs size=2080m 0 0
In diesem Fall bekommt die RAM-Disk eine Größe von maximal 2080 MB zugeteilt.
6.3.3 Zusatzinformationen
Die angegebene Größe für die RAM-Disk gibt lediglich die maximal verwendbare Speichermenge an. Wieviel Hauptspeicher im Betrieb verwendet wird, wird ausschließlich durch den tatsächlich benötigten Verbrauch von Oracle bestimmt und kann daher während der Laufzeit stark schwanken.
6.4 Datenbank installieren
In diesem Abschnitt wird mithilfe des Datenbank-Konfigurationsassistenten eine Beispieldatenbank installiert, mit der ein Semiramis-System betrieben werden kann. Der Datenbank-Konfigurationsassistent wird als Benutzer oracle mit dem Befehl dbca gestartet. Die ausführbare Datei befindet sich in „${ORACLE_HOME}/bin“.
Datenbank-Konfigurationsassistent
- Database Configuration Assistant: Welcome.
Klicken Sie auf „Next“ um fortzufahren.
- Database Configuration Assistant, Step 1 of 11: Operations.
Wählen Sie “Create a Database” aus.
Klicken Sie auf “Next” um fortzufahren.
- Database Configuration Assistant, Step 2 of 11: Database Templates.
Wählen Sie „Custom Database“ aus.
Klicken Sie auf „Next“.
- Database Configuration Assistant, Step 3 of 11: Database Identification.
Vergeben Sie als „Global Database Name“ den Namen orcl.hostname.yourdomain. Die SID „orcl“ wird automatisch aus dem „Global Database Name“ erzeugt.
Hinweis
Der Instanz-Name bzw. die SID ORCL ist in der exportierten „Semiramis Configuration Database“ hinterlegt und daher als SID für die Installation und den Betrieb des Semiramis Auslieferungssystems erforderlich.
Klicken Sie auf „Next“.
- Database Configuration Assistant, Step 4 of 11: Management Options
Behalten Sie die vorgeschlagene Einstellung: „Configure Enterprise Manager“ und „Configure Database Control for local management“ bei.
Zusätzlich können Sie einen E-Mailserver und eine E-Mail-Adresse eintragen, um vordefinierte Nachrichten über den Zustand der Datenbank zu bekommen.
Im Reiter „Automatic Maintenance Tasks“ sollten die automatischen Wartungsarbeiten über „Enable automatic maintenance tasks“ aktiviert bleiben.
Klicken Sie auf „Next“.
- Database Configuration Assistant, Step 5 of 11 : Database Credentials
Vergeben Sie Kennwörter für die System-Benutzer.
Klicken Sie auf „Next“.
- Database Configuration Assistant, Step 6 of 11: Database File Locations.
Behalten Sie die vorgeschlagene Einstellung „File System“, um die Datenbank auf der Festplatte zu speichern.
Wählen Sie „Use Common Location …“ und tragen Sie in dem Eingabefeld das Verzeichnis ein, wo die Datenbankdateien abgelegt werden sollen.
Hinweis:
Es empfiehlt sich, den Ort der Datenbank Files auf eine eigene Partition zu legen.
Klicken Sie auf „Next“.
- Database Configuration Assistant, Step 7 of 11: Recovery Configuration
Behalten Sie hier die vorgeschlagenen Einstellungen bei.
Hinweis:
Für ein Produktivsystem sollten Sie hier zusätzlich „Enable Archiving“ auswählen und evtl. notwendige Anpassungen machen
Hinweis:
Bei Verwendung des Backup/Recovery Tools RMAN zur Sicherung auf Disks wird empfohlen, die Flash Recovery Area Size 1,5-2x der Datenbankgröße zu wählen.
Klicken Sie auf „Next“.
- Database Configuration Assistant, Step 8 of 11: Database Content
Karteireiter Database Components:
Von den Datenbank-Features wird nichts außer „Enterprise Manager Repository“ benötigt.
Klicken Sie dann auf „Standard Database Components…“.
Entfernen Sie im Fenster „Standard-Database Components“ die Auswahl von „Oracle JVM“ und „Oracle XML DB“. Es bleiben keine Komponenten übrig.
Klicken Sie im Dialog-Fenster „Standard-Database Components“ auf „OK“ und dann im Fenster des „Database Configuration Assistant“ auf „Next“.
- Database Configuration Assistant, Step 9 of 11: Initialization Parameters
Karteireiter „Memory“
Wählen Sie die Einstellung „Typical“. Vergeben Sie je nach vorhandenem Speicherplatz 50-70 % des gesamten Speicherplatzes für Oracle, bei begrenztem Speicherplatz 70 %.
Karteireiter „Sizing“
Behalten Sie den Wert der „Block Size“ auf 8 KB. Übernehmen Sie den vorgeschlagenen Wert für „Processes“.
Hinweis: Achten Sie darauf mindestens eine „Block Size“ von 8 KB zu verwenden, andernfalls können in Semiramis einige Indizes nicht angelegt werden. Eine kleinere „Block Size“ als 8 KB wird nicht unterstützt.
Karteireiter „Character Sets”
Wählen Sie den Zeichensatz „Use Unicode (AL32UTF8)“. Als „National Character Set“ wählen Sie „AL16UTF16“, als „Default Language“ „GERMAN“ und als „Default Territory“ „Germany“.
Karteireiter „Connection Mode“
Wählen Sie „Dedicated Server Mode“ und klicken Sie auf „All initialization Parameters…“.
Button „All Initialization Parameters“
Klicken Sie auf „Show Advanced Parameters“.
Vergeben Sie für die folgenden Initialisierungs-Parameter diese abweichenden Werte:
Parameter | Einstellung |
nls_comp | ANSI |
nls_language | GERMAN |
nls_sort | GERMAN |
nls_territory | GERMANY |
Beachten Sie dabei die Großschreibung der Parameter.
Klicken Sie im Pop-Up-Fenster auf „Close“ und danach auf „Next“.
- Database Configuration Assistant, Step 10 of 11: Database Storage
Das Dialog-Fenster zeigt die Parameter der Datenbank. Im linken Navigationsfenster erscheinen die Ordner in denen die Einstellungen abgelegt sind.
Klicken Sie auf einen, der vier Ordner, um die Einstellungen zu überprüfen. Die Einstellungen werden dann im rechten Fenster angezeigt.
Klicken Sie auf „Next“, um fortzufahren.
- Database Configuration Assistant, Step 11 of 11: Creation Options
Wählen Sie die Checkbox „Create Database“ und klicken Sie auf „Finish“.
Hinweis:
Es empfiehlt sich, auch die Option „Generate Database Creation Scripts“ zu aktivieren, sodass sich die Datenbank gegebenenfalls erneut über die generierten Skripts erzeugen lässt. Das „Database Template“ gibt Ihnen die Gelegenheit, bei späteren Database Configuration Assistant Aufrufen die von Ihnen konfigurierte Datenbank als Vorlage zu verwenden.
- Database Configuration Assistant: Confirmation
Klicken Sie im Dialogfenster „Confirmation“ auf „OK“.
Hinweis:
Sie können die Angaben auch zur Sicherheit als HTML-Datei ablegen.
- Database Configuration Assistant
Hinweis:
Es öffnet sich ein Dialog-Fenster, dass den Fortschritt der Installation anzeigt. Das nächste Dialog-Fenster öffnet sich automatisch, wenn die Erstellung der Datenbank beendet ist.
- Database Configuration Assistant <2>
Als Bestätigung, dass die Installation fertig installiert ist, wird die Zusammenfassung der erzeugten Datenbank angezeigt.
Klicken Sie auf „Exit“, um die Konfiguration zu beenden.
Falls Sie unter RedHat SELinux aktiviert haben, so sind noch folgende Befehle unter einem root-Login abzusetzen:
export ORACLE_HOME=”/opt/oracle/product/11.2.0/dbhome_1″
chcon -t textrel_shlib_t “${ORACLE_HOME}/lib/libnnz11.so”
chcon -t textrel_shlib_t “${ORACLE_HOME}/lib/libclntsh.so.11.1”
chcon -t textrel_shlib_t “${ORACLE_HOME}/lib/libsqlplus.so”
chcon -t textrel_shlib_t “${ORACLE_HOME}/lib/libnque11.so”
Testen Sie nach Abschluss der Installation die Verbindung zur Datenbank durch den Aufruf ${ORACLE_HOME}/bin/sqlplus system/password@orcl in einem Shell-Fenster. Damit ist die Installation der Oracle-Datenbank abgeschlossen.
7 Installationsnacharbeiten
7.1 Einschalten des Archivelog Modus
In einer Produktivdatenbank muss der Archivierungs-Modus aktiviert werden.
Zur weiterführenden Dokumentation von Backup und Recovery mit Oracle, verwenden Sie bitte die entsprechende Oracle Dokumentation.
7.2 Automatisieren des Datenbankstarts
Aktivieren Sie die Instanz in der /etc/oratab. Hierzu ändern Sie den vorgegebenen Eintrag ab, z.B.: orcl:/opt/oracle/product/11.2.0/dbhome_1:Y
Folgende Skripte (/etc/init.d/oracle) können verwendet werden, um die Datenbank automatisch zu starten und zu stoppen.
7.2.1 RedHat
#!/bin/bash
#
# chkconfig: 2345 99 01
# description: Oracle Database Server
# Source function library.
. /etc/rc.d/init.d/functions
# get sysconfig settings
if [ -f /etc/sysconfig/oracle ]; then
. /etc/sysconfig/oracle
else
echo “Couldn’t read /etc/sysconfig/oracle”
exit 1
fi
if [ ! “${START_ORACLE}” = “yes” ]; then
exit 0
fi
# The database will not start/stop if no entries in /etc/oratab are “Y”
grep -s -q “:Y” /etc/oratab >&/dev/null || {
echo “No entries in /etc/oratab are Y”
failure $”Checking /etc/oratab”
exit 1
}
if [ ! -x “${ORACLE_HOME}/bin/dbstart” -o ! -x “${ORACLE_HOME}/bin/dbshut” ]; then
echo “File not found: \$ORACLE_HOME/bin/dbstart \| \$ORACLE_HOME/bin/dbshut”
failure $”Checking for $ORACLE_HOME/bin/dbstart \| \$ORACLE_HOME/bin/dbshut”
exit 1
fi
case “${1}” in
start)
# Start Oracle
echo -n “Starting Oracle database: ”
if [ “x${START_LISTENER}” = “xyes” -a -x “${ORACLE_HOME}/bin/lsnrctl” ]; then
echo -n “Starting Oracle Listener: ”
daemon –user “${ORACLE_OWNER}” “${ORACLE_HOME}/bin/lsnrctl” stop > /dev/null 2>&1
daemon –user “${ORACLE_OWNER}” “${ORACLE_HOME}/bin/lsnrctl” start
if [ ${?} -eq 0 ]; then
touch /var/lock/subsys/oralsnr
success
else
failure
fi
echo
echo
fi
daemon –user “${ORACLE_OWNER}” “${ORACLE_HOME}/bin/dbstart” “${ORACLE_HOME}”
if [ ${?} -eq 0 ]; then
touch /var/lock/subsys/oracle
success
else
failure
fi
if [ “x${START_AGENT}” = “xyes” -a -x “${ORACLE_HOME}/bin/emctl” ]; then
echo -n “Starting Oracle Management Agent: ”
daemon –user “${ORACLE_OWNER}” “${ORACLE_HOME}/bin/emctl” stop dbconsole
daemon –user “${ORACLE_OWNER}” “${ORACLE_HOME}/bin/emctl” start dbconsole
if [ ${?} -eq 0 ]; then
touch /var/lock/subsys/oraem
success
else
failure
fi
echo
fi
;;
stop)
# Stop Oracle
if [ “x${ORA_SAS_COLO}” = “xyes” ]; then
if [ -f /var/lock/subsys/sas ]; then
echo “Semiramis is still running”
failure $”Checking for Semiramis”
exit 1
fi
fi
if [ “x${START_AGENT}” = “xyes” -a -x “${ORACLE_HOME}/bin/emctl” ]; then
echo -n “Stopping Oracle Management Agent: ”
daemon –user “${ORACLE_OWNER}” “${ORACLE_HOME}/bin/emctl” stop dbconsole
if [ ${?} -eq 0 ]; then
rm -f /var/lock/subsys/oraem
success
else
failure
fi
echo
fi
echo -n “Stopping Oracle Database: ”
daemon –user “${ORACLE_OWNER}” “${ORACLE_HOME}/bin/dbshut” “${ORACLE_HOME}”
if [ ${?} -eq 0 ]; then
rm -f /var/lock/subsys/oracle
success
else
failure
fi
echo
if [ “x${START_LISTENER}” = “xyes” -a -x “${ORACLE_HOME}/bin/lsnrctl” ] ; then
echo -n “Stopping Oracle Listener: ”
daemon –user “${ORACLE_OWNER}” “${ORACLE_HOME}/bin/lsnrctl” stop > /dev/null 2>&1
if [ ${?} -eq 0 ]; then
rm -f /var/lock/subsys/oralsnr
success
else
failure
fi
echo
fi
;;
*)
echo “Usage: ${0} {start|stop}”
exit
;;
esac
exit 0
Das Skript erwartet folgende Datei: /etc/sysconfig/oracle
# General parameters
export ORACLE_OWNER=”oracle”
export NLS_LANG=”GERMAN_GERMANY.UTF8″
# Instance-specific Parameters
export ORACLE_BASE=”/opt/oracle”
export ORACLE_HOME=”${ORACLE_BASE}/product/11.2.0/dbhome_1″
export TNS_ADMIN=”${ORACLE_HOME}/network/admin”
export ORACLE_SID=”orcl”
if [ “x${LD_LIBRARY_PATH}” != “x” ]; then
export LD_LIBRARY_PATH=”${ORACLE_HOME}/lib:${LD_LIBRARY_PATH}”
else
export LD_LIBRARY_PATH=”${ORACLE_HOME}/lib”
fi
# Init-parameters
START_ORACLE=”yes”
START_LISTENER=”yes”
START_AGENT=”yes”
ORA_SAS_COLO=”no”
export PATH=”${ORACLE_HOME}/bin:${ORACLE_HOME}/OPatch:${PATH}”
7.2.2 SuSE
Verwenden Sie bei SuSE am besten das orarun Package. Dieses beinhaltet unter anderem die Datei /etc/sysconfig/oracle für die Anpassung des Dienstes sowie das Dienstskript /etc/init.d/oracle. Sorgen Sie dafür, dass in der Datei /etc/sysconfig/oracle die Variablen START_ORACLE_DB und START_ORACLE_DB_LISTENER auf „yes“ gesetzt sind. Falls Sie den Enterprise Manager einsetzen wollen, sollten Sie auch die Variable START_ORACLE_DB_EMANAGER auf „yes“ setzen.
7.3 Anpassen der Initialisierungsparameter
Passen Sie die Initialisierungsparameter, insbesondere die Größe der Bufferbereiche an Ihre Bedürfnisse an.
8 Fehlerbehebung
Falls Sie bei dem Versuch sich mit sqlplus an der Datenbank anzumelden, die Fehlermeldung „Error 46“ erhalten, geben Sie den folgenden Befehl ein (hinter dem Gleichheitszeichen keinen Wert angeben):
unset http_proxy
Falls Sie sich nicht anmelden können und der Anmeldevorgang mit der Fehlermeldung „ORA-12154: TNS: could not resolve service name“ abbricht:
- Überprüfen Sie die Definitionsdatei des Listeners unter
${TNS_ADMIN}/listener.ora, ob dort ein Eintrag ähnlich wie der Untere gegeben ist:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /opt/oracle/product/11.2.0/dbhome_1)
(PROGRAM = extproc)
)
)
- Stoppen und starten Sie den Listener mit dem Tool lsnrctl
- Überprüfen Sie die Definition der Listener-Einträge und TNS-Einträge über die Enterprise Manager Console.
- Überprüfen Sie die Datei
${TNS_ADMIN}/tnsnames.ora, ob dort ein Eintrag für Ihren Servicenamen vermerkt ist.
ORCL.CISAG.COM =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = redhat.cisag.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl.cisag.com)
)
)
9 Weiterführende Dokumentation zu Oracle
- https://metalink.oracle.com (Stand: 13.10.2009):
Tiefergehende Fehlermeldungen, Dokumentation – Partnerstatus zum Login erforderlich.
- http://www.oracle.com/technology/index.html (Stand: 13.10.2009):
Registrierung kostenlos
Dokumentation, White Paper, Download Enterprise Manager, Diagnostics Pack (kostenpflichtig im produktiven Einsatz).
Fehlermeldungen
Unter „${ORACLE_HOME}/rdbms/mesg/oraus.msg“ ist eine Auflistung aller Fehlermeldungen zu finden. Mittels „${ORACLE_HOME}/bin/oerr ORA NUMMER“ lassen sich die detaillierteren Meldungen ausgeben.
10 National Language Support (NLS)
Die Initialisierungs-Parameter für Oracle 11g im Bereich National Language Support müssen für den Einsatz von Semiramis wie beschrieben eingestellt werden.
Die Parameter werden u. a. in den Sortierreihenfolgen (Suchen nach Artikel, Kunde etc.) berücksichtigt. Wenn kein anderer Wert in der Dokumentation angegeben wird, dann können Sie den Standardwert übernehmen.
In der folgenden Tabelle sehen Sie die notwendigen Parameter-Einstellungen:
Parameter | Einstellung |
Calendar | |
Comp | ANSI |
Currency | |
Date_format | |
Date_language | |
Iso_currency | |
Language | GERMAN |
Numeric_characters | |
Sort | GERMAN |
Territory | GERMANY |
Time_format | |
Time_TZ_format | |
Nls_timestamp |
„Language“ und „Territory“ sind die allgemeinen Hauptparameter, die herangezogen werden, um die Standardwerte zu bestimmen. Von „Territory“ werden Parameter wie „Currency“ und „Date“ etc. abgeleitet.
Weitere unterstützte Sortierreihenfolgen
Ein Semiramis-Installationssystem wird mit den oben beschriebenen Sortierungseinstellungen installiert. Semiramis unterstützt für neue Datenbanken, in denen andere Hauptsprachen verwendet werden sollen, folgende Einstellungen:
Sprache | NLS_COMP | NLS_Language | NLS_Sort | NLS_Territory |
Deutsch | ANSI | GERMAN | GERMAN | GERMANY |
Englisch | ANSI | AMERICAN | WEST_ EUROPEAN |
AMERICA |
Englisch | ANSI | ENGLISH | WEST_ EUROPEAN |
UNITED KINGDOM |
Französisch | ANSI | FRENCH | FRENCH | FRANCE |
Italienisch | ANSI | ITALIAN | ITALIAN | ITALY |
Kroatisch | ANSI | CROATIAN | CROATIAN | CROATIA |
Niederländisch | ANSI | DUTCH | DUTCH | NETHERLANDS |
Polnisch | ANSI | POLISH | POLISH | POLAND |
Russisch | ANSI | RUSSIAN | RUSSIAN | RUSSIA |
Slowakisch | ANSI | SLOVAK | SLOVAK | SLOVAKIA |
Slowenisch | ANSI | SLOVENIAN | SLOVENIAN | SLOVENIA |
Tschechisch | ANSI | CZECH | CZECH | CZECH REPUBLIC |
Türkisch | ANSI | TURKISH | TURKISH | TURKEY |
Ungarisch | ANSI | HUNGARIAN | HUNGARIAN | HUNGARY |
Die DBMS arbeiten mit unterschiedlichen Sortieralgorithmen, die mit jeweils unterschiedlichen Sortiertabellen (Collations) arbeiten. Daraus folgt, dass jedes DBMS Zeichenketten für eine Sprache im Detail anders sortiert. Für eine zu verwendende Datenbanksortierung muss festgestellt werden, ob diese zu Semiramis kompatibel ist. Eine Datenbanksortierung ist zu Semiramis kompatibel, wenn sie eine eindeutige Ordnung auf Unicode-Zeichen für Vergleiche, Gruppierungen und Sortierungen von Zeichenketten besitzt. Dabei soll die gewählte Sortierung für eine Sprache möglichst entsprechend den Benutzererwartungen sortieren.
Für diese aufgeführten Einstellungen werden im Standard passende Semiramis-Collations ausgeliefert. Diese werden benutzt, um für Sortierungen von Zeichenketten im Hauptspeicher die Datenbanksortierung nachzubilden, so dass der Nutzer möglichst keinen Unterschied zwischen den Sortierungen bemerkt.