##{{{#!Hinweis}}} ##[[Bild(./.png,,zentriert)]] ## **************Beginn des Artikels******************* ##[[Ausbaufaehig(Auf die Verwendung der tnsnames.ora sollte noch genauer eingegangen werden)]] [[Getestet(gutsy)]] [[Fortgeschritten]] {{{#!Wissen * [1]: [:Pakete installieren: Installation von Programmen] * [2]: [:Paketquellen freischalten: Bearbeiten von Paketquellen] * [3]: [:Terminal: Ein Terminal öffnen] * [4]: [:Programme starten: Ein Programm starten] * [5]: [:Paketinstallation_DEB: Ein einzelnes Paket installieren] }}} [[TableOfContents(1)]] Oracle ist eine in .... ansässige Firma. Im Allgemeinen wird der Name Oracle assoziert mit der Hauptprodukt der Firma.... '''Generelles:''' * Jeder der hier beschriebenen downloads erfordert eine vorherige (einmalige) Registrierung, dies bringt aber keine weiteren Verpflichtung mit sich. * Oracle-Produkte generell stehen nicht unter einer GPL-kompatiblen Lizenz. = SQL*Plus = "Was" SQL*Plus ist und wofür man es gebrauchen kann wird bereits in der wikipedia [http://de.wikipedia.org/wiki/Oracle_(Datenbanksystem)#Werkzeuge hier] sehr schön beschrieben, deshalb sei an dieser Stelle ein Zitat erlaubt: {{{#!Text 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. }}} == Installation == '''libaio1''' Zunächst einmal benötigen wir ''libaio1''. Dies kann direkt über die Ubuntu-Quellen bezogen werden. Dazu muss folgendes Paket installiert [1] werden: * libaio1 (main, [2]) '''alien''' Da SQL*Plus leider weder im Quellcode noch als Ubuntu-Paket erhältlich ist, sondern ausschließlich als rpm, benötigen wir das Programm ''alien'' um das rpm in ein Debian-Paket umzuwandeln. Alien kann direkt über die Ubuntu-Quellen bezogen werden. Dazu muss folgendes Paket installiert [1] werden: * alien (main, [2]) '''SQL*Plus''' Nun können wir SQL*Plus selbst installieren. Wie oben schon angemerkt, gibt es dafür nur ein rpm-Paket, welches man von [http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html hier] beziehen kann. Dieses rpm-Paket wandeln wir nun in der Konsole in ein Debian-Paket um via: {{{#!Befehl alien --to-deb oracle-instantclient-sqlplus-**.*.*.*-*.i386.rpm }}} "**.*.*.*-*" steht hierbei für die verwendete SQL*Plus-Version. Das generierte SQL*Plus Debian-Paket kann nun entweder über GDebi installiert werden oder über die Konsole mittels: {{{#!Befehl dpkg -i oracle-instantclient-sqlplus-**.*.*.*-*.i386.deb }}} Wir sind jedoch noch nicht ganz fertig. Die Bibliotheken von SQL*Plus werden '''nicht''' in einem der Standardpfade installiert. Wir müssen also dafür Sorge tragen, das der Pfad zu den SQL*Plus-Bibliotheken in den ''Library Path'' aufgenommen wird. Dazu müssen wir zunächst einmal rauskriegen, wohin die entsprechenen Bibliotheken installiert wurden. Dazu führen wir in der Konsole folgenden Befehl aus: {{{#!Befehl dpkg -L oracle-instantclient-sqlplus }}} Eine mögliche Ausgabe des Befehls könnte so aussehen: {{{#!Text /. /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 {{{#!Text /usr/lib/oracle/11.1.0.1/client/lib/ }}} befinden. Diesen Pfad fügen wir nun unserem ''Library Path'' hinzu mittels: {{{#!Befehl sudo echo "/usr/lib/oracle/11.1.0.1/client/lib/" >> /etc/ld.so.conf }}} Abschließend lassen wir den ''Library Path'' vom System neu bauen: {{{#!Befehl sudo ldconfig }}} SQL*Plus ist damit installiert und benutzbar. == Benutzung/Konfiguration == Starten läßt 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 zuzugreifen, ohne genauere Details der Verbindung auswendig zu wissen. Damit SQL*PLUS diese Datei auch findet legen wir diese in einem Verzeichnis unserer Wahl an und setzen 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üßten wir 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" erleichtern wir uns die Arbeit erheblich, da wir nun einfach folgendes in der Konsole eintippen können: {{{#!Befehl sqlplus mein_user/mein_password@mein_oracle_service }}} = Instant Client = Wofür man den "Instant Client" benötigt wird bereits im deutschsprachigen oracle wiki [http://www.orawiki.de/index.php?title=Oracle_Instant_Client hier] sehr schön beschrieben, deshalb sei an dieser Stelle ein Zitat erlaubt: {{{#!Befehl 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. }}} == Installation == Da der Instant Client leider weder im Quellcode noch als Ubuntu-Paket erhältlich ist, sondern ausschließlich als rpm, benötigen wir das Programm ''alien'' um das rpm in ein Debian-Paket umzuwandeln. Alien kann direkt über die Ubuntu-Quellen bezogen werden. Dazu muss folgendes Paket installiert [1] werden: * alien (main, [2]) Nun können wir Instant Client selbst installieren. Wie oben schon angemerkt, gibt es dafür nur ein rpm-Paket, welches man von [http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html hier] beziehen kann. Dieses rpm-Paket wandeln wir nun in der Konsole in ein Debian-Paket um via: {{{#!Befehl alien --to-deb oracle-instantclient-basic-**.*.*.*-*.i386.rpm }}} "**.*.*.*-*" steht hierbei für die verwendete Instant Client-Version. Das von ''alien'' generierte Instant Client Debian-Paket kann nun entweder über GDebi installiert werden oder über die Konsole mittels: {{{#!Befehl dpkg -i oracle-instantclient-basic_**.*.*.*-*_i386.deb }}} = SQL Developer = "Was" der SQL Developer ist und wofür man ihn gebrauchen kann wird bereits in der wikipedia [http://de.wikipedia.org/wiki/Oracle_(Datenbanksystem)#Werkzeuge hier] sehr schön beschrieben, deshalb sei an dieser Stelle ein Zitat erlaubt: {{{#!Text 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. }}} == Installation == Der SQL Developer erfordert eine mindestens eine Java Runtime Environment 1.5. Wie man diese installiert, kann [http://wiki.ubuntuusers.de/Java hier] nachgelesen werden. '''alien''' Da der "SQL Developer" leider weder im Quellcode noch als Ubuntu-Paket erhältlich ist, sondern ausschließlich als rpm, benötigen wir das Programm ''alien'' um das rpm in ein Debian-Paket umzuwandeln. Alien kann direkt über die Ubuntu-Quellen bezogen werden. Dazu muss folgendes Paket installiert [1] werden: * alien (main, [2]) Für den SQL Developer gibt es derzeit leider kein debian-Paket sondern nur ein rpm-Paket, dieses kann von hier bezogen werden. Hierbei sollte man die "Oracle SQL Developer RPM for Linux" auswählen. Dieses rpm-Paket wandeln wir nun in der Konsole in ein Debian-Paket um via: {{{#!Befehl alien --to-deb sqldeveloper-**.*.*.*-*.noarch.rpm }}} "**.*.*.*-*" steht hierbei für die verwendete SQL Developer-Version. Nun können wir den "SQL Developer" entweder über GDebi installieren oder über die Konsole mittels: {{{#!Befehl dpkg -i sqldeveloper-**.*.*.*-*.noarch.rpm }}} == Benutzung/Konfiguration == Das Starten des "SQL Developer" erfolgt über die Konsole mittels: {{{#!Befehl sqldeveloper }}} Die Bedienung / Konfiguration ist - entsprechende Oracle Kenntnisse vorausgesetzt - intuitiv und selbsterklärend. = Oracle Database 10g Express Edition = TODO !!!Einleitung!!! '''Vorbemerkung''' Dieser Abschnitt gilt ausschließlich für die sogenannte "Express Edition", '''nicht''' für die Standard Edition! == Installation == Zunächst einmal benötigen wir ''libaio1''. Dies kann direkt über die Ubuntu-Quellen bezogen werden. Dazu muss folgendes Paket installiert [1] werden: * libaio1 (main, [2]) Für den Fall, das wir eine "Ubuntu Server Edition" verwenden benötigen wir noch das Paket "bc", da dieses nicht in bei der Installation mit installiert wird. Dieses installieren wir mittels: {{{#!Befehl aptitude install bc }}} Nun zur Installation der Datenbank selbst. Oracle bietet glücklicherweise ein *.deb Paket dafür an, welches wir mit ''dpkg'' installieren: {{{#!Befehl sudo dpkg -i oracle-xe-universal_10.2.0.1-1.0_i386.deb }}} == Benutzung/Konfiguration == '''Vorbemerkung''' 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 wir folgendermaßen aufrufen: {{{#!Befehl /etc/init.d/oracle-xe configure }}} {{{#!Text 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" }}} == Datenbank-Dump == -> exportiere: exp eaimtse/xxx full file=test.DMP exp %gcOracleUser%/%gcOraclePassword%@%gcTNSServiceName% OWNER=%gcOracleUser% file=%gcExportDir%\%gcExportFileName%.dmp statistics=none log=%gcExportDir%\%gcExportFileName%.log -> logge mich mit sqlplus auf test ein, dann: -> Importiere imp file=test.DMP fromuser=user touser=user userid="system/xxx" ##= Benutzung/Konfiguration = ##= Deinstallation (nur falls es da was Besonderes gibt) = = Links = [ http://searchoracle.techtarget.com/originalContent/0,289142,sid41_gci905148,00.html] sehr guter Artikel über exp / imp ---- * [:Kategorie/Server:] ## vim:filetype=moin