Oracle-Datenbank verbinden: SQL*Plus, Python und GUI

Oracle Database treibt viele Geschäftssysteme an. Dieser Leitfaden erläutert die Grundlagen und liefert klare Schritte zum Herstellen einer Verbindung über SQL*Plus, Python-Skripte oder ein grafisches Tool (GUI). Erfahren Sie bewährte Methoden für einen sicheren Zugriff.

download-icon
Kostenloser Download
für VM, Betriebssystem, DB, Datei, NAS usw.
emma

Updated by Emma on 2026/07/08

Inhaltsverzeichnis
  • Was ist Oracle Database?

  • Warum müssen Sie eine Verbindung zu einer Oracle-Datenbank herstellen?

  • Methode 1: Verbindung zu Oracle mit SQL*Plus herstellen

  • Methode 2: Verbindung zu Oracle mithilfe von Python

  • Methode 3: Verbindung zu Oracle-Datenbanken mithilfe von SQL Developer

  • Schützen Sie Ihre Daten mit der Vinchin Enterprise-Backup-Lösung

  • So verbinden Sie sich mit einer Oracle-Datenbank – Häufig gestellte Fragen

  • Fazit

Die Verbindung zu einer Oracle-Datenbank ist eine Kernkompetenz für jeden IT-Administrator oder Entwickler. Egal, ob Sie Abfragen ausführen, Anwendungen erstellen oder Sicherungskopien verwalten – Sie benötigen eine zuverlässige Methode, um auf Ihre Oracle-Daten zuzugreifen. In dieser Anleitung erfahren Sie, was eine Oracle-Datenbank ist – inklusive ihrer Architektur – warum Verbindungen im täglichen Betrieb wichtig sind und wie Sie mithilfe von SQL*Plus, Python (oracledb) und SQL Developer eine Verbindung herstellen.

Was ist Oracle Database?

Oracle Database ist ein leistungsstarkes relationales Datenbankverwaltungssystem (RDBMS), das weltweit von Unternehmen eingesetzt wird. Es speichert Daten in Tabellen, unterstützt komplexe Abfragen mittels SQL- oder PL/SQL-Codeblöcken und bietet erweiterte Funktionen für Sicherheit, Skalierbarkeit, hohe Verfügbarkeit und Leistung. Branchen wie Finanzen und Gesundheitswesen setzen darauf, da es eine robuste Transaktionsverarbeitung und garantierte Betriebszeiten bietet.

Überblick über die Oracle-Architektur

Bevor Sie als Administrator oder Entwickler eine Verbindung mit einer Oracle-Datenbankinstanz herstellen, ist es hilfreich, die wichtigsten architektonischen Konzepte zu verstehen:

  • Instanz vs. Datenbank: Eine Instanz besteht aus Speicherstrukturen (SGA) und Hintergrundprozessen, die den Zugriff steuern; eine Datenbank bezieht sich auf die physischen Dateien, in denen Benutzerdaten gespeichert sind.

  • Multitenant-Architektur: Moderne Versionen unterstützen Multitenancy – eine einzelne Container-Datenbank (CDB) kann mehrere einsteckbare Datenbanken (PDBs) hosten. Jede PDB fungiert als separate logische Datenbank, teilt sich jedoch die Ressourcen mit der CDB.

  • Kritische Dateien: Zu den wichtigen Dateien zählen SPFILE (Server-Parameterdatei), CONTROLFILE, REDO-LOGS und Datenbankdateien – alle sind für Start- und Stop-Vorgänge unerlässlich.

    Das Verständnis dieser Grundlagen hilft Ihnen bei der Auswahl der richtigen Verbindungsmethode – insbesondere dann, wenn Sie in Umgebungen mit sowohl veralteten SIDs als auch modernen Servicenamen arbeiten, die an CDB-/PDB-Setups gebunden sind.

Warum müssen Sie eine Verbindung zu einer Oracle-Datenbank herstellen?

Durch die Verbindung mit einer Oracle-Datenbank können Sie direkt mit dem wertvollsten Gut Ihres Unternehmens arbeiten: den Daten. Doch warum ist das im täglichen Betrieb so wichtig?

IT-Administratoren stellen aus verschiedenen Gründen eine Verbindung zur Datenbank her:

  • Backups durchführen und die Datenintegrität überprüfen: Vor dem Sichern oder Wiederherstellen einer Datenbank führen Administratoren häufig Abfragen auf Systemansichten wie V$DATABASE aus oder verwenden RMAN-Skripte.

  • Leistung überwachen: Der Zugriff auf dynamische Ansichten wie V$SESSION hilft dabei, aktive Benutzersitzungen zu überwachen und Leistungsprobleme zu analysieren.

  • Aufgaben automatisieren: Geplante Jobs mit DBMS_SCHEDULER erfordern eine direkte Verbindung zur Einrichtung und Überwachung.

  • Benutzer und Sicherheit verwalten: Das Zuweisen von Rollen über SQL-Anweisungen, beispielsweise GRANT DBA TO user, setzt eine authentifizierte Sitzung voraus.

  • Audits und Compliance-Prüfungen durchführen: Durch Abfragen wie SELECT * FROM DBA_ROLE_PRIVS lassen sich Berechtigungen überprüfen und Compliance-Anforderungen erfüllen.

Ohne sichere Verbindungen über verschiedene Methoden – Befehlszeilentools wie SQL*Plus für Skripte und Automatisierung, grafische Oberflächen wie SQL Developer für die komfortable Verwaltung sowie APIs wie die Python-Bibliothek oracledb für die Anwendungsentwicklung – können Wartungsarbeiten oder Systemausfälle zu unnötigen Verzögerungen führen.

Methode 1: Verbindung zu Oracle mit SQL*Plus herstellen

SQL*Plus ist das klassische Befehlszeilentool von Oracle und wird mit jeder Oracle-Datenbankinstallation ausgeliefert. Es ist nach wie vor weit verbreitet, da es in nahezu jeder Umgebung funktioniert – von lokalen Servern bis hin zu Remote-Hosts, die über SSH erreichbar sind – und die Automatisierung durch Skripte und Batch-Jobs unterstützt.

Bevor Sie beginnen:

  • Stellen Sie sicher, dass Sie Ihren Benutzernamen und Ihr Passwort bereithalten.

  • Für Remote-Verbindungen benötigen Sie von Ihrem DBA folgende Informationen:

die Hostadresse oder IP-Adresse; die Portnummer (standardmäßig 1521); den Service Name oder die SID der Datenbank.

So stellen Sie eine Verbindung mit SQL*Plus her:

1. Öffnen Sie eine Eingabeaufforderung (Windows) oder ein Terminal (Linux).

2. Geben Sie sqlplus ein und drücken Sie dann die Taste Eingabe.

3. Geben Sie bei der Aufforderung Benutzername Ihren Benutzernamen ein und drücken Sie dann die Taste Eingabe.

4. Geben Sie bei der Aufforderung Passwort Ihr Passwort ein und drücken Sie dann die Taste Eingabe.

Für Remote-Datenbanken mit Easy-Connect-Syntax:

sqlplus Benutzername/Kennwort@Hostname:Port/Dienstname

Beispiel:

sqlplus hr/yourpassword@dbserver.example.com:1521/XEPDB1

Falls erfolgreich, wird die Eingabeaufforderung SQL> angezeigt, an der Sie Befehle wie folgt ausführen können:

SELECT * FROM employees;

Geben Sie exit ein und drücken Sie anschließend die Eingabetaste, wenn Sie fertig sind.

Auf Linux-Systemen müssen Umgebungsvariablen wie ORACLE_HOME festgelegt und Ihr PATH aktualisiert werden, bevor SQL*Plus gestartet wird – sofern dies noch nicht konfiguriert ist.

Verständnis von Verbindungsbezeichnern: SID gegenüber Dienstname

Bei der Verbindung über CLI-Tools oder bei der Konfiguration von Anwendungen stoßen Sie auf zwei Hauptbezeichner:

Die Easy Connect-Zeichenkette erwartet immer einen Servicenamen – niemals eine SID – auch wenn einige Dokumentationen beide Begriffe synonym verwenden! Falls Sie unsicher sind, welcher Bezeichner zutrifft, fragen Sie bitte Ihren Datenbankadministrator.

Verwendung von TNSNAMES.ORA für vereinfachte Verbindungen

Ständig lange Hostnamen einzugeben, wird schnell lästig! Verwenden Sie stattdessen Aliase, die in der lokalen Datei TNSNAMES.ORA definiert sind – diese befindet sich üblicherweise unter $ORACLE_HOME/network/admin.

Beispiel-Eintrag:

hr_alias =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = dbserver.example.com)(PORT = 1521))
    (CONNECT_DATA =
      (SERVICE_NAME = XEPDB1)
    )
  )

Geben Sie nun einfach Folgendes ein:

sqlplus hr/yourpassword@hr_alias

Dieser Ansatz macht Skripts plattformübergreifend portabel, da lediglich die TNSNAMES-Konfiguration aktualisiert werden muss – nicht jedes einzelne Skript.

Methode 2: Verbindung zu Oracle mithilfe von Python

Python ermöglicht Automatisierung – von einfachen Skripten bis hin zu kompletten Webanwendungen – und bietet dank des offiziellen, von Oracle selbst gepflegten oracledb-Treibers nun eine besonders einfache Verbindungsmöglichkeit.

Installieren der erforderlichen Bibliotheken

Installieren Sie den neuesten Treiber:

pip install oracledb

Ältere Anleitungen erwähnen cx_Oracle; dies ist ab Version 8+ in dieses Paket integriert worden.

Dicker Modus vs. Dünner Modus

Python kann auf zwei Arten mit Oracle kommunizieren:

Der dünne Modus ist standardmäßig aktiviert, es sei denn, Sie rufen spezielle Initialisierungsfunktionen auf.

Verbindung ausschließlich im Thin-Modus herstellen (kein Instant Client erforderlich)

So stellen Sie eine Verbindung her, ohne weitere Software außer Python-Paketen zu installieren:

import oracledb

# Kein Aufruf von init_oracle_client() erforderlich, es sei denn, Sie wechseln den Modus!
connection = oracledb.connect(
    user="hr",
    password="yourpassword",
    dsn="dbserver.example.com:1521/XEPDB1"
)

cursor = connection.cursor()
cursor.execute("SELECT employee_id FROM employees")
for row in cursor:
    print(row)
cursor.close()
connection.close()

Falls die Zugangsdaten korrekt sind, werden die Abfrageergebnisse ausgegeben.

Sichere Verwaltung von Anmeldeinformationen

Codieren Sie Passwörter niemals fest in Skripte ein! Verwenden Sie stattdessen Umgebungsvariablen:

import os
user = os.getenv("ORACLE_USER")
pwd = os.getenv("ORACLE_PASS")
dsn = "dbserver.example.com:1521/XEPDB1"
connection = oracledb.connect(user=user, password=pwd, dsn=dsn)

Verbindungspooling und bewährte Verfahren

Für Produktionsworkloads – oder sogar für stark ausgelastete Administrations-Skripte – lohnt es sich sehr, Verbindungen zu poolen, anstatt bei jedem Zugriff eine neue Verbindung zu öffnen und wieder zu schließen:

pool = oracledb.create_pool(
    user=os.getenv("ORACLE_USER"),
    password=os.getenv("ORACLE_PASS"),
    dsn="dbserver.example.com:1521/XEPDB1",
    min=2,
    max=5,
    increment=1
)
with pool.acquire() as conn:
    cur = conn.cursor()
    cur.execute("SELECT status FROM v$instance")
    print(cur.fetchone())
cur.close()
pool.close()

Verbindungs-Pooling verbessert die Leistung und entlastet gleichzeitig sowohl die Client- als auch die Server-Ressourcen.

Methode 3: Verbindung zu Oracle-Datenbanken mithilfe von SQL Developer

SQL Developer bietet eine grafische Benutzeroberfläche, die sich ideal eignet, um Datenbankschemata visuell zu erkunden oder Ad-hoc-Abfragen auszuführen, ohne sich die Syntax der Befehlszeile merken zu müssen.

Starten Sie zunächst SQL Developer über das Anwendungsmenü Ihres Betriebssystems (Windows, Linux oder macOS).

Klicken Sie im linken Bereich auf das grüne Plus-Symbol (+) mit der Bezeichnung „New Connection“.

Füllen Sie anschließend die folgenden Felder aus:

  • Connection Name – ein beliebiger Name für die Verbindung (z. B. „HR_PDB“).

  • Username – z. B. HR.

  • Password – geben Sie Ihr Passwort ein.

Wählen Sie unter Connection Type die Option Basic aus. Geben Sie anschließend folgende Informationen ein:

  • Hostname – z. B. dbserver.example.com.

  • Port – normalerweise 1521.

  • Service Name – z. B. XEPDB1.

Klicken Sie auf Test. Wenn der Status Success angezeigt wird, klicken Sie auf Connect. Die neue Verbindung wird im Bereich Connections angezeigt und kann sofort zum Durchsuchen von Tabellen, Views und zum Ausführen von SQL-Code verwendet werden.

Um die Verbindung später zu trennen, klicken Sie mit der rechten Maustaste auf den entsprechenden Eintrag und wählen Disconnect aus, oder schließen Sie einfach SQL Developer.

Verbindung mit austauschbaren Datenbanken (PDBs)

Bei Multitenant-Setups verfügt jede PDB über einen eigenen eindeutigen Servicenamen – häufig entspricht dieser exakt ihrem zugewiesenen Namen („XEPDB1“, „SALES_PDB“). Bestätigen Sie stets das Ziel vor der Verbindung, damit Änderungen nicht versehentlich den falschen Container betreffen!

Verwendung erweiterter Verbindungsoptionen

Brauchen Sie zusätzliche Sicherheit? Viele Unternehmen verlangen verschlüsselte Tunnel zwischen Desktops/„Jump Hosts“/Datenbanken:

SSH-Tunnel-Beispiel

Angenommen, der direkte Datenbankport ist nicht nach außen freigegeben – doch die Jump-Box erlaubt SSH-Anmeldungen:

Auf dem lokalen Rechner ausführen:

ssh -L 1522:dbserver.internal.net:1521 jumpbox.company.net

Richten Sie anschließend den Hostnamen in SQL Developer auf „localhost“ und den Port auf „1522“ ein; der Dienstname bleibt wie üblich – der Tunnel leitet den Datenverkehr sicher weiter!

SSL/TLS-verschlüsselte Sitzungen

Einige Websites verlangen verschlüsselte Verbindungen von Ende zu Ende über das TCPS-Protokoll statt über einfache TCP/IP-Sockets – fragen Sie in diesem Fall die Datenbankadministratoren nach den erforderlichen Zertifikaten/Einstellungen.

Schützen Sie Ihre Daten mit der Vinchin Enterprise-Backup-Lösung

Nachdem sichere Verbindungspraktiken gewährleistet sind, wird der Schutz Ihres eigentlichen Datenbankinhalts entscheidend – insbesondere angesichts der heutigen Cyberrisiken und Compliance-Anforderungen. 

Vinchin zeichnet sich als professionelle Backup-Lösung auf Unternehmensebene aus, die speziell für virtuelle Umgebungen und gängige Datenbanken wie Oracle, MySQL, SQL Server, MariaDB, PostgreSQL und PostgresPro entwickelt wurde.

Vinchin Backup & Recovery bietet umfassende Schutzfunktionen wie die Integration von Cloud-Backups und Optionen für die Archivierung auf Band; Unterstützung für vollständige, inkrementelle und Log-Backups – darunter auch speziell für Oracle- und PostgreSQL-Umgebungen zugeschnittene Archivlog-Backups; automatisierte geplante Backups sowie platzsparende Technologien zur Komprimierung und Deduplizierung; Funktionen zum sofortigen Wiederherstellen auf einem neuen Server sowie Wiederherstellung zu einem beliebigen Zeitpunkt, soweit unterstützt; leistungsfähige Mechanismen zum Schutz vor Ransomware – und vieles mehr.

Die intuitive Webkonsole vereinfacht das Backup-Management in vier einfache Schritte, die speziell für jede unterstützte Plattform zugeschnitten sind:

1. Wählen Sie Ihre Ziel-Oracle-Datenbank(en) aus.

Wählen Sie Ihre Ziel-Oracle-Datenbank aus

2. Wählen Sie den bzw. die Speicherort(e) aus.

Speicherort auswählen

3. Sicherungsstrategien konfigurieren,

Speicherort auswählen

4. Die Aufgabe einreichen.

Speicherort auswählen

Werden Sie Teil von Tausenden zufriedener Kunden weltweit, die sich täglich auf die hochbewerteten Lösungen von Vinchin verlassen – schützen Sie jetzt Ihre kritischen Workloads mit unserer kostenlosen, voll funktionsfähigen 60-Tage-Testversion, indem Sie unten auf „Installer herunterladen“ klicken!

So verbinden Sie sich mit einer Oracle-Datenbank – Häufig gestellte Fragen

F1: Was tun, wenn beim Verbinden ein ORA‑12514-Fehler auftritt?

A1: Stellen Sie sicher, dass Sie den richtigen Dienstnamen in Ihrer Verbindungszeichenfolge verwenden – und überprüfen Sie, ob der Listener-Prozess auf dem Zielserver ausgeführt wird.

F2: Kann ich eine Verbindung herstellen, ohne die vollständige Client-Software zu installieren?

A2: Ja – Sie können leichtgewichtige Lösungen wie Instant Client-Pakete (oder den rein-pythonbasierten Thin-Modus über „oracledb“) verwenden, ohne umfangreiche Installationen vornehmen zu müssen.

F3: Wie stelle ich eine Verbindung von Linux aus unter Verwendung der Betriebssystem-Authentifizierung her?

A3: Sudo/Wechseln Sie zum Oracle-OS-Benutzerkonto und führen Sie dann an der Shell-Eingabeaufforderung „sqlplus /as sysdba“ aus (kein Passwort erforderlich).

F4: Gibt es einen Unterschied beim Verbinden mit einer plugbaren Datenbank (PDB)?

A4: Sie sollten im Verbindungsstring den Servicenamen der PDB (nicht der CDB) verwenden – der Servicename entspricht in der Regel dem Namen der PDB.

Fazit

Die sichere Verbindung mit der Oracle-Datenbank ist entscheidend für die Verwaltung, Analyse und den Schutz kritischer Daten. Ob Sie die Befehlszeile, Python-APIs oder grafische Tools verwenden – jede Methode bietet spezifische Vorteile für Ihren täglichen Betrieb. Für einen zuverlässigen Sicherungsschutz bietet Vinchin Enterprise-fähige Funktionen, auf die sich globale Unternehmen verlassen – testen Sie es kostenlos und heben Sie Ihre Datensicherheit auf die nächste Stufe.

Teilen auf:

Categories: Database Tips