Oracle 11g Express Edition: Neue Datenbank erstellen
Die Oracle Database Express Edition 11g Release 2, kurz XE, ist die Oracle-Datenbank für den Heimgebrauch. Sie ist verfügbar für Windows (32bit) und Linux (64bit) und bietet mit 11 GB Platz für die Daten genug Platz für die Verwaltung der heimischen DVD-Sammlung.
Die Installation läuft deutlich einfacher als bei einer „normalen“ Datenbank und es wird auch direkt eine Datenbank angelegt. Die SID ist „XE“ und mit der Express Edition ist auch nur eine Datenbank-Instanz pro Rechner erlaubt. Diese „Default-Datenbank“ erfüllt aber nicht unbedingt alle Wünsche, die man als erfahrener DBA an eine Datenbank hat. Option 1 ist es, die Datenbank entsprechend umzukonfigurieren, Dateien zu verschieben usw. Das kann mühselig sein. Option 2, nämlich die Datenbank einfach neu anzulegen, ist da die einfachere Variante.
Oracle bietet dazu auch ein Skript an, nämlich createdb.ksh im Verzeichnis /u01/app/oracle/product/11.2.0/xe/bin/ (auf Linux).
oracle@ubuntu:~/product/11.2.0/xe/bin/ [XE] ./createdb.sh -help
Usage: createdb {-shiploc | -force | -dbchar us7ascii | -help}
-shiploc create database in shipping location
-force silently overwrite database
-dbchar specify the database character set
-filedir full path to create the database file in, default /u01/app/oracle/product/11.2.0/xe/dbs
-logdir full path where the log files will be generated, default /u01/app/oracle/product/11.2.0/xe/log
-help this help
Damit ist es dann sehr einfach, eine Datenbank nach dem eigenen Geschmack einzurichten. Mit am wichtigsten ist dabei sicher, die Datenbank- und Log-Dateien in die passende Verzeichnisse abzulegen. Man sieht aber auch, dass im Gegensatz zu Aussage von Oracle, dass die XE in Version 11.2 nur AL32UTF8 als Zeichensatz zulässt, falsch ist. Andere Zeichensätze sind problemlos möglich.
Wenn man übrigens bei der XE probiert, mit dem Parameter DB_CACHE_SIZE eine Mindestgröße des Buffer-Caches festzulegen, erhält man die Fehlermeldung
„ORA-47500: XE edition memory parameter invalid or not specified“. Die Parameter DB_CACHE_SIZE und USE_INDIRECT_BUFFERS sind nämlich bei der XE nicht unterstützt.
Last but not least, ein Hinweis zu DataPump mit XE 11.2. Dort bekommt man beim Export die Fehlermeldungen
ORA-39006: internal error
ORA-39213: Metadata processing is not available
Die Lösung für dieses Problem steht im Oracle-Forum:
Das Verzeichnis $ORACLE_HOME/rdbms/xml/xsl wurde in der XE-Edition „vergessen“. Wenn man das Verzeichnis aus einer anderen 11.2-Installation kopiert und anschließend als SYS „execute dbms_metadata_util.load_stylesheets“ ausführt, dann funktioniert DataPump.