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:
Faça o download do roteiro neste link
Gerenciar o espaço nas tablespaces é uma responsabilidade fundamental para qualquer DBA. Ao adicionar um datafile, é necessário considerar alguns aspectos cruciais:
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;
É 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;
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%';
Para verificar se o banco de dados está utilizando OMF:
SHOW PARAMETER db_create_file_dest;
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;
Para adicionar um datafile em uma tablespace que utiliza OMF:
ALTER TABLESPACE ts_omf ADD DATAFILE SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE 1G;
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;
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;
ALTER TABLESPACE ts_asm ADD DATAFILE SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE 1G;
Adicionando datafiles é uma tarefa crucial para a manutenção do banco de dados. É essencial:
Monitore e gerencie com atenção, garantindo a integridade e o desempenho do seu banco de dados Oracle!