GPO ( Grupo de Profissionais Oracle )
A maior comunidade Oracle do Brasil !

MONITORAR TABLESPACES

Para você gerenciar tablespace de forma eficiente é necessário fazer:

1) Apenas 1 datafile com AUTOEXTEND

2) Apenas esse datafile irá ser monitorado. Quanto de espaço ainda tem?

-- MONITORACAO 1
-- =============
--
-- ALERTA AS TABLESPACES QUE TEM MAIS DE UM 
-- DATAFILE COM AUTOEXTEND %%%%% > 1 -- SELECT TABLESPACE_NAME, COUNT (*) FROM DBA_DATA_FILES where AUTOEXTENSIBLE ='YES' HAVING COUNT (*)>1 GROUP BY TABLESPACE_NAME union SELECT TABLESPACE_NAME, COUNT (*) FROM DBA_temp_FILES where AUTOEXTENSIBLE ='YES' HAVING COUNT (*)>1 GROUP BY TABLESPACE_NAME /

Irá aparecer todas as tablespaces que tem mais de um datafile com autoextend

Cria um alarme.

Solução = deixar apenas o ultimo datafile com autoextend.

-- MONITORACAO 2
-- =============
--
-- ALERTA AS TABLESPACES QUE NÃO ESTÃO COM AUTOEXTEND
--
select '-1964' from dual
union
(SELECT TABLESPACE_NAME
FROM DBA_DATA_FILES
MINUS
SELECT DISTINCT TABLESPACE_NAME
FROM DBA_DATA_FILES
WHERE AUTOEXTENSIBLE ='YES')
UNION
(SELECT TABLESPACE_NAME
FROM DBA_TEMP_FILES
MINUS
SELECT DISTINCT TABLESPACE_NAME
FROM DBA_TEMP_FILES
WHERE AUTOEXTENSIBLE ='YES')
/

Cria um alarme para o resultado <> -1964

-- MONITORACAO 3
-- =============
-- ALERTA PARA O ESPAÇO -- CRITICO (VERMELHO) > 90%
--
SELECT a.BYTES/1024/1024,a.MAXBYTES/1024/1024,
       round(((a.MAXBYTES/a.BYTES)-1)*100,0) "%",
       a.TABLESPACE_NAME,
       a.file_name,
       ROUND (a.INCREMENT_BY*b.BLOCK_SIZE/1024/1024,0) "AUTOEXTEND MB"
FROM DBA_DATA_FILES a, dba_tablespaces b
where a.AUTOEXTENSIBLE ='YES'
and   a.tablespace_name(+)=b.tablespace_name
AND ((a.MAXBYTES/a.BYTES)-1)*100 <10
/

Alerta critico

falta pouco para chegar ao maxsize

tem que criar um novo datafile e colocar o anterior com autoextend off

-- MONITORACAO 4
-- =============
-- ALERTA PARA ESPAÇO - NÃO CRITICO (AMARELO) >80%

SELECT a.BYTES/1024/1024,
       a.MAXBYTES/1024/1024,
       round(((a.MAXBYTES/a.BYTES)-1)*100,0) "%",
       a.TABLESPACE_NAME,
       a.file_name,
       ROUND (a.INCREMENT_BY*b.BLOCK_SIZE/1024/1024,0) "AUTOEXTEND MB"
FROM DBA_DATA_FILES a, dba_tablespaces b
where a.AUTOEXTENSIBLE ='YES'
and   a.tablespace_name(+)=b.tablespace_name
AND ((a.MAXBYTES/a.BYTES)-1)*100 <20
/

Alerta esta a caminho do critico

falta pouco para chegar ao maxsize

tem que criar um novo datafile e colocar o anterior com autoextend off

Grato a todos

Share

You may also like...

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *