SESAM/SQL-Server Einführung

Werbung
SESAM/SQL-Server V7.0
Funktionale Erweiterungen
Claudia Merfeld
Juli 2011 München
Copyright 2011 FUJITSU
Überblick
 SQL-Schnittstelle
 JDBC Erweiterungen
 Utility Funktionen
 Hochverfügbarkeit
 Administration
 Nutzung neuer OSD-Funktionalität
1
Copyright 2011 FUJITSU
SQL-Schnittstelle
 MERGE Anweisung
Einfügen oder Ändern von Sätzen in einer SQL-Anweisung
 Satz in der Tabelle noch nicht vorhanden
=> Satz wird eingefügt
 Satz in der Tabelle bereits vorhanden
Satz wird geändert
Beispiel Lagerverwaltung:
MERGE INTO Stock AS S USING Delivery AS D
ON S.ItemID = D.ItemID
AND S.Price = D.Price
WHEN MATCHED THEN
/* gleiches Teil und gleicher Preis: Anzahl wird erhöht */
UPDATE SET ItemCount = S.ItemCount +
D.ItemCount
WHEN NOT MATCHED THEN
/* neues Teil oder neuer Preis: Teil wird neu aufgenommen */
INSERT ( ItemID, Price, ItemCount )
VALUES ( D.ItemID , D.Price , D.ItemCount )
2
Copyright 2011 FUJITSU
SQL-Schnittstelle
 LIKE_REGEX Prädikat
 Pattern Matching mit regulären Ausdrücken in SQL, wie z.B. in PERL
 Erheblich größere Funktionalität als mit LIKE Prädikat
Beispiel: Suche nach dem Namen „Meier“ in allen geläufigen
Schreibweisen, unabhängig von Groß- und Kleinschreibung
WHERE Name LIKE_REGEX ’M[ae][iy]e?r’ FLAG ’i’
„Meier“ als regulärer Ausdruck
Keine Unterscheidung zwischen
Groß- und Kleinschreibung
3
Copyright 2011 FUJITSU
SQL-Schnittstelle
 CASTABLE Prädikat
Prüfung der Konvertierbarkeit von Werten im SQL Statement
Beispiel:
CASE WHEN :input IS CASTABLE AS NUMERIC(7,2)
/* Wert ist konvertierbar */
THEN CAST :input AS NUMERIC(7,2)
/* Ersatzwert wird vereinbart */
ELSE -1
END
4
Copyright 2011 FUJITSU
SQL-Schnittstelle
 Erweiterung für CSV-Dateien in SQL Statements
 Ordinality in CSV-Tabellen
Beim Lesen aus einer CSV-Tabelle wird mit dem Zusatz with ordinality
die Ordnungszahl des gerade abgerufenen Satzes mitgeliefert.
Beispiel: Überlesen von N Überschriftszeilen in einer CSV-Datei
SELECT c1, c2, … cn
FROM TABLE (CSV(‘CSVFILE‘ DELIMITER ‘,‘ QUOTE '“‘ ESCAPE '-'
, CHAR(c1), CHAR(c2), … CHAR(cn) ))
WITH ORDINALITY
AS T (cc1, cc2, … ccn, counter)
WHERE counter > N
 Caching von CSV-Dateien
Mit der Annotation /*% CACHE %*/ wird das Ergebnis einer
TableFunction in eine temporäre Datei gespeichert, um parallelen Zugriff
auf die CSV-Datei zu ermöglichen.
 Dateien mit UTFE Codierung können als CSV-Dateien verwendet
werden.
5
Copyright 2011 FUJITSU
SQL-Schnittstelle
 Neue Funktionen zur Abfrage von Eigenschaften eines SQL
Statements:
CURRENT_CATALOG:
Default Datenbank
CURRENT_SCHEMA:
Default Schema
CURRENT_REFERENCED_CATALOG:
Datenbank, auf die sich die aktuelle Anweisung bezieht
CURRENT_ISOLATION_LEVEL:
Isolation Level der aktuellen Transaktion
6
Copyright 2011 FUJITSU
SQL-Schnittstelle
 Neue arithmetische Funktionen
 Numerische Funktionen:
ABS()
CEILING()
EXTRACT()
FLOOR()
MOD()
SIGN()
TRUNC()
Absolutwert eines numerischen Wertes
Aufrunden („Runden zur Decke“)
Bestandteile aus einem Zeitwert selektieren
Abrunden („Runden zum Boden“)
Rest einer Division zweier ganzer Zahlen
Vorzeichen eines numerischen Wertes
Ganzzahliger Anteil eines numerischen Wertes
 CASE Ausdruck:
MAX(a,b, …)
MIN(a,b, …)
Wert des größten Ausdrucks
Wert des kleinsten Ausdrucks
7
Copyright 2011 FUJITSU
SQL-Schnittstelle
 Unicode Unterstützung
 Normalize() bringt eine National Zeichenkette in eine normalisierte Form
• Normalize NFC (composed from) bildet alle Code Points, die zusammen ein
Zeichen ergeben, in den entsprechenden Code Point ab.
• Normalize NFD (decomposed form) zerlegt jedes zusammengesetzte Zeichen
in das Grundzeichen und die zugehörigen diakritischen Zeichen.
Beispiel:
A
NX‘0041‘
..
NX‘0308‘
Ä
NX‘00C4‘
(composed form)
NX‘00410308‘ (decomposed form)
 Collate liefert das Collation-Element (Sortierelement) gemäß Default
Unicode Collation Table (DUCET)
=> Damit ist auch Sortierung in anderen Sprachen möglich.
8
Copyright 2011 FUJITSU
JDBC Erweiterungen
 Neues Interface SQLXML
 Lesen von XML-Dokumenten aus SESAM Datenbanken
 Schreiben von XML-Dokumenten in SESAM Datenbanken
 Administration
 Auskunftsfunktion GetInfo Parameters liefert die aktuell gültigen
Parameter des SESAM DBAccess Servers
 UserId eines JDBC Vorgangs besteht aus Identifikation des benutzten
Clients und Servers zur besseren Identifikation eines JDBC Vorgangs
 Die ASCII EBCDIC Konvertierung zwischen Client und Server kann auch
gemäß dem CCSN der Datenbank erfolgen.
9
Copyright 2011 FUJITSU
Utility Funktionen
 Dynamische Änderung von Partitionsgrenzen mit
ALTER PARTITIONING FOR TABLE
 Hinzufügen einer Partition (ADD PARTITION)
 Löschen einer Partition (DROP PARTITION)
 Ändern einer Partitionsgrenze (ALTER PARTITION)
 Umwandeln einer nicht partitionierten Tabelle in eine partitionierte und
umgekehrt (ADD / DROP PARTITION)
 Fortschrittsanzeige ALTER PARTITIONING im SESAM Monitor
 Optionen bezüglich der betroffenen Datensätze:
• Betroffene Datensätze können dabei zwischen den Partitionen verschoben
werden (PRESERVE ROWS)
• Änderung der Partitionsgrenzen wird nur durchgeführt, wenn keine Sätze zu
verschieben sind (ONLY WHEN EMPTY)
• Betroffene Datensätze werden gelöscht (DELETE ROWS) ist nur bei DROP
PARTITION möglich
10
Copyright 2011 FUJITSU
Utility Funktionen
 Anonymisierung von personenbezogenen Daten zu
Testzwecken mit ALTER DATA FOR TABLE
 Vertauschung von Werten innerhalb der Spalte
=> Alle Werte bleiben erhalten
=> Häufigkeitsverteilung der Werte bleibt erhalten
=> Test der Applikation mit realen Werten möglich
 Gruppierung von Spalten möglich (z.B. Postleitzahl und Ortsname oder
Geschlecht und Vorname)
=> logische Zusammenhänge bleiben erhalten
=> Plausibilitätsprüfungen der Applikation weiterhin möglich
 Keine logische Datensicherung für Alter Data for Table
 Zwei Aufrufe für die gleiche Tabelle führen zu unterschiedlichen
Ergebnissen
11
Copyright 2011 FUJITSU
Utility Funktionen
 CSV Format bei Load und Unload
 Ähnlich wie DELIMITER Format, aber zusätzliche Angabe von QUOTEund ESCAPE-Zeichen möglich
 DELIMITER-Zeichen ist Trennzeichen zwischen Spaltenwerten
 QUOTE-Zeichen, in das Spaltenwerte eingeschlossen werden, die z.B.
DELIMITER-Zeichen oder NEWLINE-Zeichen enthalten
 ESCAPE-Zeichen zur Entwertung von DELIMITER-, QUOTE-, ESCAPEund NEWLINE-Zeichen im Spaltenwert
Vorteile:
 Datenaustausch mit anderen Programmen wird erleichtert
 Beschränkung der Satzlänge auf 32KB aufgehoben
 Kompatibel mit Tabellenfunktion CSV()
12
Copyright 2011 FUJITSU
Utility Funktionen
Erweiterung der Exceptiondatei bei UNLOAD
Werte, die nicht transliteriert oder konvertiert werden können,
führen zu einem Eintrag in die Exceptiondatei
Name der Ausgabedatei
Zeitpunkt der Ausführung
SQL-State
Zeilennummer der Ausgabedatei,
nach der der Satz einzuordnen wäre
Spaltenname
Wert in hexadezimal
Nummer des
prozessierten Satzes
13
Copyright 2011 FUJITSU
Hochverfügbarkeit
 Laden eines neuen Korrekturstands ohne
Betriebsunterbrechung des Database Handlers
 Applikationen warten bis DBH wieder betriebsbereit
 Einmalig im Datenbankbereich
 Realisiert mit neuer SESADM Anweisung RELOAD-DBH-SESSION
 Optional kann der Database Handler dabei neu parametrisiert werden
 Dynamische Rekonfiguration der DBH-Session
 Umstrukturierung des DBH Speichers (User-, System- und Cursor-Buffer)
und Anpassung von DBH-Optionen an geänderte Anforderungen, wie
z.B. Anzahl Spaces, Anzahl Columns, Anzahl Pläne und Anzahl Cursor
 Realisiert mit neuer SESADM Anweisung
RECONFIGURE-DBH-SESSION
14
Copyright 2011 FUJITSU
Administration
 Differenziertes Protokoll von Sperrsituationen
 View SYS_LOCK_CONFLICTS im SYS_INFO_SCHEMA zeigt die
letzten Sperrkonflikte an mit Details über:
• die die Sperre anfordernde Transaktion
• die die Sperre verursachende Transaktion
• das angeforderte Sperrobjekt
• das die Sperre verursachende Objekt
• Eigenschaften der Sperre
• Zeitpunkt des Sperrkonflikts
 Sperrsituationen werden intern in einem Umlaufpuffer gespeichert
 Ausgabe der letzten 1000 Sperrsituationen möglich
15
Copyright 2011 FUJITSU
Administration
 Verbesserte Unterstützung externer Kopierfunktionen
 Durch Erweiterung der SESADM Anweisung
PREPARE-FOREIGN-COPY um den Parameter CLOSE
 Damit werden Datenbankdateien logisch und physikalisch geschlossen
 Konsistenter Zustand der Datenbankdateien
=> Kopierfunktionen, die physikalisch geschlossene Dateien benötigen,
sind möglich, z.B. SNAPs
 Datenbankpuffer und Pläne bleiben erhalten
 Konsistenzprüfung beim Wiederöffnen der Datenbankdateien
16
Copyright 2011 FUJITSU
Administration
 SESADM Anweisung SHOW-SQL-DB-CATALOG-ENTRIES
 Zeitstempel in der Ausgabe des SQL-Datenbankverzeichnisses
 Dokumentation, wann der aktuelle Zustand festgestellt wurde
=> Bessere Analyse von Problemen beim Zugriff auf Datenbanken
 SDF-Anweisung STEP in SESADM Prozeduren möglich
 Bei syntaktischen oder einigen semantischen Fehlern wird zur nächsten
STEP Anweisung verzweigt
=> Verbessere Fehlerbehandlung in SESADM Prozeduren
17
Copyright 2011 FUJITSU
Nutzung neuer OSD-Funktionalität
 Maximale Datenbankdateigröße von 64 GB auf 4 TeraByte
erhöht
 Voraussetzung: Datenbankdateien liegen auf einem Pubset mit der
Eigenschaft LARGE FILES = *ALLOWED
 Existierende Datenbankdateien werden mit der Utility Anweisung
REORG SPACE in einen „Large Space“ migriert
 Neu erzeugte Datenbankdateien haben automatisch die Eigenschaft
„Large Space“
 SESAM/SQL unterstützt beide Typen sowohl bisherige
Datenbankdateien als auch „Large Spaces“
 Eine Datenbank kann sowohl Datenbankdateien des bisherigen Typs als
auch „Large Spaces“ enthalten
=> Vorteil: Schrittweise Migration möglich
18
Copyright 2011 FUJITSU
Nutzung neuer OSD-Funktionalität
 Nutzung der Mail-Funktionalität (SESAM/SQL-Server)
 Erweiterung der DBH-Option MSG-OUTPUT um den Parameter MAIL
 Ausgewählte Meldungen können sofort versandt werden (IMMEDIATE)
 Liste von maximal 100 MSG7 Meldungsschlüssel inklusive Wildcards
möglich
 DBH-Protokoll kann am Ende der Session versandt werden (COLLECT)
 Empfänger und Absender E-Mail Adresse frei wählbar
 Alle Parameter per SESADM Anweisung MODIFY-MAIL-PARAMETERS
änderbar
19
Copyright 2011 FUJITSU
Nutzung neuer OSD-Funktionalität
 Nutzung der Mail-Funktionalität (Service-Task)
 Erweiterung der DBH-Option SERVICE-TASKS um den Parameter MAIL
 Versand des Service-Task Protokolls wahlweise
• Immer
• Nur im Fehlerfall
• Nie
 Empfänger und Absender wie im DBH
 Alle Parameter per SESADM Anweisung MODIFY-SERVICE-TASKS
änderbar
 Nutzung der Mail-Funktionalität (SESADM)
 Ausgabeinformationen werden gesammelt und bei der nächsten
MODIFY-OUTPUT-MODE Anweisung als E-Mail gesendet
 Empfänger und Absender frei wählbar
20
Copyright 2011 FUJITSU
Copyright
2009
FUJITSU
TECHNOL
21
Copyright 2011 FUJITSU
Herunterladen