Aufbau einer Oracle Datenbank

Ähnliche Dokumente
Aufbau einer Oracle Datenbank Tablespace, Arten von Dateien

Datenbank Objekte (Tabellen, Segemente, Extents, Blöcke)

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

Philipp Nebel, 05 IN. Speicherung von Datenbank-Objekten in Oracle

Ausarbeitung Datenbanken II Aufbau einer Oracle-Datenbank

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

Tablespaces und Datendateien

3. Architektur eines DBS (Oracle)

Oracle Backup und Recovery

Physische Datenbankdefinition in. Arthur Bauer

AUFBAU EINER ORACLE DATENBANK MARTIN CLAUS & UWE GÄRTNER

Oracle Backup und Recovery mit RMAN

Oracle Datenbankadministration Grundlagen

DOAG München Die etwas anderen Oracle Performance-Tipps. Marco Patzwahl

Relationales Datenbanksystem Oracle

Oracle Flashback. in der Praxis Dr. Frank Haney 1

Index- und Zugriffsstrukturen für. Holger Brämer, 05IND-P

Oracle Database 12c Was Sie immer schon über Indexe wissen wollten

Oracle 9i Einführung Performance Tuning


Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur

Oracle Datenbank - Recovery

Oracle 9i Einführung Performance Tuning

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

Oracle Database 11g: Administration Workshop I Neu

Oracle 9i Einführung Performance Tuning

Flashback mal sieben. DOAG Konferenz , Nürnberg. Klaus Reimers

Partitionierung Indizes und Statistiken

Oracle 10g Einführung

Backup & Recovery in Oracle 11g Funktionen und Features

... Tablespaces und Datendateien verwalten

SQL (Structured Query Language) Schemata Datentypen

Inhaltsverzeichnis. Inhalt. 1 Einführung in die Datenbanktechnologie

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7

Prozessarchitektur einer Oracle-Instanz

Oracle Datenbank 11g Advanced Compression Option

Erzeugung und Veränderung von Tabellen

DOAG Demo Kino: Advisors, Monitoring Werkzeuge in der Datenbank Ulrike Schwinn Business Unit Database Oracle Deutschland B.V.

Partitioning Technik und Anwendungsbeispiele

Architektur moderner Datenbanksysteme

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle.

Datenbanken Konsistenz und Mehrnutzerbetrieb III

Naxtron GmbH Schlosstalstrasse Winterthur. Subject. New Features Oracle 9i Architecture

Arbeiten mit einem lokalen PostgreSQL-Server

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

Oracle9i Designer. Rainer Willems. Page 1. Leitender Systemberater Server Technology Competence Center Frankfurt Oracle Deutschland GmbH

Partitioning mit Oracle Text 9i

Andrea Held. Motivation ILM: Definition und Strategien Lösungen für Oracle Datenbanken. Empfehlungen

<Insert Picture Here> Verschlüsselung in der Datenbank

SODA. Die Datenbank als Document Store. Rainer Willems. Master Principal Sales Consultant Oracle Deutschland B.V. & Co. KG

DOAG Regionaltreffen TABLE REORG. Klaus Reimers. Leiter Beratung & Entwicklung, ORDIX AG, Paderborn

Cluster-Bildung. VL Datenbanken II 4 107

Performante Verarbeitung großer Datenbanken am praktischem Beispiel

Datenbanken und Oracle, Teil 2

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

Oracle Core für Einsteiger: Datenbank I/O

Flashback Früher war alles besser Marion Mahr Daniel Schulz Flashback Früher war alles besser

IT-Symposium 2004 Experten im Dialog

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13

IBM DB2 für Unix/Linux/Windows SQL Grundlagen

Abfragen (Queries, Subqueries)

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

Gliederung. 1) Speicherplatz-Zuordnung und -Verwaltung 2) Indizes 3) Explain Plan 4) Join-Operationen 5) Der Optimizer 6) Parallelisieren

Oracle 9i Einführung. Performance Tuning. Kurs. Teil 9 Sortiervorgänge. Universität Hannover. Sortiervorgänge. Migration. Konfiguration.

Partitionierung Indizes und Statistiken

<Insert Picture Here> Security-Basics. Privilegien, Rollen, SQL und PL/SQL - inkl. 12c-Update. Carsten Czarski, ORACLE Deutschland B.V. Co.

5.8 Bibliotheken für PostgreSQL

Datenbankadministration

IBM Informix SQL. Seminarunterlage. Version vom

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

Übung PL/SQL Trigger Lösungen

Oracle Streams Doag Vortrag Claus Cullmann

select DISTINCT Name, ort From Verkauf; selektiert Name und Ort von Tabelle Verkauf - DISTINCT steht dass keine Zeile mehrfach vorkommt

Agenda. FRA Was ist das? Warum sollte die FRA genutzt werden? FRA INIT Paramter Verzeichnisstruktur (Beispiel) Überwachung der Flash Recovery Area

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

Bibliografische Informationen digitalisiert durch

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15

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

Es geht also um die sogenannte SQL- Data Definition Language.

Automatisierte Datenmigration mit dynamischen SQL


IT-Symposium Heinz-Wilhelm Fabry Oracle Deutschland GmbH. 1

Oracle SQL Developer Data Modeling

Professioneller Einstieg in Oracle Database 11g SQL

SQL - Datenbankdesign - Aufbau

... Kontrolldatei administrieren

Partitionieren über Rechnergrenzen hinweg


Oracle 10g Einführung

Betriebssysteme K_Kap11B: Files, Filesysteme Datenstrukturen

Naxtron GmbH Schlosstalstrasse Winterthur. Subject. New Features Oracle 9i Tuning. Edo Bezemer. Author

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion

Datenbanken II. Datenbankobjekte. von Werner Hahn, 05IND-P - 1 -

Nützliche Oracle 12c Features für Data Warehousing DOAG BI, 8. Juni 2016 Dani Schnider, Trivadis AG

MCSA: SQL 2016 Database Development

Einführung in SQL Datenbanken bearbeiten

Transaktionsverwaltung

Transkript:

Aufbau einer Oracle Datenbank Eike Florian Petersen 29. Juni 2015

Inhaltsverzeichnis 1. Tablespaces 1.1 Konzept, Arten 1.2 Operationen 2. Arten von Dateien 2.1 Datendateien 2.2 Redolog-Dateien 2.3 Control-Dateien 3. Oracle DB Objekte 3.1 Segmente, Extents, Blöcke 3.2 Tabelle 4. Oracle Data Dictionary 5. Physische DB-Definition 5.1 Tabellen Cluster 5.2 Index-Organisierte Tabelle 5.3 Partitionierung 5.4 STORAGE-Klausel 5.5 Create Index

1.1 Tablespaces - Konzept, Arten Ein Tablespace (deutsch Tabellenraum) bezeichnet einen Speicherort (ein oder mehrere Dateien), in dem Tabellen, Indizes und andere Datenobjekte abgelegt werden. Er dient zur Trennung der logischen und physischen Speicherung. Arten des Dateizugriffs 1 : SMS - Operation System Managed Storage DMS - Database Managed Storage Tablespace Arten in Oracle 2 : System Tablespace Sysaux Tablespace Rollback- / Undo Tablespace Tablespace für temporäre Daten 1 https://de.wikipedia.org/wiki/tablespace 2 http://docs.oracle.com/cd/b19306 01/server.102/b14220/physical.htm#i2006

1.1 Tablespaces - Konzept, Arten System Tablespace 3 obligatorischer Tablespace (erzeugt beim Anlegen der Datenbank) kann nicht gelöscht oder umbenannt werden ist immer online wenn die Datenbank offen ist (Zugriffe sind möglich) 4 enthält: Data Dictionary und PL/SQL Code (Prozeduren, Funktionen, Pakete, Trigger, Datentypdefinitionen,...) schreibgeschützt für normale Anwender (kein direkter Zugriff) wird im Standard in mehreren Datendateien abgelegt 3 http://docs.oracle.com/cd/b19306 01/server.102/b14220/physical.htm#i15436 4 http://docs.oracle.com/cd/b19306 01/server.102/b14220/physical.htm#i2481

1.1 Tablespaces - Konzept, Arten Sysaux Tablespace 5 obligatorischer Tablespace seit Version Oracle 10g R1 kann nicht gelöscht oder umbenannt werden ist immer online wenn die Datenbank offen ist (Zugriffe sind möglich) 6 Entlastung des System Tablespace durch Übername nicht systemrelevanter Daten enthält: - Objekte des Benutzers - Objekte des Systems - Oracle Enterprise Manager - Stored Outlines (optimizer hints) 7 - Oracle Warehouse Builder -... 5 http://docs.oracle.com/cd/b19306 01/server.102/b14220/physical.htm#BABEBBDI 6 OCP: Oracle 10g New Features for Administrators Study Guide von Bob Bryla,Biju Thomas, p.197/198 7 http://docs.oracle.com/cd/b19306 01/server.102/b14211/outlines.htm#g35579

1.1 Tablespaces - Konzept, Arten Rollback- / Undo Tablespace 8 Speicherung von Undo-Segmenten (z.b. Before Images,...) Rollback von Transaktionen 8 Oracle Backup und Recovery - Das Praxisbuch von Christine Gschoßmann,Klaus Langenegger

1.1 Tablespaces - Konzept, Arten Tablespace für temporäre Daten (Default Temporary Tablespace) 8 optional - Fallback bei Löschung auf System Tablespace 10 Kann ersetzt werden durch bigfile temporary tablespace (benutzt Tempdateien anstelle von Datendateien) 9. Angekündigt das er in den nächsten Releases erzwungen wird wird implizit angelegt und verwaltet Operationen: (in Temporärsegmenten) 15 - CREATE INDEX - SELECT (ORDER BY, DISTINCT, GROUP BY, UNION, INTERSECT, MINUS) 8 Oracle Backup und Recovery - Das Praxisbuch von Christine Gschoßmann,Klaus Langenegger 9 http://docs.oracle.com/cd/b19306 01/server.102/b14220/physical.htm#i10741 10 http://docs.oracle.com/cd/b28359 01/server.111/b28318/physical.htm#CNCPT401 15 http://docs.oracle.com/cd/b28359 01/server.111/b28318/logical.htm#CIHGFAHD

1.1 Tablespaces - Konzept, Arten zusätzliche mögliche Tablespaces 8 Tablespace für Daten einer Anwendung - Z.B. zum Überwachen, separatem Recovery, schnellere I/O Tablespace für Indizes - Z.B. schnellere I/O Tablespace für Nutzerdaten, Partitionen, sehr große Objekte (bigfile tablespace) 8 Oracle Backup und Recovery - Das Praxisbuch von Christine Gschoßmann,Klaus Langenegger

1.2 Tablespaces - Operationen CREATE TABLESPACE ALTER TABLESPACE DROP TABLESPACE Tablespace Typen: permanent Tablespace undo Tablespace temporärer Tablespace Optionen: read/write Operationen ändern offline/online setzen Daten-/Tempdateien hinzufügen UNIFORM (alle Extents sind gleich groß) AUTOALLOCATE (Oracle nutzt Erwartungsgröße) 11 http://docs.oracle.com/cd/b19306 01/server.102/b14200/statements 7003.htm

2.1 Arten von Dateien - Datendateien Datendateien (Data files) sind die physische Komponente zu den logischen Tablespaces 10. Unterschiedliche Segmenttypen: Smallfile (max. 128 GB) - max. 4 Mio Blöcke - Standard Bigfile (max. 128 TB) - max. 4 Mrd Blöcke - nur ein Daten- /Tempfile möglich - Extent management dictionary wird nicht unterstützt - div. Hinweise und Warnungen im Zusammenhang mit Parallelität und Plattenplatzbeschränkungen (siehe auch Quelle 11) Vergrößerung mit weiteren Datendateien möglich Mögliche Blockgrößen: {2KB, 4KB, 8KB, 16KB, 32KB} 10 http://docs.oracle.com/cd/b28359 01/server.111/b28318/physical.htm#CNCPT401 11 http://docs.oracle.com/cd/b28359 01/server.111/b28318/physical.htm#CNCPT1083

2.2 Arten von Dateien - Redolog-Dateien protokollieren Transaktionen speichern abwechselnd in min. 2 Redolog-Dateien 2 Modi: - ARCHIVELOG eine Änderung ist für den Log Writer (LGWR) verfügbar nachdem sie in das Datafile geschrieben und archiviert wurde - NOARCHIVELOG die Änderung braucht nicht archiviert zu werden. Wenn ARCHIVELOG aktiviert ist kann ein volles altes Logfile nicht überschrieben werden. 12 12 http://docs.oracle.com/cd/b19306 01/server.102/b14231/onlineredo.htm#i1006163

2.3 Arten von Dateien - Control-Dateien Jede Oracle Datenbank hat ein Control file, welches eine kleine binär Datei mit der physikalischen Struktur der Datenbank ist. 13 Dieses enhält: den Datenbanknamen Namen und Pfade der verknüpften Daten- und Redolog-Dateien Den Timestamp der Datenbankerstellung Die aktuelle Log Sequence Number (LSN) Checkpoint-Informationen Ohne die Datei kann die Datenbank nicht gestartet werden. Zur Laufzeit muss eine durchgehende Schreibverfügbarkeit herrschen. 13 http://docs.oracle.com/cd/b28359 01/server.111/b28310/control001.htm#ADMIN11281

3.1 Oracle DB Objekte - Segmente, Extents, Blöcke Blöcke (auch logische Blöcke, Oracle Blöcke oder Seiten) 14 sind die feinste Granularität definiert durch DB BLOCK SIZE Extent Zusammenfassung von mehreren Blöcken Segment Zusammenfassung von mehreren Extents Jede Index/Daten Tabelle hat ihr eigenes Segment 14 http://docs.oracle.com/cd/b28359 01/server.111/b28318/logical.htm#CNCPT004

3.2 Oracle DB Objekte - Tabelle Ein Block sieht immer gleich aus, egal ob eine Tabelle, ein Index oder ein Redolog in ihm liegt. Eine Tabelle liegt innerhalb einer Datendatei und besitzt Segmente und Blöcke aus dieser. 16 http://docs.oracle.com/cd/b28359 01/server.111/b28318/logical.htm#CNCPT1046

4. Oracle Data Dictionary Das Data Dictionary beinhaltet folgende Informationen 17 : Definitionen aller Schema Objekte in der Datenbank (Tabellen, Views, Indizes, Cluster, Synonyme, Sequenzen, Prozeduren, Funktionen, Pakete, Trigger,...) Wie viel Speicher von den Objekten alloziert und genutzt wird Default Werte der Spalten Integritätsinformationen der Constraints Oracle Nutzernamen Privilegien und Rollen aller Nutzer Informationen über Zugriffe und Änderungen vieler Schema Objekte Andere generelle Datenbankinformationen Das Data Dictionary selbst ist in Tabellen und Views strukturiert. Es ist komplett im SYSTEM Tablespace abgelegt. Der User SYS ist owner. 17 https://docs.oracle.com/html/a96524 01/c05dicti.htm

4. Oracle Data Dictionary Keine Ausführung von DML(Data Manipulation Language)-Befehlen zulässig. Aktualisierung erfolgt implizit durch DDL(Data Definition Language)-und DCL(Data Control Language)-Befehle. Der Katalog wird im SGA (directory cache/ in memory) 50 vorgehalten. Jeder Oracle Nutzer nutzt das Data Dictionary implizit und kann es explizit read-only verwenden. 17 https://docs.oracle.com/html/a96524 01/c05dicti.htm 18 http://www.orafaq.com/faq/what are the difference between ddl dml and dcl commands 50 Verweis auf Oracle - Prozessarchitektur von Jonny Rillich

5.1 Physische DB-Definition - Tabellen Cluster optionale Speicherstruktur für Tabellendaten Gruppen von Tabellen (Teilen Spalten, häufig gejoint verwendet), physisch zusammen gespeichert Definition durch cluster key Positiv: Disk I/O s werden reduziert Joins werden beschleunigt Speicherplatz wird gespart Nicht zu empfehlen bei: häufigen Updates in Tabellen häufigen Full Table Scans Wenn die Tabelle mit truncate 20 genutzt wird 19 http://docs.oracle.com/cd/b28359 01/server.111/b28318/glossary.htm#CNCPT2016 20 https://msdn.microsoft.com/en-us/library/ms177570.aspx

5.2 Physische DB-Definition - Index-Organisierte Tabelle Speicher Organisation wie B-Baum Variante Sortiert nach dem Primary Key Tabellendaten werden mit im Index gespeichert zusätzliche sekundäre Indexe sind möglich Vorteile: Zugriffe mit dem Primary Key gehen erheblich schneller Komprimierung (wie bei Indizes) möglich Einschränkungen: keine Cluster möglich keine virtuellen Spalten 21 http://docs.oracle.com/cd/b28359 01/server.111/b28318/schema.htm#CNCPT911 22 Oracle 11g Release 2 für den DBA von Johannes Ahrends

5.3 Physische DB-Definition - Partitionierung Vertikale Partitionierung - Verbinden über Primärschlüssel 23 Horizontale Partitionierung: List 24 CREATE TABLE list customers ( customer id NUMBER(6), cust first name VARCHAR2(20), nls territory VARCHAR2(30)) PARTITION BY LIST (nls territory) ( PARTITION asia VALUES ( CHINA, THAILAND ), PARTITION europe VALUES ( GERMANY, SWITZERLAND, FRANCE ), PARTITION west VALUES ( AMERICA ), PARTITION east VALUES ( INDIA ), PARTITION rest VALUES (DEFAULT)); 23 Taschenbuch Datenbanken von Thomas Kudraß S. 454,455 24 http://docs.oracle.com/cd/b19306 01/server.102/b14200/statements 7002.htm#BABDDEAB

5.3 Physische DB-Definition - Partitionierung Range 24 CREATE TABLE range sales ( prod id NUMBER(6), cust id NUMBER, time id DATE) PARTITION BY RANGE (time id) (PARTITION SALES Q1 1998 VALUES LESS THAN (TO DATE( 01-APR-1998, DD-MON-YYYY )), PARTITION SALES Q2 1998 VALUES LESS THAN (TO DATE( 01-JUL-1998, DD-MON-YYYY )), PARTITION SALES Q3 1998 VALUES LESS THAN (TO DATE( 01-OCT-1998, DD-MON-YYYY )), PARTITION SALES Q4 2000 VALUES LESS THAN (MAXVALUE)); Hash 24 CREATE TABLE hash products ( product id NUMBER(6), product name VARCHAR2(50)) PARTITION BY HASH (product id) PARTITIONS 5 STORE IN (tbs 01, tbs 02, tbs 03, tbs 04); 24 http://docs.oracle.com/cd/b19306 01/server.102/b14200/statements 7002.htm#BABDDEAB

5.4 Physische DB-Definition - STORAGE-Klausel Die STORAGE-Klausel (storage clause) gibt an wie Oracle Datenbanken in Datenbankobjekten gespeichert werden sollen. Sie beeinflusst 25 : Zugriffszeiten Speicherplatzeffizienz STORAGE-Klauseln können immer angegeben/angepasst werden beim Ändern(ALTER) oder Anlegen(CREATE) von: Clustern Indizes Materialisierten Views Rollback Segmenten Tabellen Tablespaces Standards werden vererbt (z.b. STORAGE-Klausel von Tablespace an Inizes innerhalb des Tablespace) 25 http://docs.oracle.com/cd/b19306 01/server.102/b14200/clauses009.htm

5.4 Physische DB-Definition - STORAGE-Klausel INITIAL (min 2* DB BLOCK SIZE) 26 27 Default - 10.240 B Minimum - 4.096 B Maximum - 4.095 MB NEXT (min 5 DB BLOCK SIZE) Default - 5 Blöcke Minimum - 1 Block Maximum - 4.095 MB nur wenn nicht PCTINCREASE MAXEXTENDS - Maximale Anzahl an Extens PCTINCREASE - prozentuale Größenzunahme 26 http://docs.oracle.com/cd/b19306 01/server.102/b14200/clauses009.htm 27 http://oracledba.ezpowell.com/oracle/ddlstorageclause.html

5.5 Physische DB-Definition - Create Index IndexTypen: 28 Normale Indizes (Default: B-Baum) Bitmap Indizes 51 Partitionierte Indizes Funktionsbasierende Indizes Domain Indizes Beispiele: CREATE INDEX ord customer ix ON orders (customer id); CREATE INDEX upper ix ON employees (UPPER(last name)); 28 http://docs.oracle.com/cd/b19306 01/server.102/b14200/statements 5010.htm#i2062403 51 Verweis auf Index- und Zugriffsstrukturen für Data Warehousing von Johannes Elsman