1 / 21

Datenbank-Objekte

Datenbank-Objekte. DB-Objekt Speicherung von Oracle. Inhalt. Allgemeines logische und physische Objekt-Speicherung Tablespaces Segmente Extents Blöcke Datafiles Möglichkeiten zur Optimierung. Allgeimeines : bekannte DB-Objekte.

Download Presentation

Datenbank-Objekte

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Datenbank-Objekte DB-Objekt Speicherung von Oracle

  2. Inhalt • Allgemeines • logische und physische Objekt-Speicherung • Tablespaces • Segmente • Extents • Blöcke • Datafiles • Möglichkeiten zur Optimierung

  3. Allgeimeines : bekannte DB-Objekte • Tabellen (Relationale Tabellen, Objekttabellen, XML Tabellen) • Views • Materialized Views • Indexe • Cluster • Package • Prozeduren, Funktionen, Trigger • Sequenz • Objektypen

  4. Allgeimeines • Oracle speichert den gesamten Datenbestand einer DB in logischen Einheiten • Diese Einheiten haben eine Hierarchie • Grundsätzlich werden Tabellen, Indexe, Cluster usw. als DB-Objekte bezeichnet

  5. Logische Speicherung von DB-Objekten • Jedes Objekt wird in genau einem Segment gespeichert • Jedes Segment besteht aus mindestens einem Extent (Abgrenzung) • Jedes Extent besteht aus Blöcken • Ein Block ist physisch zusammenhänger Plattenspeicher fester Größe • Die Blöcke eines Extents sind auf der Festplatte benachbarte Speicherbereiche

  6. Logische Speicherung von DB-Objekten

  7. Logische Speicherung von DB-Objekten

  8. Tablespace • logische Einheit zum Abspeichern von Objekten • Oracle verwaltet alle Objekte in Tablespaces • besteht aus mindestens einem Datafile • ein Datafile gehört zu genau einem Tablespace

  9. Tablespaces dienen … • ... der Trennung von Daten nach Zusammenhang / Wichtigkeit (SYSTEM-Tablespace) • ... der Verteilung der Daten auf verschiedenen Plattenspeichern z.B für Rollback Informationen (UNDO-Tablespace) • ... Zwischenablage für bestimmte Funktionen, z.B. Zwischenspeicherung beim Sortieren (TEMPORARY Tablespace)

  10. Segment • Jedes DB-Objekt eines Tablespaces wird in genau einem Segment gespeichert. • Partionierung von (großen) DB-Objekten erfolgt über die seperate Speicherung in verschiedenen Segementen.

  11. Extent • Ein Segment besteht aus einem oder meheren Extents • Extents haben ein maximales Fassungsvermögen. Wenn in einem Segment neuer Speicher alloziert werden soll, dann müssen gegebenenfalls neue Extents angelegt werden. • Deshalb sind logisch benachbarte Extents nicht zwingend physisch benachbart.

  12. Block (data block, logical block) • Extents werden in Blöcken alloziert • Blöcke sind die kleinste logische Einheit bei der Objektspeicherung von Oracle • Blöcke beziehen sich auf eine bestimmte Anzahl von aufeinander folgenden Bytes eines Datafiles • mögliche Größen: 2 KB, 4 KB, 8 KB, 16 KB (Parameter : DB_BLOCK_SIZE)

  13. Optimierung : Einstellungsmöglichkeiten • Allozierung von Extents • Auf Objekt-Ebene • Beispiel • Auf Tablespace-Ebene • AUTOALLOCATE • UNIFORM • Beispiel • Größe von Datafiles

  14. Allozierung von Extents • Auf Objekt-Ebene möglich für die meisten CREATE-/ALTER Klauseln • Hier überschreiben die Einstellungen für das jeweilige Objekt die Einstellungen des Tablespaces

  15. Beispiel CREATE TABLE testBeispieltabelle Test ( a number (8), s varchar2 (100) ) TABLESPACE USERS Test wird im Tablespace Users angelegt STORAGE ( initial 1M erstes Extent hat die Größe 1 MBnext 100K nächstes Extent hat die Größe 100 KBminextents 1 maxextents 100 pctincrease 50 Jedes weitere Extent ist 50 % größer als sein Vörgänger );

  16. Allozierung von Extents auf Tablespace-Ebene • Zum einen kann bei der Erstellung eines Tablespaces die generelle Methode zum Allozieren von Extents festgelegt werden. • Es stehen die Methoden UNIFORM und AUTOALLOCATE zum Allozieren zur Verfügung

  17. Allozierung von Extents auf Tablespace-Ebene • AUTOALLOCATE : • Oracle übernimmt die Festlegung der Speichergröße bei der Allozierung neuer Extents. • Dabei wird mit Extents der Größe 64 KB begonnen. Später werden immer größere Extents alloziert • UNIFORM : • Es wird zu Beginn festgelegt, dass alle Extents im Tablespace eine feste Größe haben • Die gewünschte Größe kann dabei angegeben werden, Default : 1 MB

  18. Beispiel CREATE TABLESPACE test_tablespace DATAFILE '/emc/oradata/test_tablespace1.dbf' SIZE 50M EXTENT MANAGEMENT LOCAL AUTOALLOCATE; CREATE TABLESPACE test_tablespace DATAFILE '/emc/oradata/test_tablespace1.dbf' SIZE 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K;

  19. Optimierung • Wenn bekannt ist, wie die DB-Objekte wachsen, dann kann mittels UNIFORM eine Performance-Steigerung erzielt werden, in dem Fragmentierung verringert wird. • Bei AUTOALLOCATE wird möglicherweise zunächst zu wenig Speicher, später zuviel Speicher alloziert. • Wahrscheinlich werden die Speicherbereiche auch nicht aufeinander folgen -> erhöhte I/O–Kosten beim Zugriff • vorallem Scan-Operationen profitieren von großen Extents, da diese zusammenhängenden Plattenspeicher garantieren

  20. Optimierung • Größe von Datafiles bei uniformen Extents • Da Extents hintereinander im Datafile alloziert werden, kann Fragmentierung nur am Ende des Datafiles auftreten (übrige Blöcke, die kein ganzes Extent mehr bilden können) • Oracle verwendet in der Regel den ersten Block jedes Datafiles für interne Steuerinformationen. • Daher sollten Datafiles grundsätzlich folgende Größe haben : Ein ganzzahliges Vielfaches der im Tablespace festgelegten Größe + 1

  21. Fragen ?

More Related