sexta-feira, 24 de fevereiro de 2012

Tablespace com autoextend=yes

Diversas vezes, rodo meu script de checagem de espaço e me deparo com o status CRITICAL em algumas tablespaces, isso ainda não é o fim do mundo, na maioria das vezes que isso acontece, essas tablespaces estão com o auto-crescimento ativado, isso não é a melhor prática para alguns, já é uma boa prática para outros. Como eu não estou aqui para dizer se essa ou aquela é a melhor prática, eu arrumei um jeito de me virar. Se houver apenas uma tablespace, fica fácil de ver, vc olha quantos datafiles a tablespace tem e o maxsize delas, se tiver com bastante espaço, vc pode ficar tranquilo, agora quando se tem 30 tablespaces, tende a ser mais demorado. Como nada se cria, tudo se copia e aprimora, aprimorei esse select capturado em algum ambiente por mim administrado.

Vejam

prompt - TABLESPACES DE DADOS-INDEXES E UNDO
SELECT I.TABLESPACE_NAME, SUM(I.BYTES)/1024/1024 SIZE_MB,
SUM(I.MAXBYTES)/1024/1024 MAX_MB,
SUM((I.MAXBYTES - I.BYTES))/1024/1024 FREE_MB,
DECODE(ROUND((SUM((I.MAXBYTES-I.BYTES))/SUM(I.BYTES))*100),'0','CRITICAL','1','CRITICAL','2','CRITICAL','3','CRITICAL','4','CRITICAL','5','WARNING','6','WARNING','7','WARNING','8','WARNING','9','WARNING','OK') AS STATUS
FROM DBA_DATA_FILES I
WHERE I.MAXBYTES <> 0
AND I.AUTOEXTENSIBLE = 'YES'
GROUP BY I.TABLESPACE_NAME
ORDER BY 1, 2;

PROMPT - TABLESPACES TEMP
SELECT TABLESPACE_NAME, SUM(BYTES)/1024/1024 SIZE_MB,
SUM(MAXBYTES)/1024/1024 MAX_MB,
SUM((MAXBYTES - BYTES))/1024/1024 FREE_MB,
DECODE(ROUND((SUM((MAXBYTES - BYTES))/SUM(BYTES))*100),'0','CRITICAL','1','CRITICAL','2','CRITICAL','3','CRITICAL','4','CRITICAL','5','WARNING','6','WARNING','7','WARNING','8','WARNING','9','WARNING','OK') AS STATUS
FROM DBA_TEMP_FILES
WHERE MAXBYTES <> 0
AND AUTOEXTENSIBLE = 'YES'
GROUP BY TABLESPACE_NAME
ORDER BY 1, 2;

Saída:

Nenhum comentário:

Postar um comentário