[[Vorlage(Getestet, gutsy)]] {{{#!vorlage Hinweis * Jeder der hier beschriebenen Downloads erfordert eine vorherige (einmalige) Registrierung, diese bringt aber keine weiteren Verpflichtungen mit sich. * Die hier beschriebenen Oracle-Produkte stehen nicht unter einer freien Lizenz. }}} {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] [:Paketinstallation_DEB: Ein einzelnes Paket installieren] }}} [[Inhaltsverzeichnis(2)]] [http://www.oracle.com 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. [[Anker(Voraussetzungen)]] = 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: * '''alien''' Nun kann man über die Konsole [2] folgendermaßen rpm-Pakete in deb-Pakete umwandeln: {{{#!vorlage Befehl 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 [http://de.wikipedia.org/wiki/Oracle_(Datenbanksystem)#Werkzeuge Wikipedia] {de} ) == Installation == Zuerst einmal müssen die folgenden zwei Pakete aus den Paketquellen installiert [1] werden: * '''libaio1''' * '''alien''' Nun kann man SQL*Plus selbst installieren. Dies liegt nicht in den Paketquellen, kann jedoch über ein rpm-Paket, welches man von [http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html 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''). 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, das 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 in der Konsole folgenden Befehl aus: {{{#!vorlage Befehl 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 {{{#!vorlage Befehl echo /usr/lib/oracle/11.1.0.1/client/lib/ | sudo tee /etc/ld.so.conf }}} Abschließend lässt man den ''Library Path'' vom System neu laden: {{{#!vorlage Befehl sudo ldconfig }}} SQL*Plus ist nun fertig installiert und kann benutzt werden. == Benutzung/Konfiguration == Starten lässt sich SQL*Plus über die Konsole mittels: {{{#!vorlage Befehl sqlplus }}} Generell bietet es sich an eine Datei namens '''tnsnames.ora''' anzulegen. In dieser werden Oracle Services auf Namen "gemappt". Sinn und Zweck dieser Geschichte ist es, 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 unserer Wahl an und setzt anschließend die Umgebungsvariable $TNS_ADMIN auf dieses Verzeichnis, z.B. so: {{{#!vorlage Befehl export TNS_ADMIN=/Verzeichnis/eurer/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 ""): {{{#!vorlage Befehl 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 in der Konsole eintippen kann: {{{#!vorlage Befehl 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 1GB 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 36MB noch relativ schlank.'' (aus [http://www.orawiki.de/index.php?title=Oracle_Instant_Client Oracle Wiki] {de} ) == Installation == Der Instant Client liegt wieder in einem rpm-Paket vor. Dieses muss [http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html hier] {dl} herunterladen, in ein .deb Paket umwandeln und installieren (siehe [#Voraussetzungen Generelle Voraussetzungen]). = 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 [http://de.wikipedia.org/wiki/Oracle_(Datenbanksystem)#Werkzeuge Wikipedia] {de} ) == Installation == Der SQL Developer erfordert die Java Runtime Environment(>=1.5). Wie man diese installiert, kann [:Java:hier] nachgelesen werden. Auch SQL Developer liegt wieder als rpm-Paket vor. Es kann von [http://www.oracle.com/technology/software/products/sql/index.html 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 [#Voraussetzungen Generelle Voraussetzungen]). == Benutzung/Konfiguration == Das Starten des "SQL Developer" erfolgt über die Konsole [2] mittels: {{{#!vorlage Befehl 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: * Die Express Edition verwendet maximal 1 Gigabyte RAM und maximal eine CPU. * Es können maximal 4 Gigabyte an Daten angelegt und verwaltet werden. {{{#!vorlage Warnung Die folgende Anleitung gilt ausschließlich für die so genannte "Express Edition", nicht für die Standard Edition! }}} == Installation == Zuerst einmal muss folgendes Paket aus den Paketquellen installiert [1] werden: * '''libaio1''' Falls man die ''Ubuntu Server Edition'' verwendet muss desweiteren folgendes Paket aus den Paketquellen installiert werden: * '''bc''' Nun zur Installation der Datenbank selbst. Oracle bietet ein deb-Paket [http://www.oracle.com/technology/software/products/database/xe/index.html oracle-xe-universal_*_i386.deb] {dl} an, welches man herunterlädt und installiert [3]. == Benutzung/Konfiguration == {{{#!vorlage 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 Konfigurationsscript für die Basiskonfiguration mit, welches man folgendermaßen aufrufen: {{{#!vorlage Befehl sudo /etc/init.d/oracle-xe configure }}} Das Script 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 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. = Links = * [http://www.oracle.com Oracle Homepage] {en} * [http://www.oracle.com/technology/documentation/index.html Offizielle Oracle Dokumentation] {en} * [http://searchoracle.techtarget.com/originalContent/0,289142,sid41_gci905148,00.html Oracle dumps] {en} - Sehr guter Artikel über Oracle dumps * [http://www.inf.fu-berlin.de/lehre/WS00/projekt_vis/intro.html SQL*PLUS] {de} - Kurze Einführung in SQL*PLUS * [http://www.orawiki.de/index.php?title=Oracle_Instant_Client Oracle Wiki] {de} - deutsches Wiki für Oracle Anwender und Admins # tag: Server, unfreie Software