Oracle Administration
SQL Developer unter debian/ubuntu installieren
Damit man eine Software später wieder deinstallieren kann, bietet sich die Installation mittels Paketmanager an. Debian und Ubuntu verwenden typischerweise das .deb Dateiformat. Da Oracle nur ein .rpm-Paket bereitstellt, kann man dieses in ein .deb-Paket umwandeln und installieren:
Download von "Oracle SQL Developer RPM for Linux" von der Webseite http://www.oracle.com/technetwork/developer-tools/sql-developer/overview/index.html
alien und openjdk installieren:
sudo apt-get install alien openjdk-6-jdk.rpm-Paket in ein.deb-Paket umwandeln:
sudo alien sqldeveloper-2.1.1.64.45-1.noarch.rpm.deb installieren
sudo dpkg-i sqldeveloper-2.1.1.64.45-1.noarch.debOracle SQL Developer starten mit
sqldevelopersqlplus unter debian / ubuntu installieren
In der Datei /etc/apt/sources.list muss man eine weitere Zeile anfügen:
deb http://oss.oracle.com/debian unstable main non-freeDanach die Paketinformationen auffrischen und die Pakete oracle-xe-client und libaio installieren:
sudo apt-get update
sudo apt-get install oracle-xe-client libaioAnschließend steht der Befehl sqlplus zur Verfügung. Auch ein Start per Startmenü sollte möglich sein ("SQL-Befehlszeile ausführen").
Connection String für sqlplus
Ein funktionierendes Beispiel ist folgendes:
sqlplus "<user>/<password>@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = <oraclehost>)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = <SID>)))"Die Platzhalter in spitzen Klammern müssen inklusive den spitzen Klammern ersetzt werden. Z.B.:
sqlplus "joe/secret@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = myoracle123.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = mysid)))"Weitere Connection Strings:
Client Encoding einstellen
Oft werden sprachspezifische Umlaute und Sonderzeichen auf Seite des Clients falsch dargestellt. Dies lässt sich oft vermeiden, indem man das Client-Encoding auf UTF8 umstellt.
Bevor man beispielsweise den Befehlszeilenclient sqlplus startet, muss man unter Linux eine Umgebungsvariable setzen:
export NLS_LANG="AMERICAN_AMERICA.UTF8"Cursor-Tasten in sqlplus (workaround)
Wenn man den oracle Befehlszeilenclient sqlplus unter Linux installiert hat, funktionieren mitunter die Cursor-Tasten nicht.
Abhilfe schafft hier ein Tool namens rlwrap. Auf debian und ubuntu lässt es sich installieren mit
sudo apt-get install rlwrapBeim Aufruf von sqlplus wird es dann einfach vorangestellt:
rlwrap sqlplus <parameter>Laufende User-Prozesse anzeigen
Mit folgendem SQL-Statement können alle laufenden User-Prozesse auf dem oracle-Server angezeigt werden:
SET LINESIZE 100
COLUMN spid FORMAT A10
COLUMN username FORMAT A10
COLUMN program FORMAT A45
SELECT s.inst_id,
s.sid,
s.serial#,
p.spid,
s.username,
s.program
FROM gv$session s
JOIN gv$process p ON p.addr = s.paddr AND p.inst_id = s.inst_id
WHERE s.type != 'BACKGROUND';Quelle:
https://oracle-base.com/articles/misc/killing-oracle-sessions
Laufenden User-Prozess beenden
Mit folgendem SQL-Statement kann ein User-Prozess auf dem oracle-Server beendet werden:
ALTER SYSTEM KILL SESSION 'sid,serial#';Quelle: https://oracle-base.com/articles/misc/killing-oracle-sessions