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.