landpage-mrdba-2-copy-01PE

EFICIÊNCIA, SEGURANÇA E CONFIABILIDADE

Garanta a Integridade do Banco de Dados da sua Empresa com um, ESPECIALISTA DBA

Adicionando datafiles em tablespaces no Oracle

Neste artigo, vamos abordar os passos necessários para adicionar um datafile em um banco de dados Oracle. O conteúdo está estruturado da seguinte forma:

  • Conceito Geral
  • Criando uma Estrutura de Testes
  • Verificando a Ocupação das Tablespaces
  • Buscando Mais Informações sobre a Tablespace
  • Verificando se o Banco Usa OMF
  • Verificando Espaço no ASM
  • Adicionando um Datafile, Usando OMF (File System)
  • Adicionando um Datafile, Sem OMF (File System)
  • Adicionando um Datafile (ASM)
  • Conclusão

Download do Roteiro

Faça o download do roteiro neste link

 Conceito Geral

Gerenciar o espaço nas tablespaces é uma responsabilidade fundamental para qualquer DBA. Ao adicionar um datafile, é necessário considerar alguns aspectos cruciais:

  • OMF (Oracle Managed Files): Verifique se o banco de dados está configurado para utilizar OMF.
  • Localização dos Arquivos de Dados: Certifique-se de que os datafiles estão sendo armazenados corretamente, seja no ASM ou em um sistema de arquivos.
  • Espaço no Local de Destino: Confirme que há espaço suficiente no local onde o datafile será armazenado.
  • Tipo de Tablespace: Entenda se a tablespace é do tipo Smallfile ou Bigfile, pois isso pode influenciar o processo de adição de datafiles.

Criando uma Estrutura de Testes

Antes de realizar qualquer operação em um ambiente de produção, é sempre recomendado criar uma estrutura de testes:

Tablespace com OMF:

				
					CREATE TABLESPACE ts_omf DATAFILE SIZE 10M AUTOEXTEND ON NEXT 10M MAXSIZE 1G;

				
			

Tablespace sem OMF:

				
					CREATE TABLESPACE ts_semomf
DATAFILE '/u02/oradata/ORCL/datafile/ts_semomf_1.dbf' 
SIZE 10M;

				
			

Tablespace ASM:

				
					CREATE TABLESPACE ts_asm DATAFILE '+DATA' SIZE 10M AUTOEXTEND ON NEXT 10M MAXSIZE 1G;

				
			

Verificando a Ocupação das Tablespaces

É importante monitorar constantemente a ocupação das suas tablespaces para evitar problemas de espaço:

				
					SELECT
    tablespace_name,
    round(SUM(bytes) / 1024 / 1024, 1) AS "TAMANHO_MB",
    round(SUM(maxbytes) / 1024 / 1024, 1) AS "MAXIMO_MB",
    round((SUM(maxbytes) - SUM(bytes)) / 1024 / 1024, 1) AS "LIVRE_MB", 
    count(1) AS "TOT_FILES"
FROM
    dba_data_files
GROUP BY tablespace_name
ORDER BY tablespace_name;

				
			

Buscando Mais Informações sobre a Tablespace

Para tomar decisões informadas, é necessário buscar mais detalhes sobre as tablespaces envolvidas:

				
					SELECT
    tablespace_name,
    bigfile
FROM
    dba_tablespaces
ORDER BY tablespace_name;

				
			
				
					COL FILE_NAME FORM A60
SELECT file_name FROM dba_data_files WHERE tablespace_name LIKE 'TS%';

				
			

Verificando se o Banco Usa OMF

Para verificar se o banco de dados está utilizando OMF:

				
					SHOW PARAMETER db_create_file_dest;

				
			

Verificando Espaço no File System

Antes de adicionar um datafile, é essencial garantir que há espaço disponível no sistema de arquivos:

				
					df -h /u02

				
			

Verificando Espaço no ASM

Se o banco de dados utiliza ASM, utilize a seguinte consulta para verificar o espaço disponível:

				
					SELECT
    name,
    round(total_mb / 1024, 1) size_gb,
    round(free_mb / 1024, 1) free_gb,
    round((total_mb - free_mb) / 1024, 1) ocupation_gb,
    round((total_mb - free_mb) / total_mb * 100, 2) "OCUPATION %"
FROM
    v$asm_diskgroup;

				
			

Adicionando um Datafile, Usando OMF (File System)

Para adicionar um datafile em uma tablespace que utiliza OMF: 

				
					ALTER TABLESPACE ts_omf ADD DATAFILE SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE 1G;

				
			

Adicionando um Datafile, Sem OMF (File System)

Caso o banco não utilize OMF, você pode especificar o caminho do arquivo manualmente:

				
					ALTER TABLESPACE ts_omf ADD DATAFILE '/u02/oradata/ORCL/datafile/ts_semomf_a_1' SIZE 100M;

				
			

Adicionando um Datafile (ASM)

Para adicionar um datafile em uma tablespace que utiliza ASM, siga um dos métodos abaixo:

  • Especificando o Disk Group:

				
					ALTER TABLESPACE ts_asm ADD DATAFILE '+DATA' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE 1G;

				
			
  • Sem Especificar o Disk Group:
				
					ALTER TABLESPACE ts_asm ADD DATAFILE SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE 1G;

				
			

Conclusão

Adicionando datafiles é uma tarefa crucial para a manutenção do banco de dados. É essencial:

  • Monitorar o Espaço: Mantenha um controle regular do espaço disponível em suas tablespaces.
  • Verificar o Espaço no Destino: Certifique-se de que há espaço suficiente no local de destino dos datafiles.
  • Cuidados ao Especificar Caminhos: Sempre especifique os caminhos dos datafiles com precisão, principalmente em ambientes que não utilizam OMF.
 

Monitore e gerencie com atenção, garantindo a integridade e o desempenho do seu banco de dados Oracle!

Mr. DBA @ 2023 – Todos os direitos reservados