Space management is one of those DBA topics that looks simple until production runs out of room. Tablespaces, data files, temp, undo, and autoextend all matter when the pressure is on.
This post is part of the DBApreneur starter series. The goal is to explain the topic in plain language, then give you practical checks or examples you can use in real work.
What a tablespace really is
A tablespace is a logical storage container. Tables and indexes live in segments, segments live in tablespaces, and tablespaces are backed by data files. This separation helps DBAs manage storage without thinking about every block manually.
First checks to run
Start with DBA_TABLESPACES, DBA_DATA_FILES, DBA_FREE_SPACE, and DBA_TEMP_FREE_SPACE. Look at total size, free space, autoextend settings, and max size. Do not look only at percent used; also check how many MB or GB remain.
SQLPlus example
SELECT tablespace_name, status, contents
FROM dba_tablespaces
ORDER BY tablespace_name;
SELECT tablespace_name, file_name, autoextensible, bytes/1024/1024 size_mb
FROM dba_data_files
ORDER BY tablespace_name, file_id;
Production habit
Set alerts before space is critical. A tablespace at 90 percent may be safe if it has plenty of autoextend headroom, or dangerous if the disk is nearly full. Always connect database space to storage space.
Practical checklist
- Start with the problem you are trying to solve.
- Confirm the environment and version before applying any command.
- Test in a lab or lower environment first.
- Keep notes of what changed and why.
- Review performance, security, and rollback impact before production.
Final thought
Good engineering is rarely about memorizing commands. It is about understanding the shape of the system, asking better questions, and making changes that are boring in production. That is the kind of DBA work this series is trying to encourage.