Pesquisar neste blog

quinta-feira, 12 de fevereiro de 2009

Oracle - O que fazer quando a tablespace estiver muito grande

QUANDO A TABLESPACE TEMP ESTIVER MUITO GRANDE

Temos um problema quando deixamos nosso tablespace com tamanho ilimitado, pois o mesmo começará a crescer, muitas vezes até acabar com o espaço em disco do servidor, o tablespace não diminui de tamanho. Então qual é a solução? Bom a solução é remover o tablespace atual com tamanho ilimitado e criar um novo efetuando limitações de tamanho.

Vou mostrar-lhes os passos para efetuar esse procedimento abaixo:

-- CRIA UMA NOVA TABLESPACE TEMPORARIA
-- NESSE EXEMPLO CRIA UM ARQUIVO DE 50M QUE PODE CHEGAR A 2GB (maxsize)

CREATE TEMPORARY TABLESPACE temporaria
TEMPFILE 'temporaria01.dbf' SIZE 50M REUSE AUTOEXTEND ON NEXT 50M MAXSIZE 2000M

EXTENT MANAGEMENT LOCAL;

-- ALTERA A NOVA TEMP PARA SER DEFAULT

ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temporaria;

-- EXCLUI TEMP ANTIGA

DROP TABLESPACE temp INCLUDING CONTENTS AND DATAFILES;


################################################
# SELECT PARA VERIFICAR TAMANHO DA TEMP
################################################
SELECT tablespace_name,
file_name,
bytes/(1024*1024) tamanho_MB,
maxbytes/(1024*1024) maximo_MB,
STATUS
FROM dba_temp_files
ORDER BY tablespace_name, file_name;

Um comentário:

Jeronimo Zucco disse...

Olá, Marcos. Sobre esse assunto, talvez você se interesse por um plugin que fiz para o nagios:

http://jczucco.blogspot.com/2008/07/nagios-plugin-checkoracletablespaces.html


Abraço e parabéns pelo excelente blog.