RAID-Technologie verspricht höhere Performance und mehr Sicherheit beim permanenten Speichern von Daten. Die ADMIN-Redaktion gibt einen Überblick über ... (mehr)

Maximale Datentyplänge

In der Oracle-Dokumentation wird oft davon geredet, dass der Datentyp »CHAR« die Länge 2000 Zeichen hat und »VARCHAR2« 4000 Zeichen fasst. Das ist aber nicht richtig, denn die maximale Länge wird in Byte gerechnet, das heißt ein »VARCHAR2« -Feld kann maximal 4000 Byte lang werden.

CREATE TABLE status (
statusid CHAR(1 CHAR),
beschreibung VARCHAR2(4000 CHAR));

In diesem Fall ist also die Längensemantik falsch, da das Feld »BESCHREIBUNG« tatsächlich nur 4000 Byte lang sein kann (trotzdem lässt Oracle die unter Umständen irreführende Definition zu). Wenn jetzt dieses Feld bis zum letzten Zeichen gefüllt ist und Umlaute oder Sonderzeichen enthält, die im Unicode länger als ein Byte sind, dann muss die Konvertierung fehlschlagen. Stattdessen muss der Anwender den Datentyp in »LONG« oder besser »CLOB« ändern. Die Definition der Tabelle sieht dann für das obige Beispiel so aus:

CREATE TABLE status (
statusid CHAR(1 CHAR),
beschreibung CLOB)
LOB (beschreibung) STORE AS (
 ENABLE STORAGE IN ROW);

Standardtypen statt National Characters

Wenn in der Datenbank nur gelegentlich spezielle Zeichen, wie Arabisch oder Kanji abzuspeichern sind, kann man auch die sogenannten National Language Datentypen (»NCHAR« , »NVARCHAR2« oder »NCLOB« ) benutzen. Durch die generelle Umstellung der Datenbank auf Unicode entfällt diese Notwendigkeit und die »N« -Datentypen lassem sich wieder in "normale" Datentypen umwandeln. Dafür passt man einfach den »CREATE« -Befehls der entsprechenden Tabelle an.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019