Sie sind auf Seite 1von 108
Oracle Datenbank - Architektur H.-G. Hopf Georg-Simon-Ohm Fachhochschule Nürnberg Datenbank-Architektur / 1 ©Η.−

Oracle Datenbank - Architektur

H.-G. Hopf

Georg-Simon-Ohm Fachhochschule Nürnberg

Inhaltsverzeichnis

Inhaltsverzeichnis Einleitung Datenbank - Dateien Logische Datenbankstruktur Datenbank-Architektur
Inhaltsverzeichnis Einleitung Datenbank - Dateien Logische Datenbankstruktur Datenbank-Architektur

Einleitung Datenbank - Dateien Logische Datenbankstruktur Datenbank-Architektur

Inhaltsverzeichnis

Inhaltsverzeichnis Einleitung Datenbank - Dateien Logische Datenbankstruktur Datenbank-Architektur
Inhaltsverzeichnis Einleitung Datenbank - Dateien Logische Datenbankstruktur Datenbank-Architektur

Einleitung

Datenbank - Dateien Logische Datenbankstruktur Datenbank-Architektur

Einleitung ORACLE

Einleitung ORACLE » ORDBMS: object-relational database management system » Version: 8.1.7 » Version: 9.2.0.2.0
Einleitung ORACLE » ORDBMS: object-relational database management system » Version: 8.1.7 » Version: 9.2.0.2.0

» ORDBMS: object-relational database management system

» Version: 8.1.7

» Version: 9.2.0.2.0

Einleitung ORACLE 8i

Einleitung ORACLE 8i ORDBMS Kernel SQL SQL*Plus PL/SQL SQL*DBA SQL*Loader EXPORT/IMPORT SQL*Report
Einleitung ORACLE 8i ORDBMS Kernel SQL SQL*Plus PL/SQL SQL*DBA SQL*Loader EXPORT/IMPORT SQL*Report

ORDBMS Kernel SQL SQL*Plus PL/SQL SQL*DBA SQL*Loader EXPORT/IMPORT

SQL*Report ORA*Forms ORA*Reports CONTEXT Oracle*Graphics Developer2000 Designer2000

Einleitung ORACLE 8i

Einleitung ORACLE 8i Oracle Webserver and developer tools Oracle Video Server and developer tools SVRMGR
Einleitung ORACLE 8i Oracle Webserver and developer tools Oracle Video Server and developer tools SVRMGR

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

Einleitung

Einleitung 3 Ebenen-Konzept Anwender-Ebene Externe Ebene Anwendung Anwendung Anwendung Externe Sicht
Einleitung 3 Ebenen-Konzept Anwender-Ebene Externe Ebene Anwendung Anwendung Anwendung Externe Sicht

3 Ebenen-Konzept

Anwender-Ebene

Einleitung 3 Ebenen-Konzept Anwender-Ebene Externe Ebene Anwendung Anwendung Anwendung Externe Sicht
Einleitung 3 Ebenen-Konzept Anwender-Ebene Externe Ebene Anwendung Anwendung Anwendung Externe Sicht
Einleitung 3 Ebenen-Konzept Anwender-Ebene Externe Ebene Anwendung Anwendung Anwendung Externe Sicht

Externe Ebene

Anwendung

Anwendung

Anwendung

Externe Sicht

Anwendung Anwendung Anwendung Externe Sicht Konzeptionelle / logische Sicht Logische Ebene Interne Ebene

Konzeptionelle / logische Sicht

Logische Ebene

Externe Sicht Konzeptionelle / logische Sicht Logische Ebene Interne Ebene Interne Sicht Datenbank-Architektur / 7

Interne Ebene

Interne Sicht

/ logische Sicht Logische Ebene Interne Ebene Interne Sicht Datenbank-Architektur / 7 ©Η.− G.Hopf / 27.03.2003
/ logische Sicht Logische Ebene Interne Ebene Interne Sicht Datenbank-Architektur / 7 ©Η.− G.Hopf / 27.03.2003
/ logische Sicht Logische Ebene Interne Ebene Interne Sicht Datenbank-Architektur / 7 ©Η.− G.Hopf / 27.03.2003
/ logische Sicht Logische Ebene Interne Ebene Interne Sicht Datenbank-Architektur / 7 ©Η.− G.Hopf / 27.03.2003

Inhaltsverzeichnis

Inhaltsverzeichnis Einleitung Datenbank - Dateien Logische Datenbankstruktur Datenbank-Architektur
Inhaltsverzeichnis Einleitung Datenbank - Dateien Logische Datenbankstruktur Datenbank-Architektur

Einleitung

Datenbank - Dateien

Logische Datenbankstruktur Datenbank-Architektur

Datenbank-Dateien

Datenbank-Dateien Eine Datenbank besteht aus einem Programmpaket zur Manipulation von gespeicherten Daten. In einer
Datenbank-Dateien Eine Datenbank besteht aus einem Programmpaket zur Manipulation von gespeicherten Daten. In einer

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-Dateien Man unterscheidet drei Dateigruppen:

Datenbank-Dateien Man unterscheidet drei Dateigruppen: » Art der Datei abgelegte Information »
Datenbank-Dateien Man unterscheidet drei Dateigruppen: » Art der Datei abgelegte Information »

» Art der Datei

abgelegte Information

» Datenbank-Files

DB-Objekte (user data, system data)

» REDO-Log-Files

Recovery-Information

» Kontroll-Files

Verwaltungsinformation

Datenbank-Dateien

Datenbank-Dateien In den Datenbank-Files sind alle Datenbank-Objekte, die mit der Datenbank verwaltet werden können,
Datenbank-Dateien In den Datenbank-Files sind alle Datenbank-Objekte, die mit der Datenbank verwaltet werden können,

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-Dateien

Datenbank-Dateien Der Datenbestand der Oracle-Datenbank wird physisch in bis zu 255 betriebssystemkonformen Dateien auf
Datenbank-Dateien Der Datenbestand der Oracle-Datenbank wird physisch in bis zu 255 betriebssystemkonformen Dateien auf

Der Datenbestand der Oracle-Datenbank wird physisch in bis zu 255 betriebssystemkonformen Dateien auf verschiedenen Plattenlaufwerken abgelegt.

Datenbank-Dateien REDO-Log-Files

Datenbank-Dateien REDO-Log-Files » REDO-Log-Files sind Dateien, in denen alle Änderungen bzw. Transaktionen der
Datenbank-Dateien REDO-Log-Files » REDO-Log-Files sind Dateien, in denen alle Änderungen bzw. Transaktionen der

» 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-Dateien REDO-Log-Files

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

Datenbank-Dateien REDO-Log-Files

Datenbank-Dateien REDO-Log-Files » Es gibt zwei Modi: – ARCHIVELOG-Mode: In diesem Mode wird vor dem Überschreiben
Datenbank-Dateien REDO-Log-Files » Es gibt zwei Modi: – ARCHIVELOG-Mode: In diesem Mode wird vor dem Überschreiben

» 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-Dateien Kontroll-Files

Datenbank-Dateien Kontroll-Files » Ein Kontroll-File hat die Aufgabe Informationen über die Grundstruktur der
Datenbank-Dateien Kontroll-Files » Ein Kontroll-File hat die Aufgabe Informationen über die Grundstruktur der

» 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

des letzten Checkpoints und zugehöriger REDO-Log-File – Datenbank-Architektur / 16 ©Η.− G.Hopf / 27.03.2003

Datenbank-Dateien Bemerkung:

Datenbank-Dateien Bemerkung: » Files sind für Oracle nur benannter Speicherplatz mit eigenständiger interner
Datenbank-Dateien Bemerkung: » Files sind für Oracle nur benannter Speicherplatz mit eigenständiger interner

» Files sind für Oracle nur benannter Speicherplatz mit eigenständiger interner Struktur. Man unterscheidet zwei Sichten:

– physische Sicht: Dateien – logische Sicht: Tablespaces

Inhaltsverzeichnis

Inhaltsverzeichnis Einleitung Datenbank - Dateien Logische Datenbankstruktur Datenbank-Architektur
Inhaltsverzeichnis Einleitung Datenbank - Dateien Logische Datenbankstruktur Datenbank-Architektur

Einleitung Datenbank - Dateien

Logische Datenbankstruktur

Datenbank-Architektur

Logische Datenbankstruktur Tablespace

Logische Datenbankstruktur Tablespace » Struktur Datenbank-Dateien sind für Oracle nur benannter Speicherplatz mit
Logische Datenbankstruktur Tablespace » Struktur Datenbank-Dateien sind für Oracle nur benannter Speicherplatz mit

» 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).

(damit kann ein Tablespace in der Größe beliebig wachsen). Datenbank-Architektur / 19 ©Η.− G.Hopf / 27.03.2003

Logische Datenbankstruktur Tablespace

Logische Datenbankstruktur Tablespace Physische Sicht File1 File2 File6 File3 File4 File5
Logische Datenbankstruktur Tablespace Physische Sicht File1 File2 File6 File3 File4 File5

Physische Sicht

File1

File2

File6

File3

File4

File5

Logische Datenbankstruktur Tablespace

Logische Datenbankstruktur Tablespace Physische Sicht File1 File2 File6 File3 File4 File5 System
Logische Datenbankstruktur Tablespace Physische Sicht File1 File2 File6 File3 File4 File5 System

Physische Sicht

File1

File2

File6

File3

File4

File5

System Tablespace
System
Tablespace
Tablespace A
Tablespace A
Tablespace B
Tablespace B

Logische Sicht

System Tablespace Tablespace A Tablespace B Logische Sicht Datenbank-Architektur / 21 ©Η.− G.Hopf / 27.03.2003

Logische Datenbankstruktur Tablespace

Logische Datenbankstruktur Tablespace Physische Sicht File1 File2 File6 System Tablespace File1 File3 File4
Logische Datenbankstruktur Tablespace Physische Sicht File1 File2 File6 System Tablespace File1 File3 File4

Physische Sicht

File1

File2

File6

System Tablespace File1
System
Tablespace
File1

File3

File4

File5

Tablespace TA Tablespace TB File6 File2 File3 File4 File5
Tablespace TA
Tablespace TB
File6
File2
File3
File4
File5

Logische Sicht

Tablespace TB File6 File2 File3 File4 File5 Logische Sicht Datenbank-Architektur / 22 ©Η.− G.Hopf / 27.03.2003

Logische Datenbankstruktur Standard - Tablespace

Logische Datenbankstruktur Standard - Tablespace Die folgenden Tablespace-Bereiche sind standardmäßig bzw.
Logische Datenbankstruktur Standard - Tablespace Die folgenden Tablespace-Bereiche sind standardmäßig bzw.

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.

Logische Datenbankstruktur Standard - Tablespace

Logische Datenbankstruktur Standard - Tablespace » User_Data-Tablespace : Dieser Tablespace nimmt die Benutzerdaten
Logische Datenbankstruktur Standard - Tablespace » User_Data-Tablespace : Dieser Tablespace nimmt die Benutzerdaten

» 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.

Logische Datenbankstruktur Standard - Tablespace

Logische Datenbankstruktur Standard - Tablespace » Alle Tablespaces eines Datenbanksystems können mit dem folgenden
Logische Datenbankstruktur Standard - Tablespace » Alle Tablespaces eines Datenbanksystems können mit dem folgenden

» Alle Tablespaces eines Datenbanksystems können mit dem folgenden Befehl angezeigt werden:

SELECT * FROM user_tablespaces

Logische Datenbankstruktur Standard - Tablespace

Logische Datenbankstruktur Standard - Tablespace » Anlegen/Erweitern von Tablespace Tablespace-Bereiche können vom
Logische Datenbankstruktur Standard - Tablespace » Anlegen/Erweitern von Tablespace Tablespace-Bereiche können vom

» 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.

Logische Datenbankstruktur Standard - Tablespace

Logische Datenbankstruktur Standard - Tablespace » Anlegen/Erweitern von Tablespace Tablespace-Bereiche können vom
Logische Datenbankstruktur Standard - Tablespace » Anlegen/Erweitern von Tablespace Tablespace-Bereiche können vom

» Anlegen/Erweitern von Tablespace Tablespace-Bereiche können vom DBA erweitert werden:

ALTER TABLESPACE TB ADD DATAFILE 'file5.ora' SIZE 200MB

Logische Datenbankstruktur Standard - Tablespace

Logische Datenbankstruktur Standard - Tablespace » Löschen von Tablespace Tablespace wird gelöscht, zugeordnete
Logische Datenbankstruktur Standard - Tablespace » Löschen von Tablespace Tablespace wird gelöscht, zugeordnete

» Löschen von Tablespace Tablespace wird gelöscht, zugeordnete Dateien werden freigegeben.

– leerer Tablespace

DROP TABLESPACE TA;

– genutzter Tablespace

DROP TABLESPACE TA INCLUDING CONTENTS;

Logische Datenbankstruktur Standard - Tablespace

Logische Datenbankstruktur Standard - Tablespace » Tablespace - Modi Es gibt für alle Tablespaces außer dem
Logische Datenbankstruktur Standard - Tablespace » Tablespace - Modi Es gibt für alle Tablespaces außer dem

» 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.

Logische Datenbankstruktur Standard - Tablespace

Logische Datenbankstruktur Standard - Tablespace » Änderung von Tablespace - Modi – Übergang OFFLINE -->
Logische Datenbankstruktur Standard - Tablespace » Änderung von Tablespace - Modi – Übergang OFFLINE -->

» Änderung von Tablespace - Modi

– Übergang OFFLINE --> ONLINE

ALTER TABLESPACE TA ONLINE;

– Übergang ONLINE --> OFFLINE

ALTER TABLESPACE TA OFFLINE [NORMAL | TEMPORARY | IMMEDIATE];

Logische Datenbankstruktur Standard - Tablespace

Logische Datenbankstruktur Standard - Tablespace » OFFLINE - Parameter: – normal: Für alle Files des Tablespace
Logische Datenbankstruktur Standard - Tablespace » OFFLINE - Parameter: – normal: Für alle Files des 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).

Logische Datenbankstruktur Standard - Tablespace

Logische Datenbankstruktur Standard - Tablespace » OFFLINE - Parameter: – temporary: Für alle online - Files
Logische Datenbankstruktur Standard - Tablespace » OFFLINE - Parameter: – temporary: Für alle online - Files

» 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).

Logische Datenbankstruktur Standard - Tablespace

Logische Datenbankstruktur Standard - Tablespace Zustand Parameter NORMAL TEMPORARY IMMEDIATE ONLINE Tablespace
Logische Datenbankstruktur Standard - Tablespace Zustand Parameter NORMAL TEMPORARY IMMEDIATE ONLINE Tablespace
Zustand Parameter NORMAL TEMPORARY IMMEDIATE ONLINE Tablespace = SYSTEM Tablespace OFFLINE ONLINE OFFLINE
Zustand
Parameter
NORMAL
TEMPORARY
IMMEDIATE
ONLINE
Tablespace
= SYSTEM
Tablespace
OFFLINE
ONLINE
OFFLINE
Files
Files
ALTER TABLESPACE
OFFLINE [Parameter]
ALTER TABLESPACE
ONLINE
Checkpoint
Checkpoint
Medium Recovery
Medium Recovery

Logische Datenbankstruktur Datenbankobjekte / Segmente

Logische Datenbankstruktur Datenbankobjekte / Segmente » Datenbankobjekte sind: – Tabellen – Indizes –
Logische Datenbankstruktur Datenbankobjekte / Segmente » Datenbankobjekte sind: – Tabellen – Indizes –

» Datenbankobjekte sind:

– Tabellen

– Indizes

– Recovery-Information

Logische Datenbankstruktur Datenbankobjekte / Segmente

Logische Datenbankstruktur Datenbankobjekte / Segmente » Alle Datenbankobjekte werden stets einem Tablespace
Logische Datenbankstruktur Datenbankobjekte / Segmente » Alle Datenbankobjekte werden stets einem Tablespace

» 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).

Logische Datenbankstruktur Datenbankobjekte / Segmente

Logische Datenbankstruktur Datenbankobjekte / Segmente Datenbank- objekte Tabelle Index Rollback-
Logische Datenbankstruktur Datenbankobjekte / Segmente Datenbank- objekte Tabelle Index Rollback-

Datenbank-

objekte

Tabelle

Index

Rollback-

Info

Logische Speicherstruktur

Daten-

Segment

Index-

Segment

Rollback-

Segment

temporäre

Segmente

Index- Segment Rollback- Segment temporäre Segmente Datenbank-Architektur / 36 ©Η.− G.Hopf / 27.03.2003

Logische Datenbankstruktur Datenbankobjekte / Segmente

Logische Datenbankstruktur Datenbankobjekte / Segmente » Die einem Tablespace zugeordneten Tabellen werden mit dem
Logische Datenbankstruktur Datenbankobjekte / Segmente » Die einem Tablespace zugeordneten Tabellen werden mit dem

» Die einem Tablespace zugeordneten Tabellen werden mit dem folgenden Befehl angezeigt:

SELECT * FROM user_tables

Logische Datenbankstruktur Extend

Logische Datenbankstruktur Extend » Um eine Anpassung von Segmenten an Objekte unterschiedlicher Größe zu
Logische Datenbankstruktur Extend » Um eine Anpassung von Segmenten an Objekte unterschiedlicher Größe zu

» 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).

Logische Datenbankstruktur Extend

Logische Datenbankstruktur Extend » Man unterscheidet: – Anfangs-Extend (initial extend): Dieses Extend wird zum
Logische Datenbankstruktur Extend » Man unterscheidet: – Anfangs-Extend (initial extend): Dieses Extend wird zum

» 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.

Logische Datenbankstruktur Extend

Logische Datenbankstruktur Extend – Die Festlegung der Anfangs-Extend-Größe erfolgt über den Parameter initial
Logische Datenbankstruktur Extend – Die Festlegung der Anfangs-Extend-Größe erfolgt über den Parameter initial

– 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.

Logische Datenbankstruktur Extend

Logische Datenbankstruktur Extend Initial Initial Initial Initial Anfangs- extend extend extend extend extend
Logische Datenbankstruktur Extend Initial Initial Initial Initial Anfangs- extend extend extend extend extend
Initial Initial Initial Initial Anfangs- extend extend extend extend extend next next next extend extend
Initial
Initial
Initial
Initial
Anfangs-
extend
extend
extend
extend
extend
next
next
next
extend
extend
extend
next
next
extend
extend
Folge-
extend
Speicherplatzbedarf
next
extend
Zeit

Erstellungs-

zeitpunkt

Speicherplatzbedarf next extend Zeit Erstellungs- zeitpunkt Datenbank-Architektur / 41 ©Η.− G.Hopf / 27.03.2003

Logische Datenbankstruktur

Logische Datenbankstruktur Extend Die Definition dieser Speicherparameter erfolgt » bei der Tablespace-Definition –
Logische Datenbankstruktur Extend Die Definition dieser Speicherparameter erfolgt » bei der Tablespace-Definition –

Extend Die Definition dieser Speicherparameter erfolgt

» bei der Tablespace-Definition

CREATE/ALTER TABLESPACE,

» und bei Datenbankobjekt-Definitionen

CREATE/ALTER CREATE/ALTER

CREATE/ALTER ROLLBACK SEGMENT,

CREATE/ALTER CREATE/ALTER

CREATE/ALTER SNAPSHOT LOG

TABLE,

INDEX,

CLUSTER,

SNAPSHOT

– CREATE/ALTER SNAPSHOT LOG TABLE, INDEX, CLUSTER, SNAPSHOT Datenbank-Architektur / 42 ©Η.− G.Hopf / 27.03.2003

Logische Datenbankstruktur Extend

Logische Datenbankstruktur Extend » Die Definition dieser Speicherparameter erfolgt durch Angabe der STORAGE-Klausel:
Logische Datenbankstruktur Extend » Die Definition dieser Speicherparameter erfolgt durch Angabe der STORAGE-Klausel:

» 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. Tabellen- definition) überschreibt die bei der Tablespace- definition getroffene Storage-Spezifikation.

Logische Datenbankstruktur

Logische Datenbankstruktur Datenbankblock DB-Block Struktur » Ein Extend besteht aus einer bestimmten Anzahl von
Logische Datenbankstruktur Datenbankblock DB-Block Struktur » Ein Extend besteht aus einer bestimmten Anzahl von

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

Logische Datenbankstruktur

Logische Datenbankstruktur Datenbankblock DB-Block Struktur DB-Block Kopf DB-Block Daten- bereich Datenbank-Architektur /
Logische Datenbankstruktur Datenbankblock DB-Block Struktur DB-Block Kopf DB-Block Daten- bereich Datenbank-Architektur /

Datenbankblock DB-Block Struktur

Logische Datenbankstruktur Datenbankblock DB-Block Struktur DB-Block Kopf DB-Block Daten- bereich Datenbank-Architektur /

DB-Block

Kopf

DB-Block

Daten-

bereich

Logische Datenbankstruktur Datenbankblock-Kopf

Logische Datenbankstruktur Datenbankblock-Kopf » Der DB-Block-Kopf enthält Verwaltungsinformation: DB-Block Kopf –
Logische Datenbankstruktur Datenbankblock-Kopf » Der DB-Block-Kopf enthält Verwaltungsinformation: DB-Block Kopf –

» Der DB-Block-Kopf enthält Verwaltungsinformation:

» Der DB-Block-Kopf enthält Verwaltungsinformation: DB-Block Kopf – Feste Verwaltungsinformation:

DB-Block

Kopf

– 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.

Logische Datenbankstruktur Datenbankblock-Kopf

Logische Datenbankstruktur Datenbankblock-Kopf DB-Block Kopf – Transaktions-Directory: Eine aktuelle Transaktion, die
Logische Datenbankstruktur Datenbankblock-Kopf DB-Block Kopf – Transaktions-Directory: Eine aktuelle Transaktion, die
Logische Datenbankstruktur Datenbankblock-Kopf DB-Block Kopf – Transaktions-Directory: Eine aktuelle Transaktion, die

DB-Block

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

Logische Datenbankstruktur Datenbankblock-Datenbereich

Logische Datenbankstruktur Datenbankblock-Datenbereich » Der DB-Block-Datenbereich besteht aus: – DB-Block
Logische Datenbankstruktur Datenbankblock-Datenbereich » Der DB-Block-Datenbereich besteht aus: – DB-Block

» Der DB-Block-Datenbereich besteht aus:

DB-Block Freibereich:

Der Freibereich dient dazu, Speicherplatz für sich

Der Freibereich dient dazu, Speicherplatz für sich DB-Block Daten- bereich vergrößernde Datensätze (z.B.

DB-Block

Daten-

bereich

vergrößernde Datensätze (z.B. VARCHAR, vorzuhalten.

)

DB-Block Einfüge-Bereich:

In diesem Bereich werden Datensätze eingefügt.

Logische Datenbankstruktur DB-Block Management

Logische Datenbankstruktur DB-Block Management Freibereich Für sich vergrößernde Datensätze pctfree DB-Block
Logische Datenbankstruktur DB-Block Management Freibereich Für sich vergrößernde Datensätze pctfree DB-Block
Freibereich Für sich vergrößernde Datensätze pctfree DB-Block INSERT- Minimaler pctused Brereich Füllbereich
Freibereich
Für sich
vergrößernde
Datensätze
pctfree
DB-Block
INSERT-
Minimaler
pctused
Brereich
Füllbereich

Schlupf

Logische Datenbankstruktur Datenbankblock-Datenbereich

Logische Datenbankstruktur Datenbankblock-Datenbereich » Die DB-Block-Struktur kann über das Setzen von Parametern
Logische Datenbankstruktur Datenbankblock-Datenbereich » Die DB-Block-Struktur kann über das Setzen von Parametern

» 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.

freelists Parameter gibt die Anzahl der FREE-Listen an. Datenbank-Architektur / 50 ©Η.− G.Hopf / 27.03.2003

Logische Datenbankstruktur DB-Block Management

Logische Datenbankstruktur DB-Block Management » Überlauf Kann ein Datensatz in einem Block nicht mehr in ganzer
Logische Datenbankstruktur DB-Block Management » Überlauf Kann ein Datensatz in einem Block nicht mehr in ganzer

» Ü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.

Logische Datenbankstruktur DB-Block Management

Logische Datenbankstruktur DB-Block Management Freibereich Für sich vergrößernde Datensätze pctfree DB-Block
Logische Datenbankstruktur DB-Block Management Freibereich Für sich vergrößernde Datensätze pctfree DB-Block
Freibereich Für sich vergrößernde Datensätze pctfree DB-Block INSERT- Minimaler pctused Brereich Füllbereich
Freibereich
Für sich
vergrößernde
Datensätze
pctfree
DB-Block
INSERT-
Minimaler
pctused
Brereich
Füllbereich

Schlupf

Logische Datenbankstruktur DB-Block Management

Logische Datenbankstruktur DB-Block Management Freibereich Für sich vergrößernde Datensätze pctfree DB-Block
Logische Datenbankstruktur DB-Block Management Freibereich Für sich vergrößernde Datensätze pctfree DB-Block
Freibereich Für sich vergrößernde Datensätze pctfree DB-Block INSERT- Minimaler pctused Brereich Füllbereich
Freibereich
Für sich
vergrößernde
Datensätze
pctfree
DB-Block
INSERT-
Minimaler
pctused
Brereich
Füllbereich

Logische Datenbankstruktur DB-Block Management

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

pctfree

Datensatz

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

pctused

Logische Datenbankstruktur DB-Block Management

Logische Datenbankstruktur DB-Block Management Sich vergrößernder Datensatz (Variante 1) Erweiterung pctfree
Logische Datenbankstruktur DB-Block Management Sich vergrößernder Datensatz (Variante 1) Erweiterung pctfree

Sich vergrößernder Datensatz (Variante 1)

Management Sich vergrößernder Datensatz (Variante 1) Erweiterung pctfree Datensatz pctused Datenbank-Architektur

Erweiterung

Sich vergrößernder Datensatz (Variante 1) Erweiterung pctfree Datensatz pctused Datenbank-Architektur / 55

pctfree

vergrößernder Datensatz (Variante 1) Erweiterung pctfree Datensatz pctused Datenbank-Architektur / 55 ©Η.−

Datensatz

Datensatz (Variante 1) Erweiterung pctfree Datensatz pctused Datenbank-Architektur / 55 ©Η.− G.Hopf /

pctused

Logische Datenbankstruktur DB-Block Management

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

pctfree

Datensatz

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

pctused

Logische Datenbankstruktur DB-Block Management

Logische Datenbankstruktur DB-Block Management Sich vergrößernder Datensatz (Variante 2) Verweis pctfree Erweiterung
Logische Datenbankstruktur DB-Block Management Sich vergrößernder Datensatz (Variante 2) Verweis pctfree Erweiterung

Sich vergrößernder Datensatz (Variante 2)

Management Sich vergrößernder Datensatz (Variante 2) Verweis pctfree Erweiterung Erweiterung Erweiterung
Management Sich vergrößernder Datensatz (Variante 2) Verweis pctfree Erweiterung Erweiterung Erweiterung
Management Sich vergrößernder Datensatz (Variante 2) Verweis pctfree Erweiterung Erweiterung Erweiterung

Verweis

Sich vergrößernder Datensatz (Variante 2) Verweis pctfree Erweiterung Erweiterung Erweiterung Datensatz
Sich vergrößernder Datensatz (Variante 2) Verweis pctfree Erweiterung Erweiterung Erweiterung Datensatz
Sich vergrößernder Datensatz (Variante 2) Verweis pctfree Erweiterung Erweiterung Erweiterung Datensatz
Sich vergrößernder Datensatz (Variante 2) Verweis pctfree Erweiterung Erweiterung Erweiterung Datensatz

pctfree

Erweiterung

Erweiterung

Erweiterung

Datensatz

pctfree Erweiterung Erweiterung Erweiterung Datensatz pctused Datenbank-Architektur / 57 ©Η.− G.Hopf /

pctused

Logische Datenbankstruktur DB-Block Management

Logische Datenbankstruktur DB-Block Management » Freispeicherverwaltung Blöcke, deren aktueller Füllgrad kleiner
Logische Datenbankstruktur DB-Block Management » Freispeicherverwaltung Blöcke, deren aktueller Füllgrad kleiner

» 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

Logische Datenbankstruktur

Logische Datenbankstruktur DB-Block Management / Freispeicherverwaltung Vollständig gefüllt partiell gefüllt ungenutzt
Logische Datenbankstruktur DB-Block Management / Freispeicherverwaltung Vollständig gefüllt partiell gefüllt ungenutzt

DB-Block Management / Freispeicherverwaltung

Vollständig gefüllt

partiell gefüllt

ungenutzt

pctused

Marke

gefüllt partiell gefüllt ungenutzt pctused Marke Free DB-Block Liste Transaktions-Free-Liste
gefüllt partiell gefüllt ungenutzt pctused Marke Free DB-Block Liste Transaktions-Free-Liste
gefüllt partiell gefüllt ungenutzt pctused Marke Free DB-Block Liste Transaktions-Free-Liste

Free DB-Block Liste

gefüllt ungenutzt pctused Marke Free DB-Block Liste Transaktions-Free-Liste Segment-Free-Liste

Transaktions-Free-Liste

Segment-Free-Liste

Logische Datenbankstruktur DB-Block Management

Logische Datenbankstruktur DB-Block Management – Transactions - FREE-Liste innerhalb einer Transaktion durch Lösch-
Logische Datenbankstruktur DB-Block Management – Transactions - FREE-Liste innerhalb einer Transaktion durch Lösch-

– 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.

Logische Datenbankstruktur DB-Block Management

Logische Datenbankstruktur DB-Block Management Datensatz Einfügen in Einfüge- Transaktions- ja Operation
Logische Datenbankstruktur DB-Block Management Datensatz Einfügen in Einfüge- Transaktions- ja Operation
Datensatz Einfügen in Einfüge- Transaktions- ja Operation Free-Liste möglich? nein Einfügen in ja
Datensatz
Einfügen in
Einfüge-
Transaktions-
ja
Operation
Free-Liste
möglich?
nein
Einfügen in
ja
Segment-Free-
in Segment-
Liste möglich?
Free-Liste
eintragen
nein
ungenutzte DB-
ja
Blöcke
vorhanden?
nein
Folge Extend
bereitstellen

Datensatz

einfügen

Logische Datenbankstruktur

Logische Datenbankstruktur Datensatz Ein Datensatz hat die (physische) Struktur: » Datensatz-Kopf » Datensatz-Rumpf
Logische Datenbankstruktur Datensatz Ein Datensatz hat die (physische) Struktur: » Datensatz-Kopf » Datensatz-Rumpf

Datensatz Ein Datensatz hat die (physische) Struktur:

» Datensatz-Kopf

» Datensatz-Rumpf

Logische Datenbankstruktur Datensatz-Kopf:

Logische Datenbankstruktur Datensatz-Kopf: » Der Datensatz-Kopf enthält Verwaltungsinformation – Datensatz-Kopf-Id
Logische Datenbankstruktur Datensatz-Kopf: » Der Datensatz-Kopf enthält Verwaltungsinformation – Datensatz-Kopf-Id

» 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.

Logische Datenbankstruktur Datensatz-Rumpf:

Logische Datenbankstruktur Datensatz-Rumpf: » Im Datensatz-Rumpf befinden sich die eigentlichen Daten. –
Logische Datenbankstruktur Datensatz-Rumpf: » Im Datensatz-Rumpf befinden sich die eigentlichen Daten. –

» 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

Logische Datenbankstruktur Die DB-Architektur im Überblick

Datenbankstruktur Die DB-Architektur im Überblick Tablespace Segment Extend DB Bock Datensatz
Datenbankstruktur Die DB-Architektur im Überblick Tablespace Segment Extend DB Bock Datensatz

Tablespace

Segment

Extend
Extend
Extend
Extend

Extend

Extend
Extend
Extend

DB

Bock
Bock

Datensatz

Logische Datenbankstruktur

Logische Datenbankstruktur DB Objekt Art File Ist_zugeordnet Besteht_aus Tablespace DB Ist_zugeordnet Data S
DB Objekt Art File Ist_zugeordnet Besteht_aus Tablespace DB Ist_zugeordnet Data S Table Segment Index S
DB Objekt
Art
File
Ist_zugeordnet
Besteht_aus
Tablespace
DB
Ist_zugeordnet
Data S
Table
Segment
Index S
Index
Ist_zugeordnet
Rollback S
Extend
Temporary S
DB-Block
Datensatz
Art

Logische Datenbankstruktur

Logische Datenbankstruktur DB Objekt Art File Interne Sicht: Betriebssystem Ist_zugeordnet Besteht_aus Tablespace
DB Objekt Art File Interne Sicht: Betriebssystem Ist_zugeordnet Besteht_aus Tablespace DB Ist_zugeordnet Data S
DB Objekt
Art
File
Interne Sicht: Betriebssystem
Ist_zugeordnet
Besteht_aus
Tablespace
DB
Ist_zugeordnet
Data S
Table
Segment
Index S
Index
Ist_zugeordnet
Rollback S
Extend
Temporary S
logische Sicht
DB-Block
Interne Sicht:
Datenbank
Datensatz
Art

Data-Dictionary - Views

Data-Dictionary - Views Dictionary View Dba_data_files Dba_tablespaces Dba_freespace * Dba_quota *
Data-Dictionary - Views Dictionary View Dba_data_files Dba_tablespaces Dba_freespace * Dba_quota *

Dictionary View

Dba_data_files

Dba_tablespaces

Dba_freespace

*

Dba_quota

*

User_extends

 

*

User_table

*: nicht Version 9

Bemerkung

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

Indizes eines Benutzers Zeigt alle Tabellen eines Benutzers Datenbank-Architektur / 68 ©Η.− G.Hopf / 27.03.2003

Inhaltsverzeichnis

Inhaltsverzeichnis Einleitung Datenbank - Dateien Logische Datenbankstruktur Datenbank-Architektur
Inhaltsverzeichnis Einleitung Datenbank - Dateien Logische Datenbankstruktur Datenbank-Architektur

Einleitung Datenbank - Dateien Logische Datenbankstruktur

Datenbank-Architektur

SW-Architektur / Konzeption Unterstützte Rechnerarchitekturen:

/ Konzeption Unterstützte Rechnerarchitekturen: » Ein-Prozessor-System » Symmetrisches
/ Konzeption Unterstützte Rechnerarchitekturen: » Ein-Prozessor-System » Symmetrisches

» Ein-Prozessor-System

» Symmetrisches Multiprozessor-System

» Lose gekoppeltes System

» Massiv paralleles System

SW-Architektur / Konzeption Oracle Datenbanksystem besteht aus:

/ Konzeption Oracle Datenbanksystem besteht aus: » Oracle Instanz: – Datenbank Cache (System Global Area -
/ Konzeption Oracle Datenbanksystem besteht aus: » Oracle Instanz: – Datenbank Cache (System Global Area -

» 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

SW-Architektur / Konzeption

SW-Architektur / Konzeption DBWR LGWR ARCH SMON PMON CHKP Oracle Oracle Server Instanz Prozesse DB -
SW-Architektur / Konzeption DBWR LGWR ARCH SMON PMON CHKP Oracle Oracle Server Instanz Prozesse DB -
DBWR LGWR ARCH SMON PMON CHKP Oracle Oracle Server Instanz Prozesse DB - Cache
DBWR
LGWR
ARCH
SMON
PMON
CHKP
Oracle
Oracle
Server
Instanz
Prozesse
DB - Cache

SW-Architektur / Konzeption Mögliche Konfigurationen:

SW-Architektur / Konzeption Mögliche Konfigurationen: » Dedicated Server (DS) Konfiguration: – Jedem
SW-Architektur / Konzeption Mögliche Konfigurationen: » Dedicated Server (DS) Konfiguration: – Jedem

» 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).

SW-Architektur / Konzeption

SW-Architektur / Konzeption DBWR LGWR ARCH SMON PMON CHKP Oracle Anwendungs- Oracle Oracle Server prozesse
SW-Architektur / Konzeption DBWR LGWR ARCH SMON PMON CHKP Oracle Anwendungs- Oracle Oracle Server prozesse
DBWR LGWR ARCH SMON PMON CHKP Oracle Anwendungs- Oracle Oracle Server prozesse Datenbank Instanz Prozesse
DBWR
LGWR
ARCH
SMON
PMON
CHKP
Oracle
Anwendungs-
Oracle
Oracle
Server
prozesse
Datenbank
Instanz
Prozesse
DB - Cache

SW-Architektur / Konzeption

SW-Architektur / Konzeption Mögliche Konfigurationen: Bemerkung: » Beide Konfigurationsarten können gleichzeitig
SW-Architektur / Konzeption Mögliche Konfigurationen: Bemerkung: » Beide Konfigurationsarten können gleichzeitig

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

SW-Architektur / Konzeption Mögliche Konfigurationen:

SW-Architektur / Konzeption Mögliche Konfigurationen: Oracle Instanz SGA Hintergrundprozesse REDO-Log ORDBMS
SW-Architektur / Konzeption Mögliche Konfigurationen: Oracle Instanz SGA Hintergrundprozesse REDO-Log ORDBMS
Oracle Instanz SGA Hintergrundprozesse REDO-Log ORDBMS Oracle8 i
Oracle Instanz
SGA
Hintergrundprozesse
REDO-Log
ORDBMS Oracle8 i

SW-Architektur / Konzeption

SW-Architektur / Konzeption Oracle Instanz 1 Oracle Instanz 2 SGA SGA Hintergrundprozesse Hintergrundprozesse
SW-Architektur / Konzeption Oracle Instanz 1 Oracle Instanz 2 SGA SGA Hintergrundprozesse Hintergrundprozesse
Oracle Instanz 1 Oracle Instanz 2 SGA SGA Hintergrundprozesse Hintergrundprozesse REDO-Log REDO-Log ORDBMS Oracle8
Oracle Instanz 1
Oracle Instanz 2
SGA
SGA
Hintergrundprozesse
Hintergrundprozesse
REDO-Log
REDO-Log
ORDBMS Oracle8 i

SW-Architektur / Konzeption Datenbank - Instanz:

SW-Architektur / Konzeption Datenbank - Instanz: » Alle Datenbank-Prozesse die eine System Global Area benutzen
SW-Architektur / Konzeption Datenbank - Instanz: » Alle Datenbank-Prozesse die eine System Global Area benutzen

» 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.

SW-Architektur / Konzeption Client / Server - Architektur:

SW-Architektur / Konzeption Client / Server - Architektur: » schützt vor Zerstörung von Server- Programmen durch
SW-Architektur / Konzeption Client / Server - Architektur: » schützt vor Zerstörung von Server- Programmen durch

» schützt vor Zerstörung von Server- Programmen durch Anwenderprogramme » ermöglicht Nutzung verschiedener Rechner für Client-Prozesse und Server-Prozesse

SW-Architektur / Konzeption Client / Server - Kommunikation:

/ Konzeption Client / Server - Kommunikation: Client: User Program Interface (UPI) - Schnittstelle
/ Konzeption Client / Server - Kommunikation: Client: User Program Interface (UPI) - Schnittstelle

Client:

User Program Interface (UPI) - Schnittstelle

Server:

Oracle Program Interface (OPI) - Schnittstelle

Dispatcher
Dispatcher

UPI-Call

UPI-Call UPI-Call UPI-Call

UPI-Call

UPI-Call UPI-Call UPI-Call

UPI-Call

Oracle-Server Prozess

UPI-Call UPI-Call UPI-Call Oracle-Server Prozess SQL-Befehl Oracle-Server Prozess Oracle-Server Prozess

SQL-Befehl

Oracle-Server Prozess

Oracle-Server Prozess

Multi-Threaded Server (MTS) Konfiguration

SW-Architektur / Konzeption Client / Server - Kommunikation:

/ Konzeption Client / Server - Kommunikation: Client: Server: User Program Interface (UPI) -
/ Konzeption Client / Server - Kommunikation: Client: Server: User Program Interface (UPI) -
Client: Server: User Program Interface (UPI) - Schnittstelle Oracle Program Interface (OPI) - Schnittstelle
Client:
Server:
User Program
Interface
(UPI) - Schnittstelle
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

SW-Architektur / Prozessstruktur Hintergrund - Prozesse:

SW-Architektur / Prozessstruktur Hintergrund - Prozesse: » Jeder Hintergrundprozess hat eine genau definierte
SW-Architektur / Prozessstruktur Hintergrund - Prozesse: » Jeder Hintergrundprozess hat eine genau definierte

» Jeder Hintergrundprozess hat eine genau definierte Aufgabe. » Die Koordination der Aufgaben erfolgt über die SGA.

SW-Architektur / Prozessstruktur Hintergrund - Prozesse:

SW-Architektur / Prozessstruktur Hintergrund - Prozesse: » Database Writer (DBWR): übernimmt das Lesen und Schreiben
SW-Architektur / Prozessstruktur Hintergrund - Prozesse: » Database Writer (DBWR): übernimmt das Lesen und Schreiben

» 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).

SW-Architektur / Prozessstruktur Hintergrund - Prozesse:

SW-Architektur / Prozessstruktur Hintergrund - Prozesse: » Process Monitor (PMON): übernimmt für einen fehlerhaften
SW-Architektur / Prozessstruktur Hintergrund - Prozesse: » Process Monitor (PMON): übernimmt für einen fehlerhaften

» 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.

SW-Architektur / Prozessstruktur Hintergrund - Prozesse:

SW-Architektur / Prozessstruktur Hintergrund - Prozesse: » Archiver (ARCH): übernimmt die Archivierung der REDO-Log-
SW-Architektur / Prozessstruktur Hintergrund - Prozesse: » Archiver (ARCH): übernimmt die Archivierung der REDO-Log-

» 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).

SW-Architektur / Prozessstruktur

SW-Architektur / Prozessstruktur Hintergrund - Prozess: Database Writer (DBWR) » Der Database Writer (DBWR) schreibt DB-
SW-Architektur / Prozessstruktur Hintergrund - Prozess: Database Writer (DBWR) » Der Database Writer (DBWR) schreibt DB-

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

SW-Architektur / Prozessstruktur

SW-Architektur / Prozessstruktur Hintergrund - Prozess: Database Writer (DBWR) » Vor dem DBWR-Schreibvorgang wird der
SW-Architektur / Prozessstruktur Hintergrund - Prozess: Database Writer (DBWR) » Vor dem DBWR-Schreibvorgang wird der

Hintergrund - Prozess:

Database Writer (DBWR)

» Vor dem DBWR-Schreibvorgang wird der LGWR-Prozess aktiviert.

SW-Architektur / Prozessstruktur

SW-Architektur / Prozessstruktur Hintergrund - Prozess: REDO-Log Writer (LGWR) » Daten werden mit diesem DBWR-Verfahren
SW-Architektur / Prozessstruktur Hintergrund - Prozess: REDO-Log Writer (LGWR) » Daten werden mit diesem DBWR-Verfahren

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

SW-Architektur / Prozessstruktur

SW-Architektur / Prozessstruktur Hintergrund - Prozess: REDO-Log Writer (LGWR) » Der REDO-Log Writer (LGWR) schreibt den
SW-Architektur / Prozessstruktur Hintergrund - Prozess: REDO-Log Writer (LGWR) » Der REDO-Log Writer (LGWR) schreibt den

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

SW-Architektur / Prozessstruktur

SW-Architektur / Prozessstruktur Hintergrund - Prozess: CHECKPOINT Prozess (CKPT) » Das Setzen eines Checkpoints
SW-Architektur / Prozessstruktur Hintergrund - Prozess: CHECKPOINT Prozess (CKPT) » Das Setzen eines Checkpoints

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

SW-Architektur / DB-Cache System Global Area (SGA)

SW-Architektur / DB-Cache System Global Area (SGA) » Die Prozess-Kommunikation wird über Speicherbereiche
SW-Architektur / DB-Cache System Global Area (SGA) » Die Prozess-Kommunikation wird über Speicherbereiche

» Die Prozess-Kommunikation wird über Speicherbereiche abgewickelt » Die System Global Area speichert permanent vorhandene Verwaltungsinformation

SW-Architektur / DB-Cache System Global Area (SGA)}

SW-Architektur / DB-Cache System Global Area (SGA)} » Die System Global Area ist unterteilt in die
SW-Architektur / DB-Cache System Global Area (SGA)} » Die System Global Area ist unterteilt in die

» 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.

von übersetztem und ausführbarem SQL-Code. Datenbank-Architektur / 92 ©Η.− G.Hopf / 27.03.2003

SW-Architektur / DB-Cache System Global Area (SGA)

SW-Architektur / DB-Cache System Global Area (SGA) » Die SGA Größe ist an die Bedürfnisse anpassbar
SW-Architektur / DB-Cache System Global Area (SGA) » Die SGA Größe ist an die Bedürfnisse anpassbar

» 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

SW-Architektur / DB-Cache Program Global Area (PGA)

SW-Architektur / DB-Cache Program Global Area (PGA) » Eine Program Global Area ist einem Prozess zugeordnet
SW-Architektur / DB-Cache Program Global Area (PGA) » Eine Program Global Area ist einem Prozess zugeordnet

» Eine Program Global Area ist einem Prozess zugeordnet und enthält die jeweilige Prozess- Kontrollinformation.

SW-Architektur / Parameter INIT.ORA

SW-Architektur / Parameter INIT.ORA ########################## #################################################### #
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

control_files

= = C:\ORAWIN95\DATABASE\ctl1orcl.ora

20

# Anzahl der DB-Files

compatible

# Verzeichnispfad Control-Files

= 7.2.0.0.0

SW-Architektur / Parameter INIT.ORA

SW-Architektur / Parameter INIT.ORA ########################## #################################################### #
SW-Architektur / Parameter INIT.ORA ########################## #################################################### #

##############################################################################

# Example INIT.ORA file --> SGA size: small

##############################################################################

 

8

db_file_multiblock_read_count = db_block_buffers shared_pool_size log_checkpoint_interval processes

=

= = 3500000 # Groesse des Shared Pool 10000 # Groesse des Checkpoint Intervalls

=

200

50

# Groesse des DB-BLOCK-Buffers

# 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

SW-Architektur / Parameter INIT.ORA

SW-Architektur / Parameter INIT.ORA ########################## #################################################### #
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

SW-Architektur / Parameter INIT.ORA

SW-Architektur / Parameter INIT.ORA ########################## #################################################### #
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")

SW-Architektur / Parameter INIT.ORA

###########################################

# Database Identification

###########################################

db_domain=nbhgh

db_name=hgh

db_domain=nbhgh db_name=hgh ########################################### # Diagnostics
db_domain=nbhgh db_name=hgh ########################################### # Diagnostics

###########################################

# 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

SW-Architektur / Parameter INIT.ORA

###########################################

# Job Queues

###########################################

job_queue_processes=10

job_queue_processes=10 ########################################### # MTS
job_queue_processes=10 ########################################### # MTS

###########################################

# MTS

########################################### dispatchers="(PROTOCOL=TCP) (SERVICE=hghXDB)"

###########################################

# NLS

###########################################

nls_language=GERMAN

nls_territory=GERMANY

nls_time_tz_format=""

SW-Architektur / Parameter INIT.ORA

###########################################

# Optimizer

###########################################

hash_join_enabled=TRUE

query_rewrite_enabled=FALSE

star_transformation_enabled=FALSE

star_transformati on_enabled=FALSE ########################################### # Pools
star_transformati on_enabled=FALSE ########################################### # Pools

###########################################

# Pools

###########################################

java_pool_size=33554432

large_pool_size=45088768

shared_pool_size=77594624

###########################################

# Processes and Sessions

###########################################

processes=150

SW-Architektur / Parameter INIT.ORA

###########################################

# Redo Log and Recovery

###########################################

fast_start_mttr_target=300

fast_start_mttr_target=300 ########################################### # Security and
fast_start_mttr_target=300 ########################################### # Security and

###########################################

# Security and Auditing

###########################################

O7_DICTIONARY_ACCESSIBILITY=TRUE

remote_login_passwordfile=EXCLUSIVE

###########################################

# Sort, Hash Joins, Bitmap Indexes

###########################################

pga_aggregate_target=102760448

sort_area_size=4194304

SW-Architektur / Parameter INIT.ORA

###########################################

# Miscellaneous

###########################################

aq_tm_processes=1

compatible=9.2.0.0.0

aq_tm_processes=1 compatible=9.2.0.0.0 ########################################### # System Managed
aq_tm_processes=1 compatible=9.2.0.0.0 ########################################### # System Managed

###########################################

# System Managed Undo and Rollback Segments

########################################### undo_management=AUTO

undo_retention=10800

undo_tablespace=UNDOTBS1

SW-Architektur / Zusammenfassung

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

SW-Architektur / Parameter

SW-Architektur / Parameter SQL: CREATE TABLE Datenbank-Architektur / 105 ©Η.− 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 / 105 ©Η.− G.Hopf / 27.03.2003

SQL: CREATE TABLE

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

SW-Architektur / Parameter

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

SW-Architektur / Parameter

SW-Architektur / Parameter SQL: CREATE TABLE Datenbank-Architektur / 107 ©Η.− 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 / 107 ©Η.− G.Hopf / 27.03.2003

SQL: CREATE TABLE

SW-Architektur / Parameter

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

SQL: CREATE TABLE

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