260 likes | 380 Views
4. DB-Administration. Anforderungen an DBMS. Integration Operationen, Anfragesprache Katalog Benutzersichten Konsistenzüberwachung Datenschutz Transaktionen Synchronisation des Mehrbenutzerbetriebs Datensicherheit Oracle biete alles Wie macht das SAP. Datenbank-R/3-Kommunikation.
E N D
4 DB-Administration
Anforderungen an DBMS • Integration • Operationen, Anfragesprache • Katalog • Benutzersichten • Konsistenzüberwachung • Datenschutz • Transaktionen • Synchronisation des Mehrbenutzerbetriebs • Datensicherheit • Oracle biete alles • Wie macht das SAP
Datenbank-R/3-Kommunikation Database server R/3 applicaton server R/3 Work process Net8 TCP/IP Net8 IPC R/3 Work process Listener R/3 Work process R/3 Work process Shadow Shadow Shadow Shadow
LGWR DBWR ARCH CKPT PMON SMON Überblick: Oracle Architektur Listener Process Shadow Shadow Shadow Processes Memory Area Database buffer Pool Redo log buffer SGA Shared Pool Online redolog files Database files profile Control files Data filesc Offline redo log files
Schreiben der Data und Log files SGA Profile Control files CKPT DBWR Data files Database buffer pool LGWR Online redo log files Redo log buffer ARCH Offline redo log files (saparch)
Tablespace-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
Tablespace-Konzept Wichtige Objektsparameter: - Next - MAXEXTENT - UNLIMITED
Namenskonvention • Name eines Tabelspaces besteht aus • Prefix: PSAP • Abkürzung: <TS_Name> • Erweiterung: D (Data) oder I (Index)
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 SAP R/3 – Tablespaces
Fragmentierungsarten • 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
Sapdba –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
Erweiterung 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.
2621440 1310720 655360 327680 163840 81920 40960 20480 10240 2560 640 160 40 Sapdba –next TGORA in KB Beispiel: sapdba –next Größe der Tabelle: 800 MB 10 %: 80000 KB Gegenwärtigen NEXT: 10240 KB NEXT-Kandidat: 80000 KB nächste größerer WERT 81920 NEXT-Kandidat nächste kleinerer WERT Neue Wert für NEXT= 81920 Gegenwärtiges NEXT
Sapdba –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.
Optimierung von SQL-Anweisungen • Optimierung der SQL-Anweisung geht über die folgende Schritte; • Analyse • Identifizierung • Optimierung von • Sekundärindizes und / oder • SQL-Anweisung im ABAP-Programm
Auswirkung der teueren SQL-Anweisungen auf das Gesamtsystem • 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
Felder der Shared SQL Area(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
Identifizierung der teueren SQL-Anweisungen • 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?
Optimierer-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“
Zwei-Phasen-Strategie Steuerungstabelle Phase I Phase II DBSTATC sapdba -checkopt -checkopt sapdba Sapdba – checkopt psap% Sapdba – analyze DBSTATCO
Ü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?