25
Otto-von-Guericke-Universität Magdeburg 1 Gamal Kassem 4 4 DB-Administration DB-Administration

Otto-von-Guericke-Universität Magdeburg 1Gamal Kassem 4 DB-Administration

Embed Size (px)

Citation preview

Page 1: Otto-von-Guericke-Universität Magdeburg 1Gamal Kassem 4 DB-Administration

Otto-von-Guericke-Universität Magdeburg 1 Gamal Kassem

44

DB-AdministrationDB-Administration

Page 2: Otto-von-Guericke-Universität Magdeburg 1Gamal Kassem 4 DB-Administration

Otto-von-Guericke-Universität Magdeburg 2 Gamal Kassem

Integration Operationen, Anfragesprache Katalog Benutzersichten Konsistenzüberwachung Datenschutz Transaktionen Synchronisation des Mehrbenutzerbetriebs Datensicherheit Oracle biete alles Wie macht das SAP

Anforderungen an DBMSAnforderungen an DBMS

Page 3: Otto-von-Guericke-Universität Magdeburg 1Gamal Kassem 4 DB-Administration

Otto-von-Guericke-Universität Magdeburg 3 Gamal Kassem

Datenbank-R/3-KommunikationDatenbank-R/3-Kommunikation

R/3 applicaton

server

Database server

R/3 Work processR/3 Work process

R/3 Work process

Listener

ShadowShadow

Shadow

Net8 TCP/IP

R/3 Work process

Net8 IPC

Shadow

Page 4: Otto-von-Guericke-Universität Magdeburg 1Gamal Kassem 4 DB-Administration

Otto-von-Guericke-Universität Magdeburg 4 Gamal Kassem

Überblick: Oracle ArchitekturÜberblick: Oracle Architektur

SM

ON

PM

ON

CK

PT

AR

CH

LG

WR

DB

WR

Sha

dow

Sha

dow

Sh a

dowListener Process

Redo log buffer

Database buffer Pool

Shared Pool

SGA

Mem

ory

Are

a

Database files profile Control files Data filescOnline redolog

files Offline redo log files

Processes

Page 5: Otto-von-Guericke-Universität Magdeburg 1Gamal Kassem 4 DB-Administration

Otto-von-Guericke-Universität Magdeburg 5 Gamal Kassem

Schreiben der Data und Log Schreiben der Data und Log filesfiles

SGA

Database buffer pool

Redo log buffer

Profile

Control files

Data files

Online redo log files

Offline redo log files

CKPT

DBWR

LGWR

ARCH

(saparch)

Page 6: Otto-von-Guericke-Universität Magdeburg 1Gamal Kassem 4 DB-Administration

Otto-von-Guericke-Universität Magdeburg 6 Gamal Kassem

Oracle-SpeicherstrukturenOracle-Speicherstrukturen

Page 7: Otto-von-Guericke-Universität Magdeburg 1Gamal Kassem 4 DB-Administration

Otto-von-Guericke-Universität Magdeburg 7 Gamal Kassem

Tablespace-KonzeptTablespace-Konzept

Steuerung und Kontrolle der Speicherbelegung Speicherallokation über mehrere Plattenlaufwerke Strukturierung der DB nach konzeptionellen

Geschichtspunkten Optimierung nach physischen Gesichtspunkten Steuerung der Verfügbarkeit Durchführung partieller Backups

Page 8: Otto-von-Guericke-Universität Magdeburg 1Gamal Kassem 4 DB-Administration

Otto-von-Guericke-Universität Magdeburg 8 Gamal Kassem

Tablespace-KonzeptTablespace-Konzept

Wichtige Objektsparameter:

- Next - MAXEXTENT - UNLIMITED

Page 9: Otto-von-Guericke-Universität Magdeburg 1Gamal Kassem 4 DB-Administration

Otto-von-Guericke-Universität Magdeburg 9 Gamal Kassem

NamenskonventionNamenskonvention

Name eines Tabelspaces besteht aus– Prefix: PSAP– Abkürzung: <TS_Name>– Erweiterung: D (Data) oder I (Index)

Page 10: Otto-von-Guericke-Universität Magdeburg 1Gamal Kassem 4 DB-Administration

Otto-von-Guericke-Universität Magdeburg 10 Gamal Kassem

SAP R/3 – TablespacesSAP R/3 – Tablespaces

Prefix Tablespace name Ext. Meaning Used by

SYSTEM Oracle DDIC Oracle RDBMS

PSAP ROLL Rollback segments Oracle RDBMS

PSAP TEMP Sort processes Oracle RDBMS

PSAP EL<Release> D or I Development environment loads R/3 Basis

PSAP ES<Release> D or I Development environment sources R/3 Basis

PSAP LOAD D or I Screen and report loads (ABAP) R/3 Basis

PSAP SOURCE D or I Screen and report sources (ABAP) R/3 Basis

PSAP DDIC D or I ABAP Dictionary R/3 Basis

PSAP PROT D or I Log-like tables (for example, spool) R/3 Applications

PSAP CLU D or I Cluster tables R/3 Applications

PSAP POOL D or I Pool tables (for example, ATAB) R/3 Applications

PSAP STAB D or I Master data and transparent tables R/3 Applications

PSAP BTAB D or I Transaction data, transparent tables R/3 Applications

PSAP DOCU D or I Documentation, SAPscript, SAPfind R/3 Applications

PSAP USER1 D or I Customer tables R/3 Applications

Page 11: Otto-von-Guericke-Universität Magdeburg 1Gamal Kassem 4 DB-Administration

Otto-von-Guericke-Universität Magdeburg 11 Gamal Kassem

FragmentierungsartenFragmentierungsarten

Interne Fragmentierung– Beim Löschen eines Datensatzes einer Tabelle

entstehen sogenannte gaps (freie Speicherplätze) innerhalb des entsprechenden Oracle-Blocks.

– Durch die Durchführung von Reorganisation kann Oracle diese wiederbenutzen

Externe Fragmentierung– Beim Löschen von tablespace-Objekten (z.B. Tabelle)

werden die dazugehörenden Extents freigegeben– Neues EXTENT „NEXT-Extent“ werden das

freigegebenen Extent „besetzen“ wenn es gleich groß oder kleiner ist.

» Space critical object

– Reorganisation

Page 12: Otto-von-Guericke-Universität Magdeburg 1Gamal Kassem 4 DB-Administration

Otto-von-Guericke-Universität Magdeburg 12 Gamal Kassem

Analyse der FragmentierungAnalyse der Fragmentierung(DB24)(DB24)

Page 13: Otto-von-Guericke-Universität Magdeburg 1Gamal Kassem 4 DB-Administration

Otto-von-Guericke-Universität Magdeburg 13 Gamal Kassem

Sapdba –checkSapdba –check

Das Tool sapdba mit der Option „-check“ überprüft:

Die Extets von Tabellen und Indizen Die Datenbank-Konsistenz Fehler-Nachrichten Das DB-Parameter „init<SID>.ora“ Datenbankprobleme bezüglich der R/3-

Umgebung

Page 14: Otto-von-Guericke-Universität Magdeburg 1Gamal Kassem 4 DB-Administration

Otto-von-Guericke-Universität Magdeburg 14 Gamal Kassem

Erweiterung von TablespaceErweiterung von Tablespace

Mit Hilfe von sapdba kann ein Tablespace durch Zufügung von neuen data file oder „Resizing“ (Vergrößern) der Data file erweitert werden.

Page 15: Otto-von-Guericke-Universität Magdeburg 1Gamal Kassem 4 DB-Administration

Otto-von-Guericke-Universität Magdeburg 15 Gamal Kassem

GrößenkategorieGrößenkategorie der SAP- der SAP-DatenbankobjekteDatenbankobjekte

Page 16: Otto-von-Guericke-Universität Magdeburg 1Gamal Kassem 4 DB-Administration

Otto-von-Guericke-Universität Magdeburg 16 Gamal Kassem

Sapdba –nextSapdba –next

26214401310720655360

327680163840

81920409602048010240256064016040

Beispiel: sapdba –next

Größe der Tabelle: 800 MB

10 %: 80000 KB

Gegenwärtigen NEXT: 10240 KB

NEXT-Kandidat: 80000 KB

TGORA in KB

nächste kleinerer WERT

nächste größerer WERT81920

Gegenwärtiges NEXT

NEXT-Kandidat

Neue Wert für NEXT= 81920

Page 17: Otto-von-Guericke-Universität Magdeburg 1Gamal Kassem 4 DB-Administration

Otto-von-Guericke-Universität Magdeburg 17 Gamal Kassem

Sapdba –nextSapdba –next

Das sapdba mit Option –next berechnet die Größe des NEXT-Parameter eines SAP-Datenbankobjektes anhand folgender Algorithmen;

Allokierter Speicher des Objktes wird durch 10 devidiert. Dieser Wert ( auch als NEXT-Kandidat bezeichnet ) wird mit dem

gegenwärtigen Next des Objektes verglichen. Wenn der gegenwärtigen Next größer ist als der als NEXT-Kandidat,

wird keine Änderung an die Größe von NEXT vorgenommen. Wenn aber der gegenwärtige NEXT kleiner als der NEXT-Kandidat ist

wird die Größe von NEXT geändert– Der nächste kleinere WERT auf TGORA bzw. IGORA wird übernommen,

wenn die Differenz zwischen dem NEXT-Kandidat und dem nächsten kleineren Wert auf TGORA bzw. IGORA kleiner als 5 KB ist, ansonsten wird der nächste größere Wert auf TGORA bzw. IGORA übernommen.

Page 18: Otto-von-Guericke-Universität Magdeburg 1Gamal Kassem 4 DB-Administration

Otto-von-Guericke-Universität Magdeburg 18 Gamal Kassem

Optimierung von SQL-Optimierung von SQL-AnweisungenAnweisungen

Optimierung der SQL-Anweisung geht über die folgende Schritte;– Analyse– Identifizierung– Optimierung von

» Sekundärindizes

und / oder » SQL-Anweisung im ABAP-Programm

Page 19: Otto-von-Guericke-Universität Magdeburg 1Gamal Kassem 4 DB-Administration

Otto-von-Guericke-Universität Magdeburg 19 Gamal Kassem

Auswirkung der teueren SQL-Auswirkung der teueren SQL-Anweisungen auf das Anweisungen auf das GesamtsystemGesamtsystem

CPU-Auslastung und hohe Schreib/Lese-Last

Blockierung die SAP-Workprozesse für lange Zeit

Durch das Lesen von vielen Datenblöcken werden Daten anderer SQL-Anweisungen in der Datenpuffer verdrängt

Page 20: Otto-von-Guericke-Universität Magdeburg 1Gamal Kassem 4 DB-Administration

Otto-von-Guericke-Universität Magdeburg 20 Gamal Kassem

Analyse der „Shared SQL Area“Analyse der „Shared SQL Area“(ST04)(ST04)

Page 21: Otto-von-Guericke-Universität Magdeburg 1Gamal Kassem 4 DB-Administration

Otto-von-Guericke-Universität Magdeburg 21 Gamal Kassem

Felder der Shared SQL AreaFelder der Shared SQL Area(ST04)(ST04)

Total Execution: Anzahl der Ausführungen der Anweisungen seit Datenbankstart

Disk Reads: Anzahl der physischen Lesezugriffe (Blocks) aus der Platte, die für alle Ausführungen der Anweisung benötigt wurden

Reads/Execution: Anzahl der physischen Lesezugriffe, die im Durchschnitt per Ausführung einer Anweisung benötigt wurden

Buffer Gets: Anzahl der logischen Zugriffe, die für alle Ausführungen der Anweisung benötigt wurden

Gets/Execution: Anzahl der logischen Lesezugriffe, die im Durchschnitt per Ausführung einer Anweisung benötigt wurden

Page 22: Otto-von-Guericke-Universität Magdeburg 1Gamal Kassem 4 DB-Administration

Otto-von-Guericke-Universität Magdeburg 22 Gamal Kassem

Identifizierung der teueren SQL-Identifizierung der teueren SQL-AnweisungenAnweisungen

Anweisungen, die mehr als 5% der gesamten logischen oder 2% physischen Zugriffe der Datenbank ausmachen

Anweisungen mit hoher Anzahl von logischen bzw. physischen Lesezugriffen

Anweisungen mit hoher Anzahl von Puffer Gets pro Record– Ist der Ausführungsplan der Anweisung geeignet ?

Anweisungen mit hoher Anzahl von Records pro Ausführung– Kann man die ABAP-Anweisung optimieren?

Page 23: Otto-von-Guericke-Universität Magdeburg 1Gamal Kassem 4 DB-Administration

Otto-von-Guericke-Universität Magdeburg 23 Gamal Kassem

Optimierer-StatistikenOptimierer-Statistiken

Die Entscheidung über den benutzten Zugriffspfad zu einer Tabelle für eine SQL-Anweisung heißt „Ausführungsplan“ und wird von dem so genannten Datenbankoptimierer ermittelt

Um den Ausführungsplan zu erstellen („Parsen“) braucht der Datenbankoptimierer Informationen über die Tabelle (Statistiken)

Für die Erstellung der Statistiken führt man die so genannte „Zwei-Phasen-Strategie“

Page 24: Otto-von-Guericke-Universität Magdeburg 1Gamal Kassem 4 DB-Administration

Otto-von-Guericke-Universität Magdeburg 24 Gamal Kassem

Zwei-Phasen-StrategieZwei-Phasen-Strategie

-checkopt

sapdba

Steuerungstabelle

DBSTATC

-checkoptsapdba

Sapdba – checkopt psap% Sapdba – analyze DBSTATCO

Phase I Phase II

Page 25: Otto-von-Guericke-Universität Magdeburg 1Gamal Kassem 4 DB-Administration

Otto-von-Guericke-Universität Magdeburg 25 Gamal Kassem

Übung 5 – DatenbanksystemÜbung 5 – Datenbanksystem

Starten Sie DB02– Welche drei Tablespaces sind am größten?– Welche drei Tablespaces sind am weitesten gefüllt?– Welche Parameter gibt es zu PSAPUSER1I?

» Erklären Sie die Bedeutung der Parameter

Welche Aktionen zeigt der Datenbankeinplanungskalender DB13?

Welche Fehlermeldungen gibt das DB-Check-Protokoll aus?