SQL*Plus

SQL*Plus
Oracle

Datenbank
Basisdaten
Entwickler: Oracle
Aktuelle Version: 11g
(10. Juli 2007)
Betriebssystem: Linux, Windows, Solaris, HP-UX, AIX
Kategorie: Datenbankmanagementsystem
Lizenz: proprietär
Deutschsprachig: ja
www.oracle.com

Oracle Database ist eine relationale Datenbank von Oracle.

Inhaltsverzeichnis

Datenbanksystem

Oracle Database (auch Oracle Database Server, Oracle RDBMS o. ä.) ist eine Datenbankmanagementsystem-Software.

Ein Oracle Datenbanksystem kann sowohl relationale Daten, als auch objektrelationale Daten speichern. Weiterhin besitzt es die Fähigkeit zur Verarbeitung und relationalen Transformation von XML-Datenstrukturen (XMLDB, XDK). Es implementiert die ACID-Eigenschaften, bietet gute Skalierbarkeit und einen sehr großen Funktionsumfang.

Das Oracle Datenbankmanagementsystem (DBMS, RDBMS, ORDBMS) eignet sich wegen seiner Architektur und Skalierbarkeit für eine große Zahl gleichzeitig aktiver Benutzer. Es ist für fast alle heute verwendeten Betriebssysteme erhältlich.

Das Oracle Datenbanksystem kann als Express-Edition (XE) kostenlos genutzt werden. Diese Version ist jedoch stärker eingeschränkt als die kostenlose DB2-Version, weil sie u. a. das Laden von Javaklassen in die Datenbank selbst nicht unterstützt (der JDBC-Treiberzugriff ist jedoch möglich). Zusätzlich gibt es eine Beschränkung von 1 GB RAM- und einer CPU-Nutzung sowie eine maximale Datengröße von 4 GB.

Der Oracle Database Server in aktuellen Versionen unterstützt den Zugriff auf ein Datenvolumen von 40 Exabyte. Damit weist er eine Speicherkapazität auf, die derzeit (2006) kaum von einzelnen Organisationen ausgeschöpft werden kann.

Das Speichern nichtrelationaler Daten (Video, Musik, Dokumente, Fax etc.) wird mit BLOBs (binary large objects) und CLOBs (character large objects) unterstützt. Die Indizierung von zahlreichen nichtrelationalen Datenformaten wird bereits mitgeliefert. Die Erweiterung um eigene programmatische Indizierungen wird unterstützt. Raumbezogene Daten können relational abgelegt werden, räumliche Indizierungen und Abfragen werden unterstützt (SPATIAL Option).

Weitere wichtige Grundeigenschaften sind: plattformübergreifende Unterstützung verteilter Datenbanken, Data Warehouse Funktionalität, Messaging, OLAP- und Data-Mining, intelligente Datensicherung (wahlweise mit Block Change Tracking), Java Stored Procedures (nicht in der XE-Version), Unterstützung regulärer Ausdrücke in Abfragen, Versionierung von Tabellen (Langzeittransaktionen), Virtual Private Database Funktionalität und zahlreiche Mechanismen für den Datenschutz.

Eigenschaften

  • Absicherung gegen
    • Instance Failure (z. B. Stromausfall) durch die Option eines Aktiv/Aktiv-Clusters mit Failover-Funktionalität (Oracle RAC),
    • Media Failure (Festplattenfehler) durch optionale Standby-Datenbank und Oracle Dataguard sowie
    • Anwenderfehler mittels Flashback (auf Satzebene, Tabellenebene oder auch datenbankweit)
  • Data Warehouse Features sind z. B. Datentypen zur Speicherung großer Datenmengen (CLOB, BLOB), Partitioning (Aufteilung der Daten in Untertabellen, etwa nach Datum), transportable Tablespaces, Big Tablespaces (Datenfiles mit bis zu 128 Petabyte), Bitmap-Indexe für OLAP-Queries, Star-Transformation, Zugriff auf verteilte Datenbanken, Standby-Datenbank
  • Große Auswahl an eingebauten SQL-Funktionen und analytischen Funktionen, beide durch Userfunktionen beliebig erweiterbar
  • Kostenbasierter Optimizer, der automatisch Ausführungspläne zur Laufzeit entsprechend dem vorgegebenen Ziel Durchsatz oder Reaktionszeit erstellt
  • Umfangreiches Sicherheitskonzept zur Verwaltung und Weitergabe von Rechten an allen Datenbankobjekten, Vergabe von Rollen und Policies
  • Zeilenweise Zugriffskontrolle (FGAC) als Ergänzung zur sowieso vorhandenen spaltenweisen Zugriffskontrolle
  • Auditing (Protokollierung aller Zugriffe oder in Teilen)
  • Resource Manager zum dynamischen Verteilen der Ressourcen (Speicher, CPU-Zeit, I/O) auf Profile
  • Ausgefeilte Tuningmöglichkeiten, ab Version 10g durch sogenannte „Advisors“ ergänzt (Datenbank kann sich selbst tunen oder Hinweise geben, Stichwort „ADDM“)
  • Performance Features wie Index-Organized Tables (Tabellen werden als Index abgespeichert, Grundtabelle entfällt)
  • Sehr leistungsfähige, eng mit SQL verwobene eingebaute Programmiersprache PL/SQL (native Kompilierung möglich, native Datentypen)
  • Seit Version 8i zusätzlich Verzahnung mit Java im Oracle Kernel (Laden von Java in die Datenbank)
  • Erweiterungen wie Oracle Spatial, die die Speicherung und Analyse von Geodaten erlauben
  • integrierte Volltextsuche (Oracle Text, in früheren Versionen intermedia Text)

Mit dem Release 10g wurde die Vision eines Oracle Grid (siehe auch Grid-Computing) weiter umgesetzt: Auch das kleine „g“ im Release-Namen steht für Grid. Kernstück des Oracle Grid ist der Aktiv/Aktiv-Cluster, der von Oracle unter dem Namen Real Application Cluster (RAC) vertrieben wird. Oracle bietet seit 10g eine eigene Cluster Manager-Software unter dem Namen Oracle Cluster Ready Services an. Diese wurde erstmals in 9i zunächst für Linux, später auch für Windows freigegeben. Seit Oracle 10g steht diese für jede von Oracle unterstützte Plattform zur Verfügung.

Zusammen mit DB2 und MS SQL-Server gehört Oracle zu den Marktführern im RDBMS-Segment. Im Großrechner-Bereich sind Sun-Fire-Maschinen mit dem Unix-System Solaris oder IBM-Maschinen häufig verwendete Plattformen. Im Midrange-Bereich werden nahezu alle Unix-Systeme unterstützt und eingesetzt, daneben aber auch OpenVMS. Linux wurde neben Solaris als strategische Hauptplattform längere Zeit favorisiert und findet sehr starke Verbreitung. Windows wird aufgrund der hohen Verbreitung strategisch ebenfalls sehr stark unterstützt.

Das Datenbanksystem entspricht, wie die meisten Datenbanksysteme, nicht vollständig dem jeweils gültigen SQL-Standard. Dies ist unter anderem in der Tatsache begründet, dass die ersten Versionen von Oracle programmiert wurden, bevor SQL erstmals von der ANSI festgeschrieben wurde. Doch wurden sukzessive ANSI-Standards erfüllt. So wird neben der proprietären Syntax, die auch weiterhin zur Verfügung steht, inzwischen die Join-Syntax unterstützt.

Hier noch einige Probleme, vor denen man bei einer Portierung zwischen Datenbanksystemen eventuell steht bzw. über die man stolpert, wenn man den SQL-Standard kennt:

  • Der Datentyp date enthält zusätzlich die Uhrzeit
  • Leere Zeichenketten werden nicht vom NULL-Wert unterschieden
  • In UNIONs ist der Wert NULL nur mit Zeichenketten statt mit allen Datentypen kompatibel (muss konvertiert werden)
  • Um die vorhandene Datenbankstruktur in eine Textdatei zu exportieren, die DDL-Kommandos etc. enthält, verwendet man die Kommandozeilentools exp und imp und übergibt letzterem den Parameter INDEXFILE=<Dateiname>. Ferner existiert für diesen Zweck das PL/SQL-Package DBMS_METADATA. Außerdem bieten dies externe Entwicklungstools wie SQL Navigator oder PL/SQL Developer.

Da SQL nur eine deskriptive Sprache ist, wurde eine proprietäre prozedurale Erweiterung von SQL mit dem Namen PL/SQL entwickelt. PL/SQL steht für Procedural Language / Structured Query Language. PL/SQL Kommandos können ad hoc als anonyme Blöcke eingegeben werden oder in Form von sogenannten 'Stored Procedures' in der Datenbank abgelegt werden.

Für Studienzwecke ist die Oracle-Datenbank auf der Herstellerseite frei erhältlich. Auch die anderen Produkte des Unternehmens Oracle stehen dort zur Verfügung.

Architektur

Ein Oracle-Datenbanksystem besteht aus einem Datenbankmanagementsystem (DBMS) und einer Datenbank (Data Files, Control Files, Redo Log Files). Im Einzelnen kann das System wie folgt charakterisiert werden:

Datenbank

Diese besteht zumeist aus Dateien in einem Filesystem, es werden jedoch auch Raw Devices oder per ASM (Automatic Storage Management) verwaltete Diskgroups verwendet. Man unterscheidet die Dateiarten:

Data-Files
die eigentlichen Datendateien mit den Dateninhalten.
Redo-Log-Files
sehr schnell schreibbare Dateien, die als Transaktionslogs dienen und die die Datenblockänderungen (Change-Vektoren) von Transaktionen aufnehmen. Diese gespeicherten Change-Vektoren dienen zur Wiederherstellung von Datenblöcken, falls ungeplant oder beabsichtigt das Datenbankmanagementsystem terminiert werden muss. Noch nicht in die Data-Files übertragene, festgeschriebene Änderungen können so rekonstruiert und nachgefahren werden (roll forward). Im Anschluss daran werden alle Änderungen nach dem letzten erfolgreichen Festschreibvorgang (check point) zurückgeschrieben (roll back).
Control Files
Dateien, die u. a. die Struktur- und Zustandsinformation der Datenbank enthalten. Hierzu zählen die System-Change-Number (SCN) sowie die Pfade und Namen aller Data-Files und Redo-Log-Files.

Datenbankmanagementsystem

Ein laufendes und aktiv von Clients verwendetes Oracle-Datenbankmanagementsystem besteht aus

  • einer oder mehreren Oracle-Instanzen
  • einem oder mehreren Listener-Prozessen, die Verbindungswünsche bearbeiten und Oracle-Server-Prozesse starten können
  • einem oder mehreren Oracle-Server-Prozessen (Schattenprozess, Shadow Process)

Die Oracle-Server-Prozesse nehmen Datenbankabfragen (Query) oder Datenmodifikationsanweisungen (DML) in der Sprache SQL (oder anderen Sprachen) von den Datenbank-Clients entgegen, führen diese Aufträge aus und liefern Ergebnisdaten zurück. Dabei agieren die Oracle-Server-Prozesse teilweise direkt auf den Data-Files, teilweise übertragen sie jedoch auch Aktivitäten auf die Hintergrundprozesse der Oracle-Instanz.

Die Oracle-Instanz stellt gemeinsamen Arbeitsspeicher in Form von Shared Memory sowie zahlreiche darauf zugreifende Hintergrundprozesse bereit. Die wichtigsten Hintergrundprozesse sind:

  • Der Database Writer (DBWR), der Änderungen an den Datenblöcken in die Data-Files schreibt.
  • Der Log Writer (LGWR), der Redo-Informationen in die Redo-Log-Files schreibt.
  • Der Archiver (ARCH), der Redo-Log-Files archiviert, sofern die Datenbank im sogenannten Archive-Log-Modus betrieben wird.
  • Der System Monitor (SMON), der Konsistenzinformationen in die Control-Files sowie in die Header von Data-Files und in Redo-Log-Files schreibt. Beim Wiederanlauf einer Datenbank nach einem Crash prüft der System-Monitor diese Konsistenzinformationen in einem Quercheck über alle Control-Files, Data-Files und Redo-Log-Files. Sollte der SMON Inkonsistenzen feststellen, so leitet der System-Monitor eine Crash Recovery ein, bei dem aus den Redo-Log-Files solange fehlende Transaktionen in die Data-Files übertragen werden, bis die Datenbank mit allen Data-Files wieder in sich konsistent ist.
  • Der Prozess Monitor (PMON), der die Oracle-Prozesse überwacht.

Die Standardeinstellung der Isolationsebene einer Oracle-Datenbank ist "Read committed", d. h. eine Abfrage sieht alle Daten konsistent in dem Zustand, in dem sie zu Beginn der Abfrage festgeschrieben waren. Man kann auch die Isolationsebenen "Serialize" oder "Read only" (kein SQL-Standard) für eine Session oder eine Transaktion festlegen. Die anderen beiden im SQL-Standard definierten Isolationsebenen ("Read uncommitted", "Repeatable read") werden nicht explizit unterstützt. Durch die Speicherung von Rollback-Informationen führen lesende Zugriffe nie zu Sperren der schreibenden Zugriffe (non-blocking reads) und umgekehrt (non-blocking writes).

Werkzeuge

Werkzeuge zur Entwicklung und Datenbankverwaltung werden sowohl von Oracle als auch von Drittherstellern zur Verfügung gestellt.

Werkzeuge vom Hersteller:

  • 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 sowie die Eingabe, Änderung, Abfrage und Löschen der eigentlichen Dateninhalte vornehmen. Der Aufruf von SQL*Plus erfolgt - unabhängig von der verwendeten Betriebssystemplattform - durch Eingabe von sqlplus. SQL*Plus stand mit den ersten Oracle-Versionen zur Verfügung. Aufgrund der Orientierung an Kommandozeilen sind umfangreiche SQL-Kenntnisse erforderlich. Mit iSQL*Plus stellt Oracle auch ein Webfrontend für SQL*Plus bereit.
  • Oracle SQL Developer (Project Raptor): Oracles kostenloses Werkzeug für den Datenbankentwickler läuft als Java-Programm mit graphischer Benutzer­oberfläche und ermöglicht das Bearbeiten von Datenbankobjekten, Erstellen und Testen von SQL-Statements und Skripten, Erstellen und Debuggen von PL/SQL-Prozeduren und einfache Datenbankanalyse.
  • Oracle Enterprise Manager (Java-Konsole): Graphische Bedienoberfläche zur Datenbankverwaltung auf Java-Basis
  • Oracle Enterprise Manager Database Control: Web-basierende, graphische Bedienoberfläche zur Verwaltung einer Datenbank
  • Oracle Enterprise Manager Grid Control: Web-basierende, graphische Bedienoberfläche zur Verwaltung einer Oracle Umgebung inkl. mehrerer Datenbanken, Datenbankcluster, Standby-Systeme
  • Data Guard Control: Kommandozeilenorientiertes Werkzeug zur Verwaltung von Standby Datenbanken
  • Server Control: Kommandozeilenorientiertes Werkzeug zur Verwaltung von Datenbanken, Services und Application in einem Cluster
  • Oracle JDeveloper: Integrierte Entwicklungsumgebung zur Entwicklung von Datenbankanwendungen mit Oracle und Java

Werkzeuge von Drittherstellern:

  • TOAD: Grafisches Werkzeug zur Verwaltung und Entwicklung mit Oracle-Datenbanken von dem Unternehmen Quest
  • Hora: Graphisches Werkzeug zur Verwaltung und Entwicklung von Oracle Datenbanken von dem Berliner Softwareunternehmen KeepTool.
  • TOra: Grafisches Werkzeug zur Verwaltung und Entwicklung mit Oracle- und PostgreSQL-Datenbanken, mittlerweile ein Sourceforge-Projekt, also Open Source
  • SQL Navigator: Graphisches Werkzeug zur Verwaltung und Entwicklung mit Oracle-Datenbanken von dem Unternehmen Quest
  • PL/SQL Developer: Graphisches Werkzeug zur Verwaltung und Entwicklung mit Oracle-Datenbanken
  • Omega9: Werkzeug zur Administration und Entwicklung von PL/SQL-Code mit Oracle-Datenbanken
  • SQL Workbench/J: The free DBMS-independent SQL Tool
  • DBShadow: Standardlösung mit Graphischem User Interface für die Erstellung, Überwachung und Verwaltung von Standby Datenbanken.
  • Aqua Data Studio: Grafisches Werkzeug zur Verwaltung und Entwicklung von Datenbanken von dem Unternehmen AQUAFOLD

Lizenzierung

Oracle lizenzierte für lange Zeit seine Produkte nach der Anzahl von sogenannten Named Usern, also benannten Benutzern - wobei es egal ist, wie viele Nutzer gleichzeitig am System arbeiten, sondern wie viele am System arbeiten können - oder von Prozessorkernen (nicht wie zum Beispiel Microsoft nach der Anzahl der physikalischen CPU-Sockel), seit einiger Zeit jedoch auch nach Anzahl der Sockel, in der Standard Edition und der Standard Edition One. In der wesentlich höherwertigen Enterprise Edition wird weiter das pro-Core-Lizenzverfahren (2 Cores = 1 Lizenz bei Intel-Systemen, bei Sparc benötigt man eine Lizenz für 4 Cores) angewendet.

Die Express Edition ist kostenlos nutzbar, und darf auch als Datenbank für eigene Programmentwicklungen an Dritte bzw. Kunden weitergegeben werden, ohne dass dafür eine Lizenz erworben werden muss.

Trivia

Nach der Unternehmensgründung 1977 war der erste Angestellte Bruce Scott; er hatte eine Katze namens Tiger. Daraus entstand der Benutzername „scott“ mit Passwort „tiger“ für einen heute noch gern eingesetzten Demo-User.

Siehe auch

Literatur

  • Michael Abbey, Mike Corey, Ian Abramson: Oracle 10g. A Beginner's Guide. McGraw-Hill/Osborne, Berkeley 2004, ISBN 0-07-223078-9 (engl.)
  • Johannes Ahrends, Dierk Lenz, Patrick Schwanke, Dr. Günter Unbescheid: Oracle 10g für den DBA. Effizient konfigurieren, optimieren und * verwalten. Addison-Wesley 2006, ISBN 3-8273-2171-9
  • Christian Antognini, Troubleshooting Oracle Performance Mai 2008, ISBN 1-59059-917-9 (engl.)(Website zum Buch)
  • Steven Feuerstein, Bill Pribyl: Oracle PL/SQL. O'Reilly, 2002, ISBN 0-596-00381-1 (engl.)
  • Lutz Fröhlich: Oracle 10g. Markt und Technik, 2004, ISBN 3-82-726679-3
  • Mark Gurry: Oracle SQL Tuning kurz & gut. O'Reilly, 2002, ISBN 3-89721-242-0
  • Andrea Held: Oracle 10g Hochverfügbarkeit. Die ausfallsichere Datenbank mit Real Application Cluster (RAC), Data Guard und Flashback. Addison-Wesley, München 2005, ISBN 3-8273-2163-8
  • Andrea Held: Oracle 11g Neue Features, Hanser, München 2008, ISBN 3-44-641198-4
  • Uwe Herrman, Dierk Lenz, Günter Unbescheid, Johannes Ahrends: Oracle 9i für den DBA. Effizient konfigurieren, optimieren und verwalten. McGraw-Hill/Osborne, Berkeley 2004, ISBN 0-07-223078-9
  • Thomas Kyte: Expert one-on-one Oracle. Wrox, 2002, ISBN 1-861004-82-6 (engl.)
  • Thomas Kyte: Effective Oracle by Design. McGraw-Hill, 2004, ISBN 0-07-223065-7 (engl.)
  • Thomas Kyte: Expert Oracle Database Architecture: 9i and 10g Programming Techniques and Solutions, APress, 2005, ISBN 1590595300 (engl.)
  • Kevin Loney, Bob Bryla: Oracle Database 11g DBA Handbook , Mcgraw-Hill, 2008, ISBN 0071496637 (engl.)

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • SQL*Plus — SQL*Plus  программа интерпретатор командной строки для работы с системой управления базами данных Oracle, в которой могут выполняться команды SQL и PL/SQL в интерактивном виде или из сценария. SQL*Plus работает как относительно простой… …   Википедия

  • SQL*Plus — is an Oracle command line utility which runs SQL and PL/SQL commands interactively or from a script. Complete documentation for SQL*Plus can be found on the Oracle website [cite web | title=Oracle SQL*Plus documentation |… …   Wikipedia

  • SQL*Plus — Saltar a navegación, búsqueda SQL*Plus es una utilidad de línea de comandos de Oracle la cual permite a los usuarios ejecutar interactivamente comandos SQL y PL/SQL. La documentación completa para el intérprete SQL*Plus puede encontrarse en el… …   Wikipedia Español

  • SQL*Plus — est un utilitaire en ligne de commande d Oracle qui permet aux utilisateurs d exécuter interactivement des commandes SQL et PL/SQL. Références SQL*Plus SQL*Plus Tutorial …   Wikipédia en Français

  • SQL Server Notification Services — is being Removed from SQL Server 2008 [http://blog.desktopalert.net/blogs/da blog/archive/2008/02/16/25.aspx] Notification Services is based on SQL Server Technology, and sits atop the Microsoft .NET Framework. Notification Services offers a… …   Wikipedia

  • SQL — Structured Query Language SQL Apparu en 1974 Auteur …   Wikipédia en Français

  • SQL Server — Microsoft SQL Server SQL Server Développeur Microsoft Dernière …   Wikipédia en Français

  • SQL Server 2000 — Microsoft SQL Server SQL Server Développeur Microsoft Dernière …   Wikipédia en Français

  • PL/SQL — infobox programming language name = paradigm = imperative (procedural) year = designer = developer = Oracle Corporation latest release version = latest release date = latest test version = latest test date = typing = implementations = dialects =… …   Wikipedia

  • PL/SQL — (Procedural Language/Structured Query Language) es un lenguaje de programación incrustado en Oracle. PL/SQL soportara todas las consultas, ya que la manipulación de datos que se usa es la misma que en SQL, incluyendo nuevas características: El… …   Wikipedia Español

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”