Professur für Datenbanken Fakultät Informatik Institut für Systemarchitektur 4. Übung - Datenbankadministration ” Tablespaces“ Ziel der Übung. Umgang mit Tablespaces und Bufferpools Tipp: Hinweise zu den einzelnen Lösungen sind in Klammern hinter den Aufgaben angegeben. Aufgaben 1. Aufgabe: Verwaltung von Tabellenbereichen (2 Punkte) Zur Lösung dieser Aufgabe bitte folgende Skripte verwenden: /home/dbadmin/scripts/tpch create.sql, /home/dbadmin/scripts/tpch import clean.sql und /home/dbadmin/scripts/tpch drop.sql. 1. Erstellen Sie eine Datenbank FIRSTDB und überlassen Sie dem Datenbanksystem das Erstellen der Standardtabellenbereiche. (SQL-Statement) 2. Listen Sie die einzelnen Tabellenbereiche der FIRSTDB auf. Geben Sie Namen und ID sowie die Anzahl der Container, den Typ und die Gesamtanzahl der allokierten Seiten der einzelnen Tabellenbereiche an.(SQL-Statements + Ergebnisse in Textform) 3. Löschen Sie den Usertabellenbereich der FIRSTDB und versuchen Sie die Daten des TPC-H Benchmarks zu importieren. Falls der Import fehlschlagen sollte, geben Sie bitte an (a) wann (beim Erstellen des Schemas, beim Importieren der Daten, ...) und (b) warum dies passiert und (c) versuchen Sie außerdem das Problem zu lösen, ohne die Datenbank neu anzulegen. Importieren Sie nun das TPC-H Benchmark erneut. (SQL-Statements und Ergebnisse in Textform) 4. Löschen Sie die Datenbank FIRSTDB. (SQL-Statements) 1 Professur für Datenbanken Fakultät Informatik Institut für Systemarchitektur 2. Aufgabe: Verwaltung von Tabellenbereichen (5 Punkte) Zur Lösung dieser Aufgabe bitte folgende Skripte verwenden: /home/dbadmin/scripts/tpch create.sql, /home/dbadmin/scripts/tpch import clean.sql und /home/dbadmin/scripts/tpch drop.sql. 1. Erstellen Sie erneut die Datenbank FIRSTDB unter Verwendung der folgenden Tabellenbereiche: SYSCATSPACE: Container (vom System verwaltet): /home/<login>/firstdb/syscatspace EXTENTSIZE: 32 Seiten PREFETCHSIZE: 32 Seiten USERSPACE1: Container 1 (von Datenbank verwaltet): /home/<login>/firstdb/firstuser1, 1024 Seiten Container 2 (von Datenbank verwaltet): /home/<login>/firstdb/firstuser2, 512 Seiten TEMPSPACE1: Container (vom System verwaltet) /home/<login>/firstdb/tempspace1 EXTENTSIZE: 32 Seiten PREFETCHSIZE: 64 Seiten 2. Listen Sie die Details der einzelnen Tabellenbereiche der FIRSTDB auf. Geben Sie Details aller Container je Tabellenbereich aus. (SQL-Statements + Ergebnisse in Textform) 3. Versuchen Sie die Daten des TPC-H Benchmarks zu importieren. Falls der Import fehl schlagen sollte, geben Sie bitte an (a) wann und (b) warum dies passiert. Führen Sie anschließend das Skript tpch drop.sql“ aus. (SQL-Statements und Ergeb” nisse in Textform) 4. Erstellen Sie im User-Tabellenbereich einen weiteren Container ( firstuser3“, 1024 Sei” ten). Benutzen Sie dabei den selben Pfad, den Sie für die Container firstuser1“ und ” firstuser2“ verwendet haben. Ändern Sie außerdem die Anzahl der allozierten Seiten ” des Containers firstuser2“ auf 4096. (SQL-Statements) ” 5. Geben Sie die allozierten Seiten und die Anzahl der Container für den UserTabellenbereich an. Listen Sie weiterhin alle Informationen der Container auf. (SQLStatements und Ergebnisse in Textform) 6. Versuchen Sie die Daten des TPC-H Benchmarks zu importieren. Falls der Import fehlschlagen sollte, geben Sie bitte an a) wann und b) warum dies passiert. Begründen Sie andernfalls den Erfolg des Imports. Löschen Sie anschließend die Datenbank. (SQLStatements und Ergebnisse in Textform) 2 Professur für Datenbanken Fakultät Informatik Institut für Systemarchitektur 3. Aufgabe: Datenbankpuffer (1.5 Punkte) 1. Erstellen Sie erneut eine Datenbank FIRSTDB und überlassen Sie dem Datenbanksystem das Erstellen der Standardtabellenbereiche. (SQL-Statement) 2. Erstellen Sie einen Pufferpool TEMPPOOL mit einer festen Größe von 1000 Seiten (je 4 Kilobyte). Ändern Sie den Tabellenbereich TEMPSPACE1 und weisen Sie diesem den neuen Pufferpool zu. (SQL-Statements) 3. Bestimmen Sie mit Hilfe von SQL-Anfragen die Gesamtgröße aller Datenbankpuffer in Bytes! (SQL-Statements + Erklärung in Textform) Tipp: Das Attribut NPAGES bezeichnet die Anzahl der Seiten des Puffers, PAGESIZE die Anzahl der Bytes pro Seite. Die Größe muss für automatisch optimierte Puffer (für diese ist NPAGES=-2) anders bestimmt werden als für solche, die manuell konfiguriert werden. 4. Löschen Sie die Datenbank FIRSTDB. (SQL-Statement) 4. Aufgabe: Zertifizierungsvorbereitung (1.5 Punkte) Die hier gestellten Fragen sind an die Zertifizierungsfragen angelehnt. 1. An instance named DB2INST1 exists on a server and the DFTDBPATH Database Manager configuration parameter for that instance contains the value /home“. If no ” databases exist on the server and the following command is executed: CREATE DATABASE my db Where will the metadata files for the database reside? A. In the /home/NODE0000/SQL00001 subdirectory. B. In the /home/db2inst1/NODE0000/SQL00001 subdirectory. C. In the /home/NODE0000/SQL00001/MY DB subdirectory. D. In the /home/db2inst1/NODE0000/SQL00001/MY DB subdirectory. 2. If the following CREATE DATABASE command is executed: CREATE DATABASE sales ON /mnt/data1, /mnt/data2 COLLATE USING IDENTITY CATALOG TABLESPACE MANAGED BY SYSTEM USING (’mtn/syscat’); Which of the following statements is NOT true about the resulting database? A. Automatic storage is enabled for the database. B. An SMS Tablespace will be used to hold the system catalog. C. User data will be stored on /mnt/data1 and /mnt/data2. D. Metadata for the database will be stored on /mnt/data2. 3. If the following CREATE TABLESPACE statement is executed: CREATE REGULAR TABLESPACE sales ts PAGESIZE 4096 MANAGED BY DATABASE USING 3 Professur für Datenbanken Fakultät Informatik Institut für Systemarchitektur (FILE ’D:\tbsp1.tsf’ 10G, FILE ’D:\tbsp2.tsf’ 6G, FILE ’D:\tbsp3.tsf’ 4G’) EXTENTSIZE 32 PREFETCHSIZE 96; What is the maximum amount of data that can be stored in the SALES TS table space? A. 10GB B. 12GB C. 16GB D. 20GB Abgabe Bitte senden Sie alle Lösungen in Form eines einzigen SQL-Skripts bis zum Montag, den 15.11.2015, an Martin Kettel ([email protected]). Für Lösungen von Textaufgaben bitte Kommentare innerhalb des SQL-Skripts einfügen. Bitte Namen und Instanz (db2insXX) als Kommentar mit einfügen. Das Lesen der Tutorials ist eine wesentliche Voraussetzung zur erfolgreichen Absolvierung der Zertifizierung! Wir empfehlen daher, schrittweise während des Semesters diese entsprechend der aktuellen Vorlesungsthemen durchzugehen. 4