LOBS und Oracle
Da habe ich vorhin ein LOB-Table angelegt und dachte es wäre alles gut. War es aber nicht. Trotz einem halben GB “geINSERTeter” Daten wollte der Tablsespace so gar nicht voll werden.
Ein flockiges
CREATE TABLE BLOB_TABLE
(
ZEITPUNKT DATE,
DESCRIPTION VARCHAR2(30 BYTE),
DATEI BLOB
)
TABLESPACE MYSPACE
heisst noch lange nicht, das die Dateien, die in “DATEI” abgelegt werden auch auf den Tablespace “MYSPACE” geschrieben werden. Nein nein … Hier mag es die DB gerne etwas genauer, der Zusatz
LOB (DATEI) STORE AS (TABLESPACE MYSPACE)
wirkt hier nämlich ware Wunder. Ohne diesen legt die olle DB das Ding die BLOBs (und nur diese) im Default-Tablespace ab. Das kann zu Vewirrungen führen, muss es aber nicht (in meinem Falle schon). Ist das Kind in den Brunnen gefallen, sprich man hat die Tabelle schon befuellt und stellt das Desaster hinterher fest, hilft folgendes:
ALTER TABLE BLOB_TABLE
MOVE LOB(DATEI) STORE AS (TABLESPACE MYSPACE)
Hier gilt allerdings: Genügend Zeit, Kaffee usw. mitbringen, je nach Tabellengröße kann das dauern (muss es aber nicht) 😉