Archiv/Oracle

Archivierte Anleitung

Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.


Anmerkung: Eine Installationsanleitung für Oracle Database 11g und Ubuntu 10.04 findet man im Forum.

Hinweis:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. Installation von Programmen

  2. Ein Terminal öffnen

  3. Ein einzelnes Paket installieren

Inhaltsverzeichnis
  1. Generelle Voraussetzungen
  2. SQL*Plus
    1. Installation
    2. Benutzung/Konfiguration
  3. Instant Client
    1. Installation
  4. SQL Developer
    1. Installation
    2. Benutzung/Konfiguration
  5. Oracle Database 10g Express Edition
    1. Installation
    2. Benutzung/Konfiguration
  6. Links

Oracle {en} ist eine im Silicon Valley ansässige Firma, die auf Datenbankmanagement-Syteme (DBMS) und damit verwandte Produkte spezialisiert ist. Oracle ist nach Microsoft der zweitgrößte Software-Hersteller weltweit. Oftmals wird der Name Oracle als Synonym für sowohl das Unternehmen an sich als auch für das "Flagschiff", das Oracle DBMS verwendet. Oracle-Datenbanken richten sich an erfahrene Anwender und Administratoren und finden sich hauptsächlich in größeren Unternehmen, die gesteigerte Ansprüche an Datenhaltung und Datenverwaltung haben. Ein Vergleich von Oracle DBMS mit anderen DBMS wie beispielsweise MySQL oder auch PostgreSQL lässt sich oftmals nur schwer ziehen, da die jeweilige Fokussierung eine andere ist. Wo MySQL sich von Anfang auf den Webserver-Bereich konzentriert hat (sehr schnelle Lese-Zeiten) oder PostgreSQL eher im akademischen Umfeld zu finden ist, hat Oracle mit dem Oracle DBMS schon immer den Fokus auf den Geschäftskunden-Bereich gelegt.

Dieser Artikel soll einen Überblick über die Installation und Konfiguration der gängigen Oracle Client / Server-Software unter Ubuntu liefern.

Generelle Voraussetzungen

Einige Installationsanleitungen in diesem Artikel erfordern die Umwandlung eines rpm-Paketes in ein deb-Paket. Dies wird mit Hilfe des Programmes Alien bewerkstelligt.

Dazu muss folgendes Paket aus den Paketquellen installiert [1] werden:

Nun kann man über ein Terminal [2] folgendermaßen rpm-Pakete in deb-Pakete umwandeln:

alien --to-deb mein_rpm-*.i386.rpm 

Das von alien generierte deb-Paket kann nun wie gewohnt installiert werden [3].

SQL*Plus

SQL*Plus ist ein kommandozeilenorientiertes Verwaltungswerkzeug zur Administration und Bedienung von Oracle-Datenbanken. SQL*Plus steht auf jedem Rechnersystem zur Verfügung, auf dem die Oracle Client- oder Serversoftware installiert ist. Hiermit lassen sich alle Verwaltungstätigkeiten wie Startup und Shutdown einer Datenbank, Erweiterung von Tablespaces (Speicherbereichen einer Oracle Datenbank), Vergabe von Benutzerrechten, Erstellung logischer Datenbankobjekte wie Tabellen, Indizes, Views, Synonyme und Stored Procedure sowie die Eingabe, Änderung, Abfrage und Löschen der eigentlichen Dateninhalte vornehmen. (aus der Wikipedia {de} )

Installation

Folgenden Pakete müssen installiert [1] werden:

Nun kann man SQL*Plus selbst installieren. Dies liegt nicht in den Paketquellen, kann jedoch über ein rpm-Paket, welches man von hier {dl} beziehen kann, installiert werden. Dieses rpm-Paket wandelt man daraufhin in der Konsole [2] in ein deb-Paket um (siehe Abschnitt Generelle Voraussetzungen).

Hinweis!

Fremdsoftware kann das System gefährden.

Das generierte SQL*Plus deb-Paket kann man nun wie gewohnt installieren [3].

Die Bibliotheken von SQL*Plus werden jedoch nicht in einem der Standardpfade installiert. Man muss also dafür Sorge tragen, dass der Pfad zu den SQL*Plus-Bibliotheken in den Library Path aufgenommen wird. Um heraus zu bekommen, wohin die entsprechenden Bibliotheken installiert wurden, führt man im Terminal folgenden Befehl aus:

dpkg -L oracle-instantclient-sqlplus 

Eine mögliche Ausgabe des Befehls könnte so aussehen:

/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/oracle-instantclient-sqlplus
/usr/share/doc/oracle-instantclient-sqlplus/changelog.Debian.gz
/usr/share/doc/oracle-instantclient-sqlplus/copyright
/usr/bin
/usr/lib
/usr/lib/oracle
/usr/lib/oracle/11.1.0.1
/usr/lib/oracle/11.1.0.1/client
/usr/lib/oracle/11.1.0.1/client/bin
/usr/lib/oracle/11.1.0.1/client/bin/sqlplus
/usr/lib/oracle/11.1.0.1/client/lib
/usr/lib/oracle/11.1.0.1/client/lib/libsqlplus.so
/usr/lib/oracle/11.1.0.1/client/lib/glogin.sql
/usr/lib/oracle/11.1.0.1/client/lib/libsqlplusic.so
/usr/bin/sqlplus

An obiger Ausgabe kann man sehen, dass sich die gesuchten Bibliotheken im Pfad /usr/lib/oracle/11.1.0.1/client/lib/ befinden. Diesen Pfad fügt man nun dem Library Path hinzu, indem man ihn mit Hilfe eines beliebigen Editors ans Ende der Datei /etc/ld.so.conf anhängt, bzw. über ein Terminal und den Befehl

echo /usr/lib/oracle/11.1.0.1/client/lib/ | sudo tee -a /etc/ld.so.conf 

Abschließend lässt man den Library Path vom System neu laden:

sudo ldconfig 

SQL*Plus ist nun fertig installiert und kann benutzt werden.

Benutzung/Konfiguration

Starten lässt sich SQL*Plus über ein Terminal mittels:

sqlplus 

Generell bietet es sich an, eine Datei namens tnsnames.ora anzulegen. In dieser werden Oracle Services auf Namen "gemappt". Dadurch kann man auf einfache Art und Weise auf Datenbank-Instanzen zugreifen zu können, ohne die Details der Verbindung auswendig zu wissen.

Damit SQL*PLUS diese Datei auch findet, legt man diese in einem Verzeichnis eigener Wahl an und setzt anschließend die Umgebungsvariable "$TNS_ADMIN" auf dieses Verzeichnis, z.B. so:

export TNS_ADMIN=/Verzeichnis/eigener/Wahl/ 

Eine beispielhafte tnsnames.ora könnte so aussehen:

my_service =
 (DESCRIPTION =
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = yourhost.com)(PORT = mein_port))
   )
   (CONNECT_DATA =
     (SID = your_SID)
     (SERVER = DEDICATED)
   )
 )

Ohne die tnsnames.ora müsste man die Verbindung ziemlich kryptisch folgendermaßen aufbauen (man beachte die ""):

sqlplus mein_oracle_user/mein_oracle_passwort@"(description=(address=(host=mein_oracle_host) (protocol=tcp)(port=mein_port))(connect_data=(sid=meine_sid)))" 

Mit der tnsnames.ora erleichtert man sich die Arbeit erheblich, da man nun einfach Folgendes im Terminal eingeben kann:

sqlplus mein_user/mein_password@mein_oracle_service 

Instant Client

Seit der Version 9i liefert Oracle den Client - also die SQL*Net-Treiber - nicht mehr einzeln aus sondern nur noch im Bundle mit dem Oracle Server. Hat man die CDs gerade nicht zur Hand, muss man daher leider fast 1 GB Daten herunterladen, um den Client installieren zu können. Wer Produkte vertreibt, die auf Oracle aufsetzen und daher den Client benötigen, konnte bislang nicht einfach den Client mit vertreiben, da dies durch Oracles Lizenz nicht erlaubt war. Beide Probleme löst der frei erhältliche "Instant Client", der separat von anderer Oracle-Software (und damit z.B. ohne obligatorisches ORACLE_HOME) installiert werden kann. Dieser ist mit etwa 36 MB noch relativ schlank. (aus Oracle Wiki {de} )

Installation

Der Instant Client liegt wieder in einem rpm-Paket vor. Dieses muss hier {dl} herunterladen, in ein .deb Paket umwandeln und installieren (siehe Generelle Voraussetzungen).

Hinweis!

Fremdsoftware kann das System gefährden.

SQL Developer

Oracles kostenloses Werkzeug für den Datenbankentwickler läuft als graphisches Java-Programm und ermöglicht das Bearbeiten von Datenbankobjekten, Erstellen und Testen von SQL-Statements und Skripten, Erstellen und Debuggen von PL/SQL-Prozeduren einfache Datenbankanalyse. Aufbau und Funktionsumfang vom SQL Developer erinnern an TOAD, SQL Navigator oder Hora. (aus Wikipedia)

Installation

Der SQL Developer erfordert die Java Runtime Environment(>=1.5). Wie man diese installiert, kann hier nachgelesen werden. Auch SQL Developer liegt wieder als rpm-Paket vor. Es kann von hier {dl} heruntergeladen werden. Hierbei sollte man die "Oracle SQL Developer RPM for Linux"-Variante auswählen. Das rpm-Paket muss wieder in ein deb-Paket umgewandelt und installiert werden (siehe Generelle Voraussetzungen).

Hinweis!

Fremdsoftware kann das System gefährden.

Benutzung/Konfiguration

Das Starten des "SQL Developer" erfolgt über ein Terminal [2] mittels:

sqldeveloper 

Die Bedienung/Konfiguration ist - entsprechende Oracle Kenntnisse vorausgesetzt - intuitiv und selbsterklärend.

Oracle Database 10g Express Edition

Bei der "Express Edition" handelt es sich um die kostenlos erhältliche Variante des Datenbanksystems von Oracle, die im Vergleich zur kostenpflichtigen Variante jedoch in ihrer Funktionalität eingeschränkt ist:

Achtung!

Die folgende Anleitung gilt ausschließlich für die so genannte "Express Edition", nicht für die Standard Edition!

Installation

Folgendes Paket muss installiert [1] werden:

Falls man die Ubuntu Server Edition verwendet, muss des Weiteren folgendes Paket installiert werden:

Nun zur Installation der Datenbank selbst. Oracle bietet ein deb-Paket oracle-xe-universal_*_i386.deb {dl} an, welches man herunterlädt und installiert [3].

Hinweis!

Fremdpakete können das System gefährden.

Benutzung/Konfiguration

Hinweis:

Auch nur einen kleinen Teil der Konfigurationsmöglichkeiten von Oracle Datenbanken zu beschreiben, würde den Rahmen jedes Artikels sprengen. Deshalb wird an dieser Stelle nur die absolute Grund-Konfiguration beschrieben.

Oracle liefert glücklicherweise ein Konfigurationsskript für die Basiskonfiguration mit, welches man folgendermaßen aufruft:

sudo /etc/init.d/oracle-xe configure 

Das Skript führt einen interaktiv durch die Konfiguration wie man an unten stehender Ausgabe sehen kann. Für die meisten User werden die in eckigen Klammern stehenden Default-Einstellungen in Ordnung sein.

Oracle Database 10g Express Edition Configuration
-------------------------------------------------
This will configure on-boot properties of Oracle Database 10g Express
Edition.  The following questions will determine whether the database should
be starting upon system boot, the ports it will use, and the passwords that
will be used for database accounts.  Press <Enter> to accept the defaults.
Ctrl-C will abort.

Specify the HTTP port that will be used for Oracle Application Express [8080]:9090

Specify a port that will be used for the database listener [1521]:

Specify a password to be used for database accounts.  Note that the same
password will be used for SYS and SYSTEM.  Oracle recommends the use of
different passwords for each database account.  This can be done after
initial configuration:
Confirm the password:

Do you want Oracle Database 10g Express Edition to be started on boot (y/n) [y]:n

Starting Oracle Net Listener...Done
Configuring Database...Done
Starting Oracle Database 10g Express Edition Instance...Done
Installation Completed Successfully.
To access the Database Home Page go to "http://127.0.0.1:9090/apex"

Damit ist die Installation und Grundkonfiguration der Datenbank erledigt und die Datenbank kann benutzt werden.