[[Diskussion(147797,klick)]] [[Getestet(gutsy)]] [[Fortgeschritten]] {{{#!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. }}} {{{#!Wissen * [1]: [:Pakete installieren: Installation von Programmen] * [2]: [:Terminal: Ein Terminal öffnen] * [3]: [:Paketinstallation_DEB: Ein einzelnes Paket installieren] }}} [[TableOfContents(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-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. 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: * '''alien''' Nun kann man über die Konsole [2] folgendermaßen rpm-Pakete in deb-Pakete umwandeln: {{{#!Befehl alien --to-deb mein_rpm-*.i386.rpm }}} Das von ''alien'' generierte deb-Paket kann nun wie gewohnt installiert werden. = 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 darauf in der Konsole 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: {{{#!Befehl dpkg -L oracle-instantclient-sqlplus }}} Eine mögliche Ausgabe des Befehls könnte so aussehen: {{{#!Befehl /. /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 {{{#!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: {{{#!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: {{{#!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: {{{#!Befehl export TNS_ADMIN=/Verzeichnis/eurer/Wahl/ }}} Eine beispielhafte '''tnsnames.ora''' könnte so aussehen: {{{#!Text 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 ""): {{{#!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: {{{#!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, muß 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 == Zuerst muss folgendes Paket aus den Paketquellen installiert [1] werden: * '''alien''' Nun muss man das rpm-Paket [http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html hier] {dl} herunterladen. Dieses rpm-Paket wandelt man darauf in der Konsole in ein deb-Paket um (siehe Abschnitt 'Generelle Voraussetzungen'). Das von ''alien'' generierte Instant Client deb-Paket kann jetzt wie gewohnt installiert werden [3]. = 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. Danach muss noch das Paket: * '''alien''' aus den Paketquellen installiert[1] werden. Nun lädt man sich das rpm-Paket von [http://www.oracle.com/technology/software/products/sql/index.html hier] {dl} herunter. Hierbei sollte man die "Oracle SQL Developer RPM for Linux"-Variante auswählen. Dieses rpm-Paket wandelt man daraufhin in der Konsole in ein deb-Paket um (siehe Abschnitt 'Generelle Voraussetzungen'). Nun kann man den "SQL Developer" mittels des erzeugten deb-Paketes installieren [3]. == Benutzung/Konfiguration == Das Starten des "SQL Developer" erfolgt über die Konsole [2] mittels: {{{#!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. {{{#!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 == {{{#!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: {{{#!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. {{{#!Befehl 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 ---- * [:Kategorie/Server:] * [:Kategorie/unfreie_Software:] ## vim:filetype=moin