Oracle Tablespace

Tablespace é uma sub-divisão lógica de um banco de dados utilizado 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.

Existe um relacionamento “um para muitos” entre os bancos e as tablespaces e um relacionamento “um para muitos” entre as tablespaces e os datafiles. A qualquer momento um datafile pode ser incluído em uma tablespace e os datafiles existentes podem ser estendidos. Um banco de dados pode ter vários usuários, cada qual com seu esquema, que nada mais é do que uma coleção lógica de objetos de banco de dados, como tabelas e índices. Por sua vez, esses objetos referem-se às estruturas físicas dos dados, que são armazenados nas tablespaces.

Tablespace no Oracle

O Oracle divide um banco de dados em uma ou mais unidades de armazenamento lógico chamadas de espaços de tabela. Cada espaço de tabela consiste em um ou mais arquivos chamados arquivos de dados. Um arquivo de dados armazena fisicamente os objetos de dados do banco de dados, como tabelas e índices em disco.

Em outras palavras, o Oracle armazena logicamente dados nos espaços de tabela e fisicamente armazena dados nos arquivos de dados associados aos espaços de tabela correspondentes.

A figura a seguir ilustra o relacionamento entre um banco de dados, espaços de tabela e arquivos de dados:

Oracle tablespace

Usando espaços de tabela, você pode executar as seguintes operações:

  • Controle o tamanho do armazenamento alocado para os dados do banco de dados;
  • Conceda cotas de espaço específicas aos usuários do banco de dados;
  • Controle a disponibilidade dos dados, colocando os espaços de tabela online ou offline (mais sobre isso posteriormente);
  • Melhore o desempenho do banco de dados alocando armazenamento de dados entre dispositivos;
  • Execute backup ou recuperação parcial do banco de dados.

Tablespace padrão no Oracle

O Oracle é fornecido com os seguintes espaços de tabela padrão: SYSTEM, SYSAUX, USERS, UNDOTBS1 e TEMP.

Os espaços de tabela SYSTEM e SYSAUX armazenam objetos gerados pelo sistema, como tabelas do dicionário de dados. E você não deve armazenar nenhum objeto nesses espaços de tabela.

O espaço de tabela USERS é útil para usuários ad-hoc. O UNDOTBS1 mantém os dados de desfazer.

O TEMP é o espaço de tabela temporário que é usado para armazenar resultados intermediários de operações de classificação, hash e processamento de objetos grandes.

Espaços de tabela online e offline

Um espaço de tabela pode estar online ou offline. Se um espaço de tabela estiver offline, você não poderá acessar os dados armazenados nele. Por outro lado, se um espaço de tabela estiver online, seus dados estarão disponíveis para leitura e gravação.

Observe que o espaço de tabela SYSTEM deve estar sempre online, pois contém o dicionário de dados que deve estar disponível para o Oracle.

Normalmente, um espaço de tabela está online para que seus dados estejam disponíveis para os usuários. No entanto, você pode colocar um espaço de tabela offline para tornar os dados inacessíveis aos usuários ao atualizar e manter os aplicativos.

No caso de alguns erros, como falhas de hardware, o Oracle coloca automaticamente um espaço de tabela online offline. Qualquer tentativa de acessar dados no espaço de tabela offline resultará em um erro.

Espaços de tabela somente leitura

Os espaços de tabela somente leitura permitem que o Oracle evite executar backup e recuperação de grandes partes estáticas de um banco de dados. Como o Oracle não atualiza os arquivos de um espaço de tabela somente leitura, você pode armazenar os arquivos na mídia somente leitura.

O Oracle permite remover objetos como tabelas e índices de um espaço de tabela somente leitura. No entanto, ele não permite criar ou alterar objetos em um espaço de tabela somente leitura.

Quando você cria um novo espaço de tabela, ele está no modo de leitura e gravação. Para alterar um espaço de tabela para espaço de tabela somente leitura, use o comando ALTER TABLESPACE com a opção READ ONLY.

Gostou? Para ler mais sobre Oracle, CLIQUE AQUI!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima