How to create separate tablespaces in Oracle XE

oracleoraclexe

Creating separate tablespaces is possible in expensive versions of Oracle, but I can't seem to find a way to do so with the free version Oracle XE.

The administration interface just has a "View tablespaces" button, where I can see four tablespaces, SYSAUX, SYSTEM, UNDO, and USERS where all of my data seems to reside.

Is it a limitation of Oracle XE?
Or did I overlook something?

Best Answer

If you create a new APEX workspace it should offer to create it in a new tablespace. Alternatively, fire up SQL*Plus (called the Command Line Interface in XE) and use the CREATE TABLESPACE command.

That said, given the 4GB limit, for a home install I resize the USERS tablespace to the maximum and just use that. Too annoying having reached the 4GB max and having space available in tablespace_a and not being able to expand tablespace_b when you want it there.

In theory you can shrink tablespace_a but that only works if the free space is at the end and not at the start or in the middle.