When you drop a table space, you delete all the data in
that table space, free the containers, remove the catalog entries,
and cause all objects defined in the table space to be either dropped
or marked as invalid.
About this task
You can reuse the containers in an empty table space by
dropping the table space, but you must commit the DROP TABLESPACE
statement before attempting to reuse the containers.
Note: You
cannot drop a table space without dropping all table spaces that are
associated with it. For example, if you have a table in one table
space and its index created in another table space, you must drop
both index and data table spaces in one DROP TABLESPACE statement.
Procedure
- Dropping user table spaces:
You can drop
a user table space that contains all of the table data including index
and LOB data within that single user table space. You can also drop
a user table space that might have tables spanned across several table
spaces. That is, you might have table data in one table space, indexes
in another, and any LOBs in a third table space. You must drop all
three table spaces at the same time in a single statement. All of
the table spaces that contain tables that are spanned must be part
of this single statement or the drop request fails.
The
following SQL statement drops the table space ACCOUNTING:
DROP TABLESPACE ACCOUNTING
- Dropping user temporary table spaces:
You can drop a user temporary table space only
if there are no declared or created temporary tables currently defined
in that table space. When you drop the table space, no attempt is
made to drop all of the declared or created temporary tables in the
table space.
Note: A declared or created temporary
table is implicitly dropped when the application that declared it
disconnects from the database.
- Dropping system temporary table spaces:
You
cannot drop a system temporary table space that has a page size of
4 KB without first creating another system temporary table space.
The new system temporary table space must have a page size of 4 KB
because the database must always have at least one system temporary
table space that has a page size of 4 KB. For example, if you have
a single system temporary table space with a page size of 4 KB, and
you want to add a container to it, and it is an SMS table space, you
must first add a new 4 KB page size system temporary table space with
the proper number of containers, and then drop the old system temporary
table space. (If you are using DMS, you can add a container without
needing to drop and re-create the table space.)
The default
table space page size is the page size that the database was created
with (which is 4 KB by default, but can also be 8 KB, 16 KB, or 32
KB).
- To create a system temporary table space, issue the
statement:
CREATE SYSTEM TEMPORARY TABLESPACE name
MANAGED BY SYSTEM USING ('directories')
- Then, to drop a system table space using the command
line, enter:
- The following SQL statement creates a system temporary
table space called TEMPSPACE2:
CREATE SYSTEM TEMPORARY TABLESPACE TEMPSPACE2
MANAGED BY SYSTEM USING ('d:\systemp2')
- After TEMPSPACE2 is created, you can drop the original
system temporary table space TEMPSPACE1 with the statement:
DROP TABLESPACE TEMPSPACE1