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 ...