Oracle Datenbank - Architektur



Ähnliche Dokumente
Oracle Datenbank - Recovery

Prozessarchitektur einer Oracle-Instanz

Datenbanksystem. System Global Area. Hintergrundprozesse. Dr. Frank Haney 1

Architektur moderner Datenbanksysteme

... Kontrolldatei administrieren

Kurs. Teil 7 UNDO-Management. Universität Hannover. Agenda. Einführung. Nutzung RBS Oracle 9i Einführung Performance Tuning.

Oracle Backup und Recovery

SQL (Structured Query Language) Schemata Datentypen

Aufbau einer Oracle Datenbank Tablespace, Arten von Dateien

Oracle Datenbankadministration Grundlagen

die wichtigsten Caches (SGA) sind on-the-fly änderbar.

Datenbanken: Backup und Recovery

OPERATIONEN AUF EINER DATENBANK

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Themen des Kapitels. 2 Oracle Features und Architektur

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Oracle Datenbank Architektur nicht nur für Einsteiger. Martin Klier Klug GmbH integrierte Systeme, Teunz

Datenbanken Konsistenz und Mehrnutzerbetrieb III

Transaktionsverwaltung

3. Stored Procedures und PL/SQL

Datenbanken II Speicherung und Verarbeitung großer Objekte (Large Objects [LOBs])

Hilfe zur Dokumentenverwaltung

Backup & Recovery bei Oracle

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

Kommunikations-Parameter

Collax -Archivierung

mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger

OP-LOG

Anwenderdokumentation AccountPlus GWUPSTAT.EXE

MOUNT10 StoragePlatform Console

ORACLE PROZESSARCHITEKTUR J O N N Y R I L L I C H

4D Server v12 64-bit Version BETA VERSION

Prozedurale Datenbank- Anwendungsprogrammierung

Restore Exchange Server 2007 SP2

3. Architektur eines DBS (Oracle)

Im folgenden wird die Outlookanbindung an organice/pi beschrieben.

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

Projektmanagement in Outlook integriert InLoox 5.x Konfigurationshilfe für Oracle Server

How to do? Projekte - Zeiterfassung

Options- und Freitext-Modul Update-Anleitung

Collaboration Manager

Oracle Backup und Recovery mit RMAN

RGS Homepage Arbeiten im Administratorbereich (Backend)

KURZANLEITUNG CLOUD OBJECT STORAGE

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Kleines Handbuch zur Fotogalerie der Pixel AG

Oracle Datenbank - Tuning

White Paper. Konfiguration und Verwendung des Auditlogs Winter Release

Tutorial Windows XP SP2 verteilen

f Link Datenbank installieren und einrichten

Verteilte Datenbanken. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Whitepaper. Produkt: combit Relationship Manager / address manager. FILESTREAM für Microsoft SQL Server aktivieren

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken

3 Richtlinienbasierte Verwaltung und Multi-Server- Administration

Task: Nmap Skripte ausführen

3 Windows als Storage-Zentrale

Wiederherstellen der Beispieldatenbanken zum Buch Microsoft Project 2010

So funktioniert die NetWorker 7.5 Eigenschaft zum Sichern umbenannter Verzeichnisse ( Backup renamed Directories )

Technische Beschreibung: EPOD Server

Bedienungsanleitung. Stand: Copyright 2011 by GEVITAS GmbH

Kurzeinführung Excel2App. Version 1.0.0

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Handbuch B4000+ Preset Manager

Musterlösung für Schulen in Baden-Württemberg. Windows 200x. Lehrerfortbildung. Pflege des Exchange-Servers. Johannes Kühn

Die vorliegende Anleitung zeigt Ihnen auf, wie Sie s in Ihrem Postfach löschen oder archivieren können. hslu.ch/helpdesk

Installation SQL- Server 2012 Single Node

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten


Inhaltsverzeichnis. Geleitwort der Fachgutachterin Vorwort Einführung Architektur eines Oracle-Datenbanksystems...

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Outlook 2000 Thema - Archivierung

Bilder zum Upload verkleinern

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

desk.modul : Intercompany

AUTOMATISCHE -ARCHIVIERUNG. 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!

Bedienungsanleitung CAD-KAS Reklamationserfassung. Einen neuen Datensatz anlegen. Klicken Sie auf das + Symbol, um einen neuen Datensatz anzulegen.

Planung für Organisation und Technik

SWISSVAULT StorageCenter Console Version 5 Kurzanleitung für SWISSVAULT Combo Partner

Datenbanken und Oracle, Teil 2

Whitepaper. Produkt: combit Relationship Manager / address manager. Integration der Ansicht "Adressen" in eigene Solution

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum:

Kommunikationsübersicht XIMA FORMCYCLE Inhaltsverzeichnis

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Avira Support Collector. Kurzanleitung

Backup der Progress Datenbank

Anleitung zum erstellen von DVD/ CD zum Sichern der Volumes:

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Dokumentenverwaltung. Copyright 2012 cobra computer s brainware GmbH

Workshop: Eigenes Image ohne VMware-Programme erstellen

MANUELLE DATENSICHERUNG

Whitepaper. Produkt: combit Relationship Manager / combit address manager. SQL Server Backup mit SQLBackupAndFTP

NTT DATA Helpdesk Benutzerhandbuch

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Dateien löschen und wiederherstellen

Administrator-Anleitung

Kurzanleitung RACE APP

Transkript:

Oracle Datenbank - Architektur H.-G. Hopf Georg-Simon-Ohm Fachhochschule Nürnberg Datenbank-Architektur / 1 Η. G.Hopf / 27.03.2003

Inhaltsverzeichnis Einleitung Datenbank - Dateien Logische Datenbankstruktur Datenbank-Architektur Datenbank-Architektur / 2 Η. G.Hopf / 27.03.2003

Inhaltsverzeichnis Einleitung Datenbank - Dateien Logische Datenbankstruktur Datenbank-Architektur Datenbank-Architektur / 3 Η. G.Hopf / 27.03.2003

Einleitung ORACLE» ORDBMS: object-relational database management system» Version: 8.1.7» Version: 9.2.0.2.0 Datenbank-Architektur / 4 Η. G.Hopf / 27.03.2003

Einleitung ORACLE 8i ORDBMS Kernel SQL SQL*Plus PL/SQL SQL*DBA SQL*Loader EXPORT/IMPORT SQL*Report ORA*Forms ORA*Reports CONTEXT Oracle*Graphics Developer2000 Designer2000 Datenbank-Architektur / 5 Η. G.Hopf / 27.03.2003

Einleitung ORACLE 8i Oracle Webserver and developer tools Oracle Video Server and developer tools SVRMGR Oracle Enterprise Manager Oracle Enterprise Backup Oracle Precompilers Oracle Procedure Builder JDBC SQLJ Java Datenbank-Architektur / 6 Η. G.Hopf / 27.03.2003

Einleitung 3 Ebenen-Konzept Anwender-Ebene Externe Ebene Anwendung Anwendung Anwendung Externe Sicht Logische Ebene Konzeptionelle / logische Sicht Interne Ebene Interne Sicht Datenbank-Architektur / 7 Η. G.Hopf / 27.03.2003

Inhaltsverzeichnis Einleitung Datenbank - Dateien Logische Datenbankstruktur Datenbank-Architektur Datenbank-Architektur / 8 Η. G.Hopf / 27.03.2003

Datenbank-Dateien Eine Datenbank besteht aus einem Programmpaket zur Manipulation von gespeicherten Daten. In einer Datenbank werden zwei Arten von Daten gespeichert:» Benutzerdaten (user data)» Verwaltungsdaten (system data) Datenbank-Architektur / 9 Η. G.Hopf / 27.03.2003

Datenbank-Dateien Man unterscheidet drei Dateigruppen:» Art der Datei abgelegte Information» Datenbank-Files DB-Objekte (user data, system data)» REDO-Log-Files Recovery-Information» Kontroll-Files Verwaltungsinformation Datenbank-Architektur / 10 Η. G.Hopf / 27.03.2003

Datenbank-Dateien In den Datenbank-Files sind alle Datenbank-Objekte, die mit der Datenbank verwaltet werden können, gespeichert. Das sind:» Oracle Data Dictionary» angelegte Datenstrukturen (TABLE, VIEW)» Zugriffsstrukturen (INDEX)» prozedurale Objekte (PL/SQL procedures)» Nutzdaten Datenbank-Architektur / 11 Η. G.Hopf / 27.03.2003

Datenbank-Dateien Der Datenbestand der Oracle-Datenbank wird physisch in bis zu 255 betriebssystemkonformen Dateien auf verschiedenen Plattenlaufwerken abgelegt. Datenbank-Architektur / 12 Η. G.Hopf / 27.03.2003

Datenbank-Dateien REDO-Log-Files» REDO-Log-Files sind Dateien, in denen alle Änderungen bzw. Transaktionen der Datenbank (Recovery Information) protokolliert werden. Jede Oracle Datenbank hat mindestens zwei aktive (online) REDO-Log-Files. Die Online-REDO-Log-Files werden nacheinander beschrieben. Wenn ein Online-REDO-LOG-File voll ist, wird zum jeweils anderen gewechselt; dieser wird überschrieben. Datenbank-Architektur / 13 Η. G.Hopf / 27.03.2003

Datenbank-Dateien REDO-Log-Files Datenbank-Architektur / 14 Η. G.Hopf / 27.03.2003

Datenbank-Dateien REDO-Log-Files» Es gibt zwei Modi: ARCHIVELOG-Mode: In diesem Mode wird vor dem Überschreiben eines REDO-Log-Files eine Sicherungskopie angefertigt. Damit werden alle mitprotokollierten Informationen über Transaktionen gespeichert. NOARCHIVELOG-Mode: In diesem Mode wird vor dem Überschreiben eines REDO-Log-Files keine Sicherungskopie angefertigt. Datenbank-Architektur / 15 Η. G.Hopf / 27.03.2003

Datenbank-Dateien Kontroll-Files» Ein Kontroll-File hat die Aufgabe Informationen über die Grundstruktur der Datenbank und alle Strukturänderungen zu speichern. Kontroll-File Informationen sind z.b.: Zeitpunkt der DB-Erstellung Namen der DB-Dateien Namen der REDO-Log-Files und ihre Sequenznummer Zeitpunkt des letzten Checkpoints und zugehöriger REDO-Log-File... Datenbank-Architektur / 16 Η. G.Hopf / 27.03.2003

Datenbank-Dateien Bemerkung:» Files sind für Oracle nur benannter Speicherplatz mit eigenständiger interner Struktur. Man unterscheidet zwei Sichten: physische Sicht: Dateien logische Sicht: Tablespaces Datenbank-Architektur / 17 Η. G.Hopf / 27.03.2003

Inhaltsverzeichnis Einleitung Datenbank - Dateien Logische Datenbankstruktur Datenbank-Architektur Datenbank-Architektur / 18 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur Tablespace» Struktur Datenbank-Dateien sind für Oracle nur benannter Speicherplatz mit eigenständiger interner Struktur. Den physischen Oracle- Dateien ist eine logische Struktur aufgeprägt.» Der gesamte Datenbestand ist in sog. Tablespace-Bereiche gegliedert: eine Datei ist immer einem Tablespace zugeordnet. ein Tablespace kann mehreren Dateien zugeordnet sein (damit kann ein Tablespace in der Größe beliebig wachsen). Datenbank-Architektur / 19 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur Tablespace Physische Sicht File1 File2 File3 File4 File6 File5 Datenbank-Architektur / 20 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur Tablespace Physische Sicht File1 File2 File3 File4 File6 File5 System Tablespace Tablespace A Tablespace B Logische Sicht Datenbank-Architektur / 21 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur Tablespace Physische Sicht File1 File2 File3 File4 File6 File5 System Tablespace File1 Tablespace TA File2 File4 Tablespace TB File6 File3 File5 Logische Sicht Datenbank-Architektur / 22 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur Standard - Tablespace Die folgenden Tablespace-Bereiche sind standardmäßig bzw. üblicherweise vorhanden:» System-Tablespace: Ein von der Datenbank selbständig zur Verfügung gestellter Tablespace ist der System-Tablespace.» Temporary_Data-Tablespace: Der Temp-Tablespace dient dazu, temporär Objekte aufzunehmen.diese Objekte können im Rahmen der Abarbeitung von Transaktionen entstehen. Datenbank-Architektur / 23 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur Standard - Tablespace» User_Data-Tablespace: Dieser Tablespace nimmt die Benutzerdaten auf.» Rollback_Data-Tablespace: Dieser Tablespace nimmt Informationen auf, die in Zusammenhang mit System-Recovery benötigt werden (recovery points).» Tools-Tablespace: Dieser Tablespace-Bereich nimmt alle Objekte auf, die zum Einsatz von Datenbank- Tools notwendig sind. Datenbank-Architektur / 24 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur Standard - Tablespace» Alle Tablespaces eines Datenbanksystems können mit dem folgenden Befehl angezeigt werden: SELECT * FROM user_tablespaces Datenbank-Architektur / 25 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur Standard - Tablespace» Anlegen/Erweitern von Tablespace Tablespace-Bereiche können vom DBA angelegt werden: CREATE TABLESPACE TB DATAFILE 'file6.ora' SIZE 100MB, 'file3.ora SIZE 100MB;» Hinweis: Man sollte nicht Daten verschiedener Applikationen in einem Tablespace speichern. Datenbank-Architektur / 26 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur Standard - Tablespace» Anlegen/Erweitern von Tablespace Tablespace-Bereiche können vom DBA erweitert werden: ALTER TABLESPACE TB ADD DATAFILE 'file5.ora' SIZE 200MB Datenbank-Architektur / 27 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur Standard - Tablespace» Löschen von Tablespace Tablespace wird gelöscht, zugeordnete Dateien werden freigegeben. leerer Tablespace DROP TABLESPACE TA; genutzter Tablespace DROP TABLESPACE TA INCLUDING CONTENTS; Datenbank-Architektur / 28 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur Standard - Tablespace» Tablespace - Modi Es gibt für alle Tablespaces außer dem System-Tablespace zwei Tablespace - Modi: ONLINE: Auf alle Datenbank-Objekte dieses Tablespace- Bereichs kann zugegriffen werden. OFFLINE: Auf die Datenbank-Objekte dieses Tablespace- Bereichs kann nicht zugegriffen werden. Datenbank-Architektur / 29 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur Standard - Tablespace» Änderung von Tablespace - Modi Übergang OFFLINE --> ONLINE ALTER TABLESPACE TA ONLINE; Übergang ONLINE --> OFFLINE ALTER TABLESPACE TA OFFLINE [NORMAL TEMPORARY IMMEDIATE]; Datenbank-Architektur / 30 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur Standard - Tablespace» OFFLINE - Parameter: normal: Für alle Files des Tablespace wird ein Checkpoint durchgeführt; dann wird der Tablespace offline geschaltet. Das online Schalten erfordert keine Recovery-Aktion. immediate: Der Tablespace wird ohne weiter Aktionen offline geschaltet. Das online Schalten erfordert Recovery- Aktionen (im Archive-Mode der Datenbank). Datenbank-Architektur / 31 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur Standard - Tablespace» OFFLINE - Parameter: temporary: Für alle online - Files des Tablespace wird ein Checkpoint durchgeführt; dann wird der Tablespace offline geschaltet.das online Schalten erfordert für diese online-files keine Recovery-Aktion.Für alle offline - Files des Tablespace wird kein Checkpoint durchgeführt, wenn der Tablespace offline geschaltet wird.das online Schalten erfordert für diese Files Recovery-Aktionen (im Archive-Mode der Datenbank). Datenbank-Architektur / 32 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur Standard - Tablespace Zustand ONLINE Tablespace = SYSTEM Tablespace OFFLINE Parameter NORMAL TEMPORARY IMMEDIATE ALTER TABLESPACE... OFFLINE [Parameter] ALTER TABLESPACE... ONLINE Checkpoint Checkpoint Medium Recovery Medium Recovery ONLINE Files OFFLINE Files Datenbank-Architektur / 33 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur Datenbankobjekte / Segmente» Datenbankobjekte sind: Tabellen Indizes Recovery-Information Datenbank-Architektur / 34 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur Datenbankobjekte / Segmente» Alle Datenbankobjekte werden stets einem Tablespace zugeordnet.» Der Tablespace ist in Segmente aufgeteilt.» Tablespace-Segmente sind: Daten-Segmente Index-Segmente Rollback-Segemente temporäre Segmente» Jedes Datenbankobjekt belegt genau ein Segment (des entsprechenden Typs). Datenbank-Architektur / 35 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur Datenbankobjekte / Segmente Datenbankobjekte Daten- Segment Logische Speicherstruktur Index- Segment Rollback- Segment temporäre Segmente Tabelle Index Rollback- Info Datenbank-Architektur / 36 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur Datenbankobjekte / Segmente» Die einem Tablespace zugeordneten Tabellen werden mit dem folgenden Befehl angezeigt: SELECT * FROM user_tables Datenbank-Architektur / 37 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur Extend» Um eine Anpassung von Segmenten an Objekte unterschiedlicher Größe zu erreichen und andererseits einer unkontrollierten Fragmentierung des Speicherplatzes vorzubeugen, wird mit Extends gearbeitet.» Ein Segment besteht aus einem oder mehreren Extends (unterschiedlicher Größe). Datenbank-Architektur / 38 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur Extend» Man unterscheidet: Anfangs-Extend (initial extend): Dieses Extend wird zum Erstellungszeitpunkt des Datenbankobjekts, z.b. mit dem CREATE TABLE - Befehl, angelegt. Folge-Extend (next extend): Diese Extends werden angelegt, wenn der bisher verfügbare, zugeordnete Speicherbereich nicht zur Aufnahme weiterer Datensätze ausreicht. Datenbank-Architektur / 39 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur Extend Die Festlegung der Anfangs-Extend-Größe erfolgt über den Parameter initial Die Anzahl der bei der Erstellung eines Segments mit angelegten Folge-Extends wird mit dem Parameter minextends definiert. Die Anzahl der insgesamt maximal möglichen Folge-Extends wird mit dem Parameter maxextends definiert. Die Größe der Folge-Extends kann festgelegt bzw. dynamisch verändert werden.die Festlegung der Folge-Extend-Größe erfolgt über den Parameter next Der Parameter pctincrease gibt den Wachstumsfaktor der Extends in % an. Datenbank-Architektur / 40 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur Extend Initial extend Initial extend next extend Initial extend next extend Initial extend next extend Anfangsextend next extend next extend Folgeextend Speicherplatzbedarf next extend Erstellungszeitpunkt Zeit Datenbank-Architektur / 41 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur Extend Die Definition dieser Speicherparameter erfolgt» bei der Tablespace-Definition CREATE/ALTER TABLESPACE,» und bei Datenbankobjekt-Definitionen CREATE/ALTER TABLE, CREATE/ALTER INDEX, CREATE/ALTER ROLLBACK SEGMENT, CREATE/ALTER CLUSTER, CREATE/ALTER SNAPSHOT CREATE/ALTER SNAPSHOT LOG Datenbank-Architektur / 42 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur Extend» Die Definition dieser Speicherparameter erfolgt durch Angabe der STORAGE-Klausel: STORAGE( initial 20MB, next 10MB, minextents 3, maxextents 80, pctincrease 15, freelists 3)» Eine Storage-Spezifikation bei der Definition von Datenbankobjekten (z.b. Tabellendefinition) überschreibt die bei der Tablespacedefinition getroffene Storage-Spezifikation. Datenbank-Architektur / 43 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur Datenbankblock DB-Block Struktur» Ein Extend besteht aus einer bestimmten Anzahl von Oracle-Datenbankblöcken.» üblicherweise hat ein Datenbankblock die Größe 2KByte.» Ein DB-Block hat die Struktur: DB-Block-Kopf DB-Block-Datenbereich Datenbank-Architektur / 44 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur Datenbankblock DB-Block Struktur DB-Block Kopf DB-Block Datenbereich Datenbank-Architektur / 45 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur DB-Block Kopf Datenbankblock-Kopf» Der DB-Block-Kopf enthält Verwaltungsinformation: Feste Verwaltungsinformation: Speicherbedarf: 57 Byte Datensatz-Directory: Information zur Identifikation und Verwaltung der Datensätze. Für jeden im Datenbank-Block abgelegten Datensatz sind 2 Byte reserviert. Speicherbedarf: 2 Byte * n (n gibt die Anzahl der Datensätze an) Speicherbedarf: 2 Byte * n Transaktions-Directory: Information über die Transaktionen, die Datensätze des Blockes geändert haben. Datenbank-Architektur / 46 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur DB-Block Kopf Datenbankblock-Kopf Transaktions-Directory: Eine aktuelle Transaktion, die einen Datensatz des Blocks verändert, wird mit ihrer Nummer vermerkt. Ein Transaktionseintrag belegt 23 Byte. Die Anzahl der Transaktionsentries wird durch die Parameter festgelegt: initrans legt zu Beginn die Anzahl an Transaktionentries (1.. 255, voreingestellt 1) fest, die im Block abgelegt werden können. maxtrans legt die maximale Anzahl an Transaktionen fest, die gleichzeitig eine Update-Operation auf Datensätzen des Blocks durchführen können. Speicherbedarf: 23 Byte * initrans Datenbank-Architektur / 47 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur Datenbankblock-Datenbereich DB-Block Datenbereich» Der DB-Block-Datenbereich besteht aus: DB-Block Freibereich: Der Freibereich dient dazu, Speicherplatz für sich vergrößernde Datensätze (z.b. VARCHAR,...) vorzuhalten. DB-Block Einfüge-Bereich: In diesem Bereich werden Datensätze eingefügt. Datenbank-Architektur / 48 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur DB-Block Management Freibereich Für sich vergrößernde Datensätze pctfree Schlupf DB-Block INSERT- Brereich Minimaler Füllbereich pctused Datenbank-Architektur / 49 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur Datenbankblock-Datenbereich» Die DB-Block-Struktur kann über das Setzen von Parametern beeinflußt werden: pctfree - Parameter: Der pctfree - Parameter gibt an, wieviel % des DB- Block-Datenbereiches als Freibereich genutzt werden sollen. pctused - Parameter: Der pctused - Parameter gibt den Mindestfüllgrad eines DB-Blockes an. Insert-Operationen werden an Blöcken vorgenommen, deren Mindestfüllgrad noch nicht erreicht ist. Damit wird eine gleichmäßige Belegung der DB-Blöcke erreicht. freelists - Parameter: freelists Parameter gibt die Anzahl der FREE-Listen an. Datenbank-Architektur / 50 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur DB-Block Management» Überlauf Kann ein Datensatz in einem Block nicht mehr in ganzer Länge eingetragen werden, wird ein neuer Block mit genügend freiem Speicher gesucht.auf dem ursprünglich vorgesehenem Speicherplatz wird eine Referenz auf den neuen Speicherplatz hinterlegt. Datenbank-Architektur / 51 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur DB-Block Management Freibereich Für sich vergrößernde Datensätze pctfree Schlupf DB-Block INSERT- Brereich Minimaler Füllbereich pctused Datenbank-Architektur / 52 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur DB-Block Management Freibereich Für sich vergrößernde Datensätze pctfree DB-Block INSERT- Brereich Minimaler Füllbereich pctused Datenbank-Architektur / 53 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur DB-Block Management pctfree pctused Datensatz Datenbank-Architektur / 54 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur DB-Block Management Sich vergrößernder Datensatz (Variante 1) pctfree Erweiterung Datensatz pctused Datenbank-Architektur / 55 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur DB-Block Management pctfree pctused Datensatz Datenbank-Architektur / 56 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur DB-Block Management Sich vergrößernder Datensatz (Variante 2) pctfree pctused Verweis Erweiterung Erweiterung Erweiterung Datensatz Datenbank-Architektur / 57 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur DB-Block Management» Freispeicherverwaltung Blöcke, deren aktueller Füllgrad kleiner ist als der definierte Mindestfüllgrad (partiell gefüllte Blöcke) werden in eine sog. FREE-BLOCK- Liste eingetragen.» Es gibt zwei Ausprägungen: Transactions - FREE-Liste Segment - FREE-Liste Datenbank-Architektur / 58 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur DB-Block Management / Freispeicherverwaltung pctused Marke Vollständig gefüllt partiell gefüllt ungenutzt Free DB-Block Liste Transaktions-Free-Liste Segment-Free-Liste Datenbank-Architektur / 59 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur DB-Block Management Transactions - FREE-Liste innerhalb einer Transaktion durch Lösch- Operationen frei werdende Blöcke werden in dieser der aktuellen Transaktion zugeordneten FREE- BLOCK-Liste verwaltet. Solange die Transaktion nicht abgeschlossen ist, werden die frei werdenden Blöcke nicht in die Segment-FREE-Liste eingetragen. Segment - FREE-Liste Blöcke, deren aktueller Füllgrad kleiner ist als der definierte Mindestfüllgrad (partiell gefüllte Blöcke) und die von keiner Transaktion bearbeitet werden, sind in dieser FREE-Liste eingetragen. Datenbank-Architektur / 60 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur DB-Block Management Datensatz Einfüge- Operation Einfügen in Transaktions- Free-Liste möglich? nein ja in Segment- Free-Liste eintragen Einfügen in Segment-Free- Liste möglich? nein ja ja ungenutzte DB- Blöcke vorhanden? nein Folge Extend bereitstellen Datensatz einfügen Datenbank-Architektur / 61 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur Datensatz Ein Datensatz hat die (physische) Struktur:»Datensatz-Kopf» Datensatz-Rumpf Datenbank-Architektur / 62 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur Datensatz-Kopf:» Der Datensatz-Kopf enthält Verwaltungsinformation Datensatz-Kopf-Id (2 Byte) Anzahl der Spalten innerhalb des Datensatzes (1 Byte) 1 Byte -> 256 Spalten pro Tabelle. Da eine Identifikatonsspalte row-id vom System benutzt wird bleiben 255 Spalten für den Benutzer Verkettungsadressen (1 Byte) Cluster-Schlüssel-Informationen (1 Byte)» Der Datensatz-Kopf hat eine Größe von 2 bis 5 Byte. Datenbank-Architektur / 63 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur Datensatz-Rumpf:» Im Datensatz-Rumpf befinden sich die eigentlichen Daten. Spaltenlänge: 1 Byte (NUMBER, CHAR, DATE) oder 3 Byte (VARCHAR, VCHAR2, LONG, RAW, LONG RAW) Spaltendaten Datenbank-Architektur / 64 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur Die DB-Architektur im Überblick Tablespace Segment Extend DB Bock Datensatz Datenbank-Architektur / 65 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur File Ist_zugeordnet Besteht_aus Tablespace DB Segment Art Data S Index S Ist_zugeordnet Table Index Art DB Objekt Rollback S Ist_zugeordnet Extend Temporary S DB-Block Datensatz Datenbank-Architektur / 66 Η. G.Hopf / 27.03.2003

Logische Datenbankstruktur File Interne Sicht: Betriebssystem Ist_zugeordnet Besteht_aus Tablespace DB Segment Art Data S Index S Ist_zugeordnet Table Index Art DB Objekt Rollback S Ist_zugeordnet Extend Temporary S logische Sicht DB-Block Interne Sicht: Datenbank Datensatz Datenbank-Architektur / 67 Η. G.Hopf / 27.03.2003

Data-Dictionary - Views Dictionary View Bemerkung Dba_data_files Dba_tablespaces Dba_freespace Dba_quota User_extends User_table * * * Zeigt alle DB-Files und deren Status Zeigt alle Tablespaces und deren Status Zeigt den freien Platz innerhalb der Tablespaces Zeigt die Tablespace-Quotas aller Benutzer Zeigt die Extends der Tabellen und Indizes eines Benutzers Zeigt alle Tabellen eines Benutzers *: nicht Version 9 Datenbank-Architektur / 68 Η. G.Hopf / 27.03.2003

Inhaltsverzeichnis Einleitung Datenbank - Dateien Logische Datenbankstruktur Datenbank-Architektur Datenbank-Architektur / 69 Η. G.Hopf / 27.03.2003

SW-Architektur / Konzeption Unterstützte Rechnerarchitekturen:» Ein-Prozessor-System» Symmetrisches Multiprozessor-System» Lose gekoppeltes System» Massiv paralleles System Datenbank-Architektur / 70 Η. G.Hopf / 27.03.2003

SW-Architektur / Konzeption Oracle Datenbanksystem besteht aus:» Oracle Instanz: Datenbank Cache (System Global Area - SGA) Hintergrundprozesse» Oracle Server - Prozesse: Parsen von SQL-Befehlen Ausführen von SQL-Befehlen das Lesen von DB-Blöcken aus Datenbankfiles... Datenbank-Architektur / 71 Η. G.Hopf / 27.03.2003

SW-Architektur / Konzeption DBWR LGWR DB - Cache ARCH SMON PMON CHKP Oracle Server Prozesse Oracle Instanz Datenbank-Architektur / 72 Η. G.Hopf / 27.03.2003

SW-Architektur / Konzeption Mögliche Konfigurationen:» Dedicated Server (DS) Konfiguration: Jedem Anwenderprozess ist ein Server-Prozess zugeordnet.» Multi-Threaded Server (MTS) Konfiguration: Anwenderprozess übergibt Request an Dispatcher; Dispatcher legt Request in Request-Queue (SGA) ab; Request wird wird durch beliebigen Server-Prozeß bearbeitet; das Ergebnis wird in der Response-Queue abgelegt (SGA). Datenbank-Architektur / 73 Η. G.Hopf / 27.03.2003

SW-Architektur / Konzeption DBWR LGWR DB - Cache ARCH SMON PMON CHKP Anwendungsprozesse Oracle Server Prozesse Oracle Instanz Oracle Datenbank Datenbank-Architektur / 74 Η. G.Hopf / 27.03.2003

SW-Architektur / Konzeption Mögliche Konfigurationen: Bemerkung:» Beide Konfigurationsarten können gleichzeitig genutzt werden;» Die Entscheidung, welche Konfiguration zum Einsatz kommt, wird beim Starten des Anwenderprozesses über Parameter spezifiziert. viele Online-Benutzer, moderate Datenbanklast: MTS-Konfiguration viele Prozesse, hohe Datenbanklast: DS-Konfiguration Datenbank-Architektur / 75 Η. G.Hopf / 27.03.2003

SW-Architektur / Konzeption Mögliche Konfigurationen: Oracle Instanz SGA Hintergrundprozesse REDO-Log ORDBMS Oracle8i Datenbank-Architektur / 76 Η. G.Hopf / 27.03.2003

SW-Architektur / Konzeption Oracle Instanz 1 SGA Hintergrundprozesse Oracle Instanz 2 SGA Hintergrundprozesse REDO-Log REDO-Log ORDBMS Oracle8i Datenbank-Architektur / 77 Η. G.Hopf / 27.03.2003

SW-Architektur / Konzeption Datenbank - Instanz:» Alle Datenbank-Prozesse die eine System Global Area benutzen definieren zusammen mit den zugeordneten Datenbank-Files eine Datenbank - Instanz.» Jede Datenbank - Instanz wird durch eine eindeutige Kennung SID (System Identifier) identifiziert. Datenbank-Architektur / 78 Η. G.Hopf / 27.03.2003

SW-Architektur / Konzeption Client / Server - Architektur:» schützt vor Zerstörung von Server- Programmen durch Anwenderprogramme» ermöglicht Nutzung verschiedener Rechner für Client-Prozesse und Server-Prozesse Datenbank-Architektur / 79 Η. G.Hopf / 27.03.2003

SW-Architektur / Konzeption Client / Server - Kommunikation: Client: User Program Interface (UPI) - Schnittstelle Server: Oracle Program Interface (OPI) - Schnittstelle UPI-Call Oracle-Server Prozess SQL-Befehl UPI-Call Oracle-Server Prozess UPI-Call Dispatcher Oracle-Server Prozess Multi-Threaded Server (MTS) Konfiguration Datenbank-Architektur / 80 Η. G.Hopf / 27.03.2003

SW-Architektur / Konzeption Client / Server - Kommunikation: Client: User Program Interface (UPI) - Schnittstelle Server: Oracle Program Interface (OPI) - Schnittstelle UPI-Call Oracle-Server Prozess SQL-Befehl UPI-Call Oracle-Server Prozess UPI-Call Oracle-Server Prozess Dedicated Server (DS) Konfiguration Datenbank-Architektur / 81 Η. G.Hopf / 27.03.2003

SW-Architektur / Prozessstruktur Hintergrund - Prozesse:» Jeder Hintergrundprozess hat eine genau definierte Aufgabe.» Die Koordination der Aufgaben erfolgt über die SGA. Datenbank-Architektur / 82 Η. G.Hopf / 27.03.2003

SW-Architektur / Prozessstruktur Hintergrund - Prozesse:» Database Writer (DBWR): übernimmt das Lesen und Schreiben der DB- Blöcke.» Log Writer (LGWR): übernimmt das Lesen und Schreiben der REDO-Log-Information.» Checkpoint (CKPT): übernimmt die Checkpoint-Aktivitäten vom REDO-Log Writer (LGWR) (optional). Datenbank-Architektur / 83 Η. G.Hopf / 27.03.2003

SW-Architektur / Prozessstruktur Hintergrund - Prozesse:» Process Monitor (PMON): übernimmt für einen fehlerhaften / abgebrochenen Anwenderprozess die Recovery-Aktivitäten (Freigabe von Ressourcen, Rücksetzen von offenen Transaktionen) ; wird periodisch (ca. alle 20s) aktiviert» System Monitor (SMON): übernimmt die beim Starten evtl. nötigen Recovery-Aktivitäten. Datenbank-Architektur / 84 Η. G.Hopf / 27.03.2003

SW-Architektur / Prozessstruktur Hintergrund - Prozesse:» Archiver (ARCH): übernimmt die Archivierung der REDO-Log- Files im ARCHIVELOG-Mode (optional).» Lock (LCKn): übernimmt Aufgaben in Zusammenhang mit der Parallel-Server-Konfiguration (optional).» Recoverer (RECO): übernimmt Recovery-Aufgaben in Zusammenhang mit verteilten Datenbanken (optional). Datenbank-Architektur / 85 Η. G.Hopf / 27.03.2003

SW-Architektur / Prozessstruktur Hintergrund - Prozess: Database Writer (DBWR)» Der Database Writer (DBWR) schreibt DB- Blöcke aus dem DB-Cache in die Datenbank zurück, wenn: alle DB-Blöcke im DB-Cache belegt sind und weitere DB-Blöcke von einem Prozess angefordert werden die Anzahl der modifizierten DB-Blöcke im Cache einen bestimmten Prozentsatz übersteigt der DBWR-Prozess eine bestimmte Zeit nicht aktiviert wurde ein Checkpoint erreicht wird Datenbank-Architektur / 86 Η. G.Hopf / 27.03.2003

SW-Architektur / Prozessstruktur Hintergrund - Prozess: Database Writer (DBWR)» Vor dem DBWR-Schreibvorgang wird der LGWR-Prozess aktiviert. Datenbank-Architektur / 87 Η. G.Hopf / 27.03.2003

SW-Architektur / Prozessstruktur Hintergrund - Prozess: REDO-Log Writer (LGWR)» Daten werden mit diesem DBWR-Verfahren nicht unbedingt zum Transaktionsende zurückgeschrieben (asynchrones commit).» Daten einer abgeschlossenen Transaktion dürfen nicht durch einen Fehler verändert werden.» Um Datenverlust zu verhindern, werden alle Änderungen im DB-Cache zusätzlich im REDO-Log Puffer gesichert Datenbank-Architektur / 88 Η. G.Hopf / 27.03.2003

SW-Architektur / Prozessstruktur Hintergrund - Prozess: REDO-Log Writer (LGWR)» Der REDO-Log Writer (LGWR) schreibt den REDO-Log-Puffer in die Datenbank (REDO- Log Dateien) zurück, wenn: der REDO-Log-Puffer zu 80 % gefüllt ist der DBWR-Prozess einen Schreibvorgang beginnen will ein Benutzer ein Transaktionsende (COMMIT) signalisiert Datenbank-Architektur / 89 Η. G.Hopf / 27.03.2003

SW-Architektur / Prozessstruktur Hintergrund - Prozess: CHECKPOINT Prozess (CKPT)» Das Setzen eines Checkpoints bedeutet: markieren der betroffenen DB-Blöcke Änderung der File-Header Aktivieren des LGWR-Prozesses und des DBWR- Prozesses» Falls zur Bewältigung einer hohen Last die CHECKPOINT-Option gesetzt ist, übernimmt der CKPT-Prozess diese Aufgaben Datenbank-Architektur / 90 Η. G.Hopf / 27.03.2003

SW-Architektur / DB-Cache System Global Area (SGA)» Die Prozess-Kommunikation wird über Speicherbereiche abgewickelt» Die System Global Area speichert permanent vorhandene Verwaltungsinformation Datenbank-Architektur / 91 Η. G.Hopf / 27.03.2003

SW-Architektur / DB-Cache System Global Area (SGA)}» Die System Global Area ist unterteilt in die Bereiche: Data Buffer Cache: Zwischenspeicherung der zuletzt bearbeiteten DB- Blöcke. Dictionary Cache: Zwischenspeicherung von Data-Dictionary Information. Redo Log Buffer: Zwischenspeicherung von REDO-Log Informationen bezüglich Transaktionen Shared SQL Pool: Zwischenspeicherung von übersetztem und ausführbarem SQL-Code. Datenbank-Architektur / 92 Η. G.Hopf / 27.03.2003

SW-Architektur / DB-Cache System Global Area (SGA)» Die SGA Größe ist an die Bedürfnisse anpassbar DB-Block Size SGA - Size small medium large 2K 4500K 6800K 17000K 4K 5500K 8800K 21000K Datenbank-Architektur / 93 Η. G.Hopf / 27.03.2003

SW-Architektur / DB-Cache Program Global Area (PGA)» Eine Program Global Area ist einem Prozess zugeordnet und enthält die jeweilige Prozess- Kontrollinformation. Datenbank-Architektur / 94 Η. G.Hopf / 27.03.2003

SW-Architektur / Parameter INIT.ORA ############################################################################## # Example INIT.ORA file --> SGA size: small ############################################################################## # # $Header: init.ora 1.2 94/10/18 16:12:36 gdudey Osd<desktop/netware> # $ init.ora Copyr (c) 1991 Oracle # ############################################################################## db_name = oracle # Datenbankname db_files = 20 # Anzahl der DB-Files control_files = C:\ORAWIN95\DATABASE\ctl1orcl.ora # Verzeichnispfad Control-Files compatible = 7.2.0.0.0 Datenbank-Architektur / 95 Η. G.Hopf / 27.03.2003

SW-Architektur / Parameter INIT.ORA ############################################################################## # Example INIT.ORA file --> SGA size: small ############################################################################## db_file_multiblock_read_count = 8 db_block_buffers = 200 # Groesse des DB-BLOCK-Buffers shared_pool_size = 3500000 # Groesse des Shared Pool log_checkpoint_interval = 10000 # Groesse des Checkpoint Intervalls processes = 50 # Anzahl der simultan auf eine # Instanz zugreifenden Prozesse dml_locks = 100 log_buffer = 8192 # Groesse des LOG-Buffers sequence_cache_entries = 10 sequence_cache_hash_buckets = 10 # audit_trail = true # if you want auditing # timed_statistics = true # if you want timed statistics max_dump_file_size = 10240 # limit trace file size to 5 Meg each # log_archive_start = true # if you want automatic archiving Datenbank-Architektur / 96 Η. G.Hopf / 27.03.2003

SW-Architektur / Parameter INIT.ORA ############################################################################## # Example INIT.ORA file --> SGA size: small ############################################################################## # define directories to store trace and alert files background_dump_dest = %RDBMS72%\trace # Verzeichnispfad user_dump_dest = %RDBMS72%\trace # Verzeichnispfad db_block_size = 2048 # Groesse der DB-Bloecke snapshot_refresh_processes = 1 # Anzahl der Snapshot-Refresh Prozesse remote_login_passwordfile = shared Datenbank-Architektur / 97 Η. G.Hopf / 27.03.2003

SW-Architektur / Parameter INIT.ORA ############################################################################## # Copyright (c) 1991, 2001, 2002 by Oracle Corporation ############################################################################## ########################################### # Cache and I/O ########################################### db_block_size=4096 db_cache_size=232783872 db_file_multiblock_read_count=16 ########################################### # Cursors and Library Cache ########################################### open_cursors=300 ########################################### # File Configuration ########################################### control_files=("d:\oracle\oradata\hgh\control01.ctl", "D:\oracle\oradata\hgh\control02.ctl", "D:\oracle\oradata\hgh\control03.ctl") Datenbank-Architektur / 98 Η. G.Hopf / 27.03.2003

SW-Architektur / Parameter INIT.ORA ########################################### # Database Identification ########################################### db_domain=nbhgh db_name=hgh ########################################### # Diagnostics and Statistics ########################################### background_dump_dest=d:\oracle\admin\hgh\bdump core_dump_dest=d:\oracle\admin\hgh\cdump timed_statistics=true user_dump_dest=d:\oracle\admin\hgh\udump ########################################### # Instance Identification ########################################### instance_name=hgh Datenbank-Architektur / 99 Η. G.Hopf / 27.03.2003

SW-Architektur / Parameter INIT.ORA ########################################### # Job Queues ########################################### job_queue_processes=10 ########################################### # MTS ########################################### dispatchers="(protocol=tcp) (SERVICE=hghXDB)" ########################################### # NLS ########################################### nls_language=german nls_territory=germany nls_time_tz_format="" Datenbank-Architektur / 100 Η. G.Hopf / 27.03.2003

SW-Architektur / Parameter INIT.ORA ########################################### # Optimizer ########################################### hash_join_enabled=true query_rewrite_enabled=false star_transformation_enabled=false ########################################### # Pools ########################################### java_pool_size=33554432 large_pool_size=45088768 shared_pool_size=77594624 ########################################### # Processes and Sessions ########################################### processes=150 Datenbank-Architektur / 101 Η. G.Hopf / 27.03.2003

SW-Architektur / Parameter INIT.ORA ########################################### # Redo Log and Recovery ########################################### fast_start_mttr_target=300 ########################################### # Security and Auditing ########################################### O7_DICTIONARY_ACCESSIBILITY=TRUE remote_login_passwordfile=exclusive ########################################### # Sort, Hash Joins, Bitmap Indexes ########################################### pga_aggregate_target=102760448 sort_area_size=4194304 Datenbank-Architektur / 102 Η. G.Hopf / 27.03.2003

SW-Architektur / Parameter INIT.ORA ########################################### # Miscellaneous ########################################### aq_tm_processes=1 compatible=9.2.0.0.0 ########################################### # System Managed Undo and Rollback Segments ########################################### undo_management=auto undo_retention=10800 undo_tablespace=undotbs1 Datenbank-Architektur / 103 Η. G.Hopf / 27.03.2003

SW-Architektur / Zusammenfassung Datenbank-Architektur / 104 Η. G.Hopf / 27.03.2003

SW-Architektur / Parameter SQL: CREATE TABLE Datenbank-Architektur / 105 Η. G.Hopf / 27.03.2003

SW-Architektur / Parameter SQL: CREATE TABLE Datenbank-Architektur / 106 Η. G.Hopf / 27.03.2003

SW-Architektur / Parameter SQL: CREATE TABLE Datenbank-Architektur / 107 Η. G.Hopf / 27.03.2003

SW-Architektur / Parameter SQL: CREATE TABLE Datenbank-Architektur / 108 Η. G.Hopf / 27.03.2003