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.deb
Oracle SQL Developer starten mit
sqldeveloper
sqlplus 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-free
Danach die Paketinformationen auffrischen und die Pakete oracle-xe-client
und libaio
installieren:
sudo apt-get update
sudo apt-get install oracle-xe-client libaio
Anschließ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 rlwrap
Beim 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