2. Oracle Architektur und Tools 2 Oracle Architektur und Tools Einführung in die Architektur und Tools von Oracle. 2.1 Übersicht Themen des Kapitels - Oracle Architektur und Tools Themen des Kapitels Aufbau eines Database Management Systems (DBMS) Oracle Architektur Oracle Tools Im Kapitel Oracle Architektur und Tools sollen die Eigenschaften und die Funktionsweise von Oracle dargestellt und die zur Verfügung stehenden Tools besprochen werden. NetQuest GmbH Seite 2-1 2. Oracle Architektur und Tools 2.3 Oracle Architektur Funktion der Komponenten des Oracle Systems. 2.3.1 Aufbau eines DBMS Database Management Systems (DBMS) User Database Management System - DBMS ORACLE_SID (Umgebungsvariable) Client Instanz Database File(s) DB_NAME (Parameterdatei) Die Oracle SID ist eine eindeutige Bezeichnung der Instanz (meistens 8 Zeichen Länge, abhängig vom Betriebssystem). Standardmäßig verwaltet eine Instanz genau eine Datenbank, außer es wird der Real Application Cluster (RAC) verwendet, bei dem mehrere Instanzen auf die gleichen Datenbankdateien zugreifen oder es wird die neue Mehrmandanten (Multitenant) Architektur verwendet, bei der mehrere Datenbanken konsolidiert werden NetQuest GmbH Seite 2-2 2. Oracle Architektur und Tools Relationale Datenbanken werden im Wesentlichen in zwei möglichen Systemtypen eingesetzt: 1. OLTP (Online Transactional Processing)-System Hierbei handelt es sich um Produktiv-Datenbanken zur Massendatenverarbeitung, in denen Daten gespeichert und verändert werden, wie z.B. ERP-Systeme. 2. OLAP (Online Analytical Processing)-System In einem OLAP-System werden Daten (häufig aus einem Data Warehouse, aber auch aus operativen Systemen), oft in einer denormalisierten Form bzw. in verschiedenen aggregierten Varianten, gespeichert. Diese Systeme dienen meistens zu Auswertungszwecken oder um eine mehrdimensionale Sicht auf die Daten zu erhalten, ohne das Produktivsystem zu belasten. Mittels der OLAP-Werkzeuge wird die Präsentation der Datenbank auf Bildschirm, Grafik Papier etc. vorbereitet und unterstützt. NetQuest GmbH Seite 2-3 2. Oracle Architektur und Tools 2.3.2 Oracle Komponenten Oracle Komponenten Parameterdatei SGA (System Global Area) Shared Pool Database Buffer Cache Redo Log Buffer SMON Library Cache PGA Server Process PMON Data Dictionary Cache DBWR LGWR CHKP ARCH User Controlfile Database File Offline Online Redo Logs Die Oracle Architektur setzt sich aus einer Reihe von Komponenten zusammen. Die Hauptkomponente des Speichers wird System Global Area (SGA) genannt und existiert einmal pro Instanz. Der Session-spezifische Teil des Speichers wird Program Global Area (PGA) genannt. Seit Oracle 9i kann die SGA dynamisch verwaltet werden, d.h. die Größe der Speicherpools können geändert werden, ohne die Instanz neu zu starten. Seit Oracle 11g kann auch der Anteil von SGA zu PGA dynamisch verwaltet werden. Zusätzlich existieren noch eine Reihe von Prozessen (bei UNIX/LINUX) bzw. Threads (bei Windows), die den Zugriff auf die Datenbankdateien steuern und die Kommunikation zum Clientprozess kontrollieren. NetQuest GmbH Seite 2-4 2. Oracle Architektur und Tools System Global Area (SGA) Die System Global Area (SGA) ist eine gemeinsam von allen Benutzern genutzte Speicherstruktur die Metadaten bzw. Daten der Datenbank enthält. Über diesen Cache werden zu häufige Zugriffe auf die Plattensubsystem beim Lesen und Schreiben von Daten vermieden. Speicherbereich Beschreibung Buffer Cache Der Buffer Cache enthält Kopien der Datenblöcke der Tablespaces. Redo Log Buffer Der Redo Log Buffer enthält Protokolle (Transaktionsprotokolle) zu Änderungen an Daten, die in der Datenbank durchgeführt wurden. Shared Pool DerShared Pool besteht aus zwei Pools: Library Cache Enthält SQL Statements samt ihren Ausführungsplänen V$SQLAREA (SQL_TEXT, EXECUTIONS) Wird optimiert z.B. bei einem INSERT werden Variablen statt Werte verwenden Stringcompare (Vergleich) zum Auffinden gleicher SQL-Anweisungen Leeren -> ALTER SYSTEM FLUSH SHARED_POOL Data Dictionary Cache Enthält Metadaten z.B. über Benutzer Java Pool Der Java Pool dient als Speicherbereich für Java Objekte. Large Pool Der Large Pool ist ein optionaler Speicherbereich für folgende Objekte: Streams Pool NetQuest GmbH Speicher für Sitzungen beim Shared Server I/O Server-Prozess Backup- und Restore-Operationen Message Buffer für parallele Abfragen Wird von Oracle Streams verwendet (z.B. Advanced Replication, Notification Service, usw.) Seite 2-5 2. Oracle Architektur und Tools Program Global Area (PGA) Die Program Global Area (PGA) ist eine Speicherbereich der für jeden Server Prozess existiert. In der PGA werden Logon und sonstige Session Information gespeichert. Prozesse (oder Threads abhängig vom Betriebssystem) Prozess Beschreibung DBWn Der Database Writer (DBWn) Prozess schreibt geänderte Oracle Blöcke (Dirty Blocks) vom Cache in die Datenbankdateien. Dies erfolgt unabhängig vom commit, z.B. wenn ein Checkpoint erfolgt oder zu wenig freie Speicher im Buffer Cache vorhanden sind. LGWR Der Log Writer (LGWR) Prozess schreibt den Inhalt des Redo Log Buffers in die Online Red Log Dateien. CHKP Der Checkpoint (CHKP) Prozess signalisiert dem Database Writer Prozess(en), dass jetzt geänderte Oracle Blöcke in die Datenbankdateien geschrieben werden. SMON Der System Monitor (SMON) überwacht das System und führt z.B. ein Instanz Recovery (Crash Recovery) durch. PMON Der Process Monitor (PMON) ist für das Prozess Recovery zuständig wenn ein Benutzerprozess abgebrochen wurde. ARCn Der Archiver ist ein optionaler Prozess der für die Archivierung der Online Redo Logs als Offline Redo Logs zuständig ist. RECO Der Recoverer Process (RECO) ist für die Durchsetzung von verteilten Transaktionen zuständig. MMON Der Automatic Database Diagnostic Monitor (MMON) ist für das automatische Tuningsystem der Oracle Datenbank zuständig. NetQuest GmbH Seite 2-6 2. Oracle Architektur und Tools LMS Der Global Cache Service ist beim Real Application Server (RAC) für die Verwaltung der Ressourcen im Cluster zuständig. Dnnn Die Dispatcher sind optionale Prozesse, die für die Shared Server Konfiguration benötigt werden. Server Process Die Server Prozesse sind für die Verarbeitung der Daten vom Client zuständig. Datenbank- und Log-Dateien Prozess Beschreibung Redo Log Die Online- bzw. Offline-Redo Logs enthalten Änderungen die an den Daten durchgeführt wurden. Database File Die Datenbankdatei enthält alle Daten der Tabellen und Indizes. Control File Die Steuerdateien (Control File) enthalten verschiedene Statusinformationen der Datenbank. Zusätzliche Begriffe Begriff Beschreibung CHK (Checkpoint Number) – Anzahl der Checkpoints, die seit dem Anlegen der Datenbank durchgeführt worden sind. SCN (System Change Number) – Anzahl der Änderungen, die seit dem Anlegen der Datenbank durchgeführt worden sind. LSN (Log Sequence Number) – Anzahl der Redo Log Switches, die seit dem Anlegen der Datenbank durchgeführt worden sind. NetQuest GmbH Seite 2-7 2. Oracle Architektur und Tools 2.4 SQL*Plus Einsatz und Verwendung von SQL*Plus. Oracle SQL*Plus (Kommandozeile) Einsatz von SQL*Plus Mit der SQL*Plus Anwendung (sqlplus.exe) kann SQL oder PL/SQL Code direkt eingegeben und ausgeführt werden. Das Ergebnis kann auf dem Bildschirm angezeigt oder in eine Datei umgeleitet werden. Beim Start von SQL*Plus muss ein Benutzer, das Passwort und der Name des Dienstes, der am Client oder zentral konfiguriert wurde, eingegeben werden. Die Anmeldung an SQL*Plus kann auch mit der SYSDBA/SYSOPER Berechtigung erfolgen: sqlplus sys/password@db01 as sysdba NetQuest GmbH Seite 2-8 2. Oracle Architektur und Tools Die Kommandozeilenversion kann auch über eine Batchdatei gesteuert werden. D.h. ein Skript kann als Parameter beim Aufrufen übergeben werden, wie z.B.: sqlplus system/password@db01 %ORACLE_HOME%\rdbms\admin\scott.sql (UNIX: $ORACLE_HOME/sqlplus/demobld.sql) Die Eingabe von help index gibt einen Überblick bezüglich der Kommandos; die Eingabe von help in Verbindung mit einem Kommando (help Kommando) zeigt die Optionen und Verwendungsformen. Alternativ ist es möglich Skripte in Dateiform zu lesen und auszuführen. Die Ausführung eines Skripts erfolgt durch die Angabe des Dateinamens mit einem vorgestellten „@“ Zeichen, wie z.B.: @e:%ORACLE_HOME%\rdbms\admin\scott.sql (Windows) @$ORACLE_HOME/sqlplus/demobld.sql (LINUX/UNIX) Die SQL*Plus Anwendung war als Einzelanwendung nur unter Windows verfügbar. Mit der Version 11g wird sie durch eine browsergesteuerte Oberfläche abgelöst, die auf der Startseite des Enterprise Managers über SQL*Plus geöffnet werden kann. NetQuest GmbH Seite 2-9 2. Oracle Architektur und Tools Konfiguration der SQL*Plus Oberfläche Die Konfiguration der SQL*Plus Anwendung erfolgt durch Parameter die über den SET Befehl gesetzt werden. Die Parameter können direkt durch die Eingabe des SET Befehls geändert werden. Option Beschreibung Beispiel ECHO Aktivierung/Deaktivierung der Ausgabe von Befehlen bei der Scriptverarbeitung. SET ECHO OFF LINESIZE Festlegung der Zeilenlänge der Ausgabe. SET LINESIZE 500 PAGESIZE Festlegung nach wie vielen Zeilen eine Seitenumbruch mit neuer Spaltenüberschrift erfolgt. SET PAGESIZE 25 TERMOUT Aktivierung/Deaktivierung der Ausgabe des Ergebnisses bei der Scriptverarbeitung. SET TERMOUT OFF TIMING Messen der Ausführungszeit von Befehlen. SET TIMING ON COL Festlegung der Ausgabebreite für eine Spalte. COL Parameter FORMAT A20 Zusätzliche SQL*Plus Befehle SQL*Plus kennt neben den SQL und PL/SQL Befehlen auch noch spezielle Kommandos die bestimmte Eigenschaften und Funktionen aktivieren oder deaktivieren. Befehl Beschreibung Beispiel SHOW Zeigt die eingestellten Parameter an. SHOW ALL SPOOL Umleitung der Ausgabe in eine Datei SPOOL C:\OUT.DAT SPOOL OFF Dauerhafte Speicherung SET Parameter können dauerhaft für alle Benutzer in %ORACLE_HOME%/sqlplus/admin/glogin.sql gespeichert werden. NetQuest GmbH der ASCII-Datei Seite 2-10 2. Oracle Architektur und Tools 2.5 Oracle SQL Developer Einsatz des SQL Developer. 2.5.1 Installation des Java JDK Installation/Einstellung des JDK Für den Betrieb des SQL Developer wird ein Java JDK benötigt Für den Betrieb des SQL Developers wird ein Java JDK benötigt, das vorher installiert werden muss. Auf dem Oracle Datenbankserver ist bereits ein JDK installiert. NetQuest GmbH Seite 2-11 2. Oracle Architektur und Tools 2.5.2 Herstellung der Verbindung zur Instanz Verbindungen im SQL Developer Nach dem (ersten) Start des SQL Developers muss eine Verbindung zur Instanz konfiguriert werden. NetQuest GmbH Seite 2-12 2. Oracle Architektur und Tools 2.5.3 Oberfläche des SQL Developers SQL Developer Im linken Fenster des SQL Developer können die Datenbank Objekte überprüft, erstellt und geändert werden. Im Fenster rechts oben können SQL bzw. PL/SQL Befehle oder Skripte eingegeben werden. Im Fenster rechts unten werden die Ergebnisse angezeigt. NetQuest GmbH Seite 2-13 2. Oracle Architektur und Tools 2.6 Oracle Enterprise Manager (OEM) Varianten des OEM. 2.6.1 OEM Varianten Varianten des OEM Oracle Enterprise Manager Database Express Kann beim Anlegen der DB mit dem dbca automatisch erstellt werden Manuelle Installation über Portdefinition Grundlegende Administration der Oracle Datenbank Oracle Enterprise Manager Cloud Control Wird separat installiert Administration einer komplexen Oracle Umgebung Umfassende grafische Administration von Datenbanken Der Oracle Enterprise Manager (OEM) ist ein Tool zur Verwaltung und Überwachung der Datenbank. Seit der Version 12c existiert er in zwei Varianten. Der Oracle Enterprise Manager Database Express dient der grundlegenden Administration der Instanz und der Datenbank. Dafür gibt es eine Startseite als Überblick und vier Registerkarten: 1. Konfiguration Unter dieser Registerkarte können die Initialisierungsparameter und die Speicherverwaltung eingesehen und konfiguriert werden. Zusätzlich werden die Datenbank-Features und die Datenbankeigenschaften dargestellt und erläutert. NetQuest GmbH Seite 2-14 2. Oracle Architektur und Tools 2. Speicherung Hinter der Registerkarte Speicherung verbirgt sich die Verwaltung der DatenbankDateien, dazu gehören die Tablespaces, das Undo-Management, die RedoLoggruppen, die Archive-Logs und die Kontrolldateien. 3. Sicherheit Die Registerkarte Sicherheit beinhaltet die Benutzerverwaltung, Profilverwaltung und die Rechtevergabe 4. Performance Die Performance-Überwachung ist ein Schwerpunkt des EM Express und besteht aus dem Performance-Hub und dem SQL-Tuning. Diese Seiten ermöglichen eine weitreichende Überwachung der Instanz und Datenbank einschließlich der Benutzer und ihrer Sessions. Der EM Express ersetzt den EM Database Control, der ab der Version 12c nicht mehr unterstützt wird. Die Erstellung des EM Express erfolgt entweder automatisch bei der Datenbankerstellung mit dem DBCA oder nachträglich durch die Portkonfiguration (exec dbms_xdb_config.sethttpsport(5500); oder exec dbms_xdb_config.sethttpport(8080);) Da die Express Version ein Bestandteil der Datenbank ist, kann eine Anmeldung an seine Oberfläche nur bei laufender Datenbank erfolgen. Dadurch stehen auch eine Reihe von Funktionalitäten des Database Controls nicht mehr zur Verfügung. Am Bedeutendsten hier wohl das Fehlen von Backup/Recovery Möglichkeiten und die eingeschränkte Tablespace-Verwaltung, sowie das Fehlen der transparenten Fehler und Alert-Darstellung. Benötigt man eine vollständige Verwaltung mit grafischer Oberfläche, muss der Oracle Enterprise Manager Cloud Control installiert werden. Oracle Enterprise Manager Cloud Control ist die umfassendere Variante um komplexe Oracle Umgebungen mit einer Oberfläche zu verwalten und muss zusätzlich zur Datenbank installiert werden. Er ermöglicht zudem eine umfassende grafische Administration einzelner Datenbanken einschließlich Backup/Recovery und einer erweiterten Überwachung. Diese Funktionen umfassen auch zeitgesteuerte Jobs. NetQuest GmbH Seite 2-15 2. Oracle Architektur und Tools 2.7 Oracle Enterprise Manager Database Express Verwaltung und Konfiguration des EM Express 2.7.1 Funktionen des Oracle Enterprise Manager Database Express Funktion des EM Express Grundlegende Verwaltung der Oracle Instanz Grundlegende Verwaltung der Datenbank und ihrer Dateien Konfiguration der Sicherheit Performance Monitoring Optimierung der DB mittels verschiedener Advisories Der Schwerpunkt des EM Express liegt in der Überwachung und dem Performance Tuning. NetQuest GmbH Seite 2-16 2. Oracle Architektur und Tools 2.7.2 Verbindung zum EM Express herstellen Verbindung zum EM Express Die Verbindung zum Oracle Enterprise Manager Database Express wird über eine URL hergestellt, z.B.: https://servername:5001/em Die Portadresse ist abhängig davon wie viele Instanzen auf einer Maschine aktiv sind (z.B. 5500, 5501, 5502, …). In der Datei %ORACLE_HOME%\install\portlist.ini (Windows) können die meisten aktuell verwendeten Ports ersehen werden. NetQuest GmbH Seite 2-17 2. Oracle Architektur und Tools 2.7.3 EM Express Startseite Startseite des EM Express Nach der Anmeldung ist die Übersichtsseite des Oracle Enterprise Manager Database Express sichtbar. Über verschiedene Registerkarten und Links kann auf die Verwaltungsund Überwachungsfunktionen zugegriffen werden. NetQuest GmbH Seite 2-18