De que se trata o artigo

Este artigo trata da definição de conceitos e administração de tablespaces e datafiles no banco de dados Oracle.


Para que serve

Auxiliar os DBAs nas tarefas do dia-a-dia referentes a administração de tablespaces e datafiles evitando assim eventuais problemas de espaço alocado para o banco de dados.


Em que situação o tema é útil

No banco de dados Oracle é necessário alocar espaços no sistema operacional para o armazenamento dos dados inseridos nas tabelas e índices. Esta alocação de espaços no sistema é feita através de tablespaces e datafiles. Garantir o espaço livre para o crescimento das tabelas e índices é responsabilidade do DBA e alguns scripts podem ajudar bastante nesta tarefa.

Resumo DevMan

Tablespace é um termo em língua inglesa que designa uma sub-divisão lógica de um banco de dados utilizada para agrupar estruturas lógicas relacionadas. As tablespaces apenas especificam a localização de armazenamento do banco de dados e são armazenadas fisicamente em datafiles, que alocam imediatamente o espaço especificado na sua criação.

Dados! Esta é a palavra chave quando se fala em banco de dados. Toda a tarefa do DBA está pautada em garantir a integridade e disponibilidade dos dados.

Mas não se pode esquecer que, além de garantir que os dados estejam disponíveis e íntegros no momento em que forem solicitados, é de extrema importância garantir que novos dados possam ser armazenados e permaneçam disponíveis/íntegros. É um ciclo interminável na vida de todo DBA.

Esta tarefa de gerenciamento do espaço alocado/disponível para o crescimento das tabelas e índices está pautada diretamente no gerenciamento físico e lógico das áreas de armazenamento do banco de dados, que é feita através das tablespaces (armazenamento lógico) e dos datafiles (armazenamento físico).

Neste artigo apresentaremos alguns scripts bastante úteis para que o DBA execute esta tarefa do dia-a-dia de uma maneira bastante tranquila e segura. Boa Leitura.

Conceito de Tablespace

Tablespace é uma estrutura lógica do banco de dados Oracle para o armazenamento dos segmentos. São considerados segmentos os objetos Oracle que “ocupam” espaço, como por exemplo as tabelas e índices.

Pode-se (e recomenda-se) criar várias tablespaces para “separar” de maneira lógica diferentes segmentos, até mesmo em função de ganho de desempenho do banco de dados. Uma divisão clássica é a criação de uma tablespace para armazenar os segmentos de tabelas e outra tablespace para armazenar os segmentos de índices.

Fisicamente, no nível do sistema operacional, o armazenamento é feito através de datafiles, que são arquivos de sistema operacional com tamanhos definidos e que podem ser “vistos” no sistema operacional através de comandos simples como “ls -l” (UNIX) ou “dir” (MS-Windows).

Desta forma, para fazer a devida relação entre as estruturas lógica (tablespaces) e física (datafiles), cada tablespace é formada por um ou mais datafiles porém, cada datafile pode “servir” a uma e somente uma tablespace. A Figura 1 mostra o esquema geral destas estruturas física e lógica.


Figura 1. Estruturas física e lógica de armazenamento do banco de dados Oracle.

Perceba, na Figura 1, que é perfeitamente possível armazenar diferentes segmentos (tabelas e índices) na mesma tablespace, porém por questões de boas práticas, não é recomendado. Veja também que a tablespace é composta por dois datafiles e que cada datafile ...

Quer ler esse conteúdo completo? Tenha acesso completo