Oracle
Fehlendes Makro
Das Makro „Getestet“ konnte nicht gefunden werden.
Fehlendes Makro
Das Makro „Fortgeschritten“ konnte nicht gefunden werden.
* [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]
Oracle Database ist eine relationale Datenbank der Firma Oracle......
Generelles:
* Jeder der hier beschriebenen downloads erfordert eine vorherige 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 hier sehr schön beschrieben, deshalb sei an dieser Stelle ein Zitat erlaubt::
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 hier beziehen kann.
Dieses rpm-Paket wandeln wir nun in der Konsole in ein Debian-Paket um via:
alien --to-deb oracle-instantclient-sqlplus-**.*.*.*-*.i386.rpm
"**.*.*.*-*" steht hierbei für die verwendete SQL*Plus-Version.
Nun können wir SQL*Plus entweder über GDebi installieren oder über die Konsole mittels:
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, der Pfad zu den SQL*Plus-Bibliotheken in Library Path aufgenommen werden. Dazu müssen wir zunächst einmal rauskriegen, wohin die entsprechenen Bibliotheken installiert wurden.
Dazu führen wir in der Konsole 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ügen wir nun unserem Library Path hinzu mittels:
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:
sudo ldconfig
SQL*Plus ist damit installiert und benutzbar.
Benutzung/Konfiguration¶
Starten läßt sich SQL*Plus über die Konsole mittels:
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.
SQL*Plus erwartet diese Datei .....
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 könnten wir die Verbindung ziemlich kryptisch folgendermaßen aufbauen:
exp 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:
sqlplus mein_user/mein_password@mein_oracle_service
Instant Client¶
Wofür man den "Instant Client" benötigt wird bereits im deutschsprachigen oracle wiki hier sehr schön beschrieben, deshalb sei an dieser Stelle ein Zitat erlaubt:
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 hier beziehen kann.
Dieses rpm-Paket wandeln wir nun in der Konsole in ein Debian-Paket um via:
alien --to-deb oracle-instantclient-basic-**.*.*.*-*.i386.rpm
"**.*.*.*-*" steht hierbei für die verwendete SQL*Plus-Version.
Nun können wir SQL*Plus entweder über GDebi installieren oder über die Konsole mittels:
dpkg -i oracle-instantclient-basic_**.*.*.*-*_i386.deb
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.
Installation¶
Der SQL Developer erfordert eine mindestens eine Java Runtime Environment 1.5. Wie man diese installiert, kann 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:
alien --to-deb sqldeveloper-1.2.1.32.13-1.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:
dpkg -i sqldeveloper-1.2.1.32.13-1.noarch.rpm
Benutzung/Konfiguration¶
Das Starten des "SQL Developer" erfolgt über die Konsole mittels:
sqldeveloper
Die Bedienung / Konfiguration ist - entsprechende Oracle Kenntnisse vorausgesetzt - intuitiv und selbsterklärend.
Oracle Database 10g¶
Oracle Database 10g Release 2 (10.2.0.1) Express Edition for Linux x86
Dies gilt nicht für die Standard Edition!
Installation¶
libaio1 (main, [2])
aptitude install bc
!!! nur für ubuntu server, da fehlt das !!!
sudo dpkg -i oracle-xe-universal_10.2.0.1-1.0_i386.deb
Benutzung/Konfiguration¶
/etc/init.d/oracle-xe configure
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"
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"
http://searchoracle.techtarget.com/originalContent/0,289142,sid41_gci905148,00.html sehr guter Artikel über exp / imp