O Banco de Dados Oracle preenche repentinamente o dispositivo de armazenamento em aproximadamente 20 minutos

3

Minha instância do Oracle no RDS da Amazon preencheu um armazenamento de 20 GB no espaço de cerca de 20 minutos. Eu verifiquei todos os aplicativos que usam esse banco de dados e nada parece fora do comum - não consigo descobrir por que isso teria acontecido.

Veja o gráfico do CloudWatch:

Comovocêpodever,euaumenteioarmazenamentopara25GB,esperandopoder"soltar algo" - mas, obviamente, tudo o que fiz foi aumentar meu espaço livre em 5 GB.

Esta instância executa um aplicativo web de tráfego muito baixo e você pode ver que o espaço livre ficou muito estável com o uso. 20 GB deve ser mais que suficiente para este sistema. O que está acontecendo?

Alguma dica de como eu posso descobrir o que está ocupando todo o espaço?

Editar: Algumas estatísticas que consegui obter do DB:

SELECT 
( SELECT SUM(BYTES)/1024/1024/1024 DATA_SIZE FROM DBA_DATA_FILES ) +
( SELECT NVL(SUM(BYTES),0)/1024/1024/1024 TEMP_SIZE FROM DBA_TEMP_FILES ) +
( SELECT SUM(BYTES)/1024/1024/1024 REDO_SIZE FROM SYS.V_$LOG ) +
( SELECT SUM(BLOCK_SIZE*FILE_SIZE_BLKS)/1024/1024/1024 CONTROLFILE_SIZE FROM V$CONTROLFILE) "Size in GB"
FROM
DUAL;

Produz:

Size in GB
------------------
19.360321044921875

E usando um processo de eliminação, descobri que é DBA_TEMP_FILES que ocupa 18 dos 19 GB.

O que há em DBA_TEMP_FILES? Como posso eliminá-los?

    
por wwarren 10.03.2014 / 18:59

1 resposta

4

OK, redimensionei meu tablespace TEMP e parece que ele resolveu meu problema.

Aqui está o comando que eu executei:

ALTER TABLESPACE TEMP SHRINK SPACE KEEP 512M;

Parece ter resolvido o problema (o tamanho do DB passou de 19 GB para 2 GB), mas ainda não entendi porque isso teria ocorrido em um ambiente tão pequeno.

Adicionamos alguns alarmes do CloudWatch para que eu possa pular sobre isso antes da próxima vez (se houver uma próxima vez).

    
por 10.03.2014 / 19:40