Tablespace
Published: 2023-11-14 00:48:25

**Conceito:**
Neste artigo apresentaremos as tablespaces que são objetos na linguagem SQL em que podem ser manipuladas por Data Definition Language (DDL). Uma tablespace é uma estrutura de armazenamento que se comportam como subdivisões de um Banco de dados, é nela em que as estruturas de dados são armazenadas. São como um grande espaço em que arquivos de dados são armazenados, nesses os segmentos são organizados, então funcionam como: Tablespaces > Datafiles > Segmentos.
Os segmentos marcam as divisões do banco de dados organizando-o, utilizam extensões como espaço de armazenamento próprio e podem pertencer a uma ou mais datafiles. Já os datafiles são estruturas físicas (sendo as tablespaces lógicas) que dependem do sistema operacional em que o Oracle é executado e que armazenam os conteúdos das tablespaces. Um datafile só pertence a uma tablespace, mas uma tablespace podem conter muitos datafiles.
Dentro desses segmentos, dessas tabelas armazenadas dentro das tablespaces, são encontrados dados que são armazenados de forma aleatória, para manipulá-los com mais agilidade e organização são utilizados índices.

**Tipos de Tablespaces geradas automaticamente:**
Se tratando de Oracle já possuímos algumas tablespaces já criadas: System (obrigatória e crítica, pois se tarta da tablespace de sistema, ou seja, onde são armazenadas as informações do gerenciamento do próprio banco de dados), Sysaux (antes sua função era atribuída à System, mas como auxiliar se trata das funcionalidades do Oracle armazenadas.), Temp (onde resultados intermediários são armazenados, por se tratar de uma tablespace temporária), Users (própria para usuários e toda a informação que não possui classificação), Undo (onde as informações desfeitas são armazenadas e são capazes de serem recuperadas).

**Manipulação de Tablespace (DDL):**
Toda a manipulação de tablespaces é realizada por scritps com o uso de comandos DDL (Data Definition Language, como nos exemplos comuns a seguir:

- Criação de tablespace (comando CREATE):
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r4a5bs6llaz9rd0y34kn.png)

- Alteração de tablespace (comando ALTER):
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kmigx5vdnno9cd4xq7he.png)

- Visualização de tabela de uma tablespace (Comando SELECT):
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9st9rvj8wwtztqspf1sk.png)

- Exclusão de tablespace e seus conteúdos (comando DROP):
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w6r9lij3ourmz6z3xvz5.png)

**Vantagens X Desvantagens:**
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fzc6y60izs2qo21m6qqk.png)


**Aplicação:**
Uma forma simples para os Administradores de Banco de Dados (DBA) melhorarem o desempenho e conseguirem gerir melhor o banco de dados é com o uso das tablespaces. É possível usar no momento de definição do espaço usado no disco, organizar os dados e de que forma serão armazenados, tudo garantindo um bom desempenho durante as transações.

**Conclusão:**
Em suma, os tablespaces representam unidades lógicas de armazenamento que protegem os dados agrupados dentro de tabelas que são armazenadas dentro de datafiles. As tablespaces definem o tamanho do bloco Oracle. Eles organizam os dados de forma que seja fácil geri-los.

**Fontes:**

- https://www.oracle.com/br/technical-resources/articles/tablespaces-concept-introduction.html
- https://www.devmedia.com.br/tablespace-estrutura-de-armazenamento-de-dados-oracle/29173
- https://www.webmundi.com/banco-de-dados/oracle/criacao-de-tablespaces-e-datafiles-no-oracle/
- https://www.ibm.com/docs/pt-br/acoustic-campaign?topic=contacts-what-is-segmentation