Tablespaces erstellen

Applikations- und Benutzerdaten sollten immer in eigenen Tablespaces gespeichert werden. Darum erstelle ich jetzt einen Tablespace für meine Daten.

Hier übernimmt Oracle den grossen Teile der Tablespaceverwaltung:

oracle@tux01:~$ sqlplus system/system-passwort << EOF
CREATE TABLESPACE USERDATA
  LOGGING
  DATAFILE '/oracle/oradata/DB01/USERDATA01.dbf'
    SIZE 256M REUSE
  AUTOEXTEND ON NEXT 64M MAXSIZE 1024M EXTENT MANAGEMENT LOCAL
  SEGMENT SPACE MANAGEMENT AUTO
EOF

Wenn man selber mehr steuern möchte oder einen Tablespace für LOBs benötigt, kann dies sinnvoll sein:

oracle@tux01:~$ sqlplus system/system-passwort << EOF
CREATE TABLESPACE USERDATA
  DATAFILE '/oracle/oradata/DB01/USERDATA01.dbf'
    SIZE 256M REUSE
  AUTOEXTEND ON NEXT 64M MAXSIZE 1024M
  EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K;
EOF

Hier ist zu beachten, dass die UNIFORM SIZE passend gewählt wird. Platz für Tabellen wird nur in ganzen Vielfachen der UNIFORM SIZE alloziert. Das heisst jede Tabelle im Tablespace USERDATA braucht mindestens 512kB. Werden im Tablespace viele kleine Tabellen erzeugt, so muss dieser Wert kleiner gewählt werden, werden wenige grosse Tabellen erzeugt wählt man die UNIFORM SIZE grösser.



Urs Stotz 2005-09-01