Aumentando tablespaces no Oracle em um servidor Oracle Linux
novembro 5, 2012
Todo o procedimento naturalmente será feito via Putty
1 – Primeiramente Vamos verificar quais tablespaces estão precisando de um upgrade no seu espaço
1.1 – Ajustar a variavel para o banco que iremos trabalhar, no nosso exemplo dbora1
- ORACLE_SID=dbora1
1.2 – Acessar o SQLPLUS
- sqlplus /nolog
- connect as sysdba
- sys
- password
1.3 – Colar todo script abaixo para exibir todas as tablespaces do nosso banco
SELECT /* + RULE */ df.tablespace_name “Tablespace”,
df.bytes / (1024 * 1024) “Size (MB)”,
SUM(fs.bytes) / (1024 * 1024) “Free (MB)”,
Nvl(Round(SUM(fs.bytes) * 100 / df.bytes),1) “% Free”,
Round((df.bytes – SUM(fs.bytes)) * 100 / df.bytes) “% Used”
FROM dba_free_space fs,
(SELECT tablespace_name,SUM(bytes) bytes
FROM dba_data_files
GROUP BY tablespace_name) df
WHERE fs.tablespace_name (+) = df.tablespace_name
GROUP BY df.tablespace_name,df.bytes
UNION ALL
SELECT /* + RULE */ df.tablespace_name tspace,
fs.bytes / (1024 * 1024),
SUM(df.bytes_free) / (1024 * 1024),
Nvl(Round((SUM(fs.bytes) – df.bytes_used) * 100 / fs.bytes), 1),
Round((SUM(fs.bytes) – df.bytes_free) * 100 / fs.bytes)
FROM dba_temp_files fs,
(SELECT tablespace_name,bytes_free,bytes_used
FROM v$temp_space_header
GROUP BY tablespace_name,bytes_free,bytes_used) df
WHERE fs.tablespace_name (+) = df.tablespace_name
GROUP BY df.tablespace_name,fs.bytes,df.bytes_free,df.bytes_used
ORDER BY 4 DESC;
vamos suporte que nossa tablespace tbls_1 esteja apenas com 1% livre
2 – Agora Vamos aumentar nossa tablespace para 750 Mega;
2.1 – Sair do sqlplus
2.2 – Ainda pelo putty vamos localizar o caminho fisico da nossa tablespace:
- locate tbls_1.dbf
2.3 – Novamente entrar no sqlplus a exemplo do passo 1.2
2.4 – Finalmente aumentando nossa tablespace
- alter database datafile ‘/home/u01/app/oracle/oradata/databasename/tbls_1.dbf’ resize 750m;
obs: usei m pq estou definindo o tamanho em mega, mas poderia usar g para giga 😉