segunda-feira, 11 de julho de 2011

Oracle - Query que mostra o tamanhos das Tablespaces

Query que mostra a lista de tablespace, espaço utilizado, espaço livre, espaço total e percentual livre:


SELECT
   DF.TABLESPACE_NAME                                  "TABLESPACE",
   (DF.TOTALSPACE - FS.FREESPACE)              "USED MB",
   FS.FREESPACE                                                      "FREE MB",
   DF.TOTALSPACE                                                  "TOTAL MB",
   ROUND(100 * (FS.FREESPACE / DF.TOTALSPACE)) "PCT. FREE"
FROM
   (SELECT
      TABLESPACE_NAME,
      ROUND(SUM(BYTES) / 1048576) TOTALSPACE
   FROM DBA_DATA_FILES
   GROUP BY
      TABLESPACE_NAME
   ) DF,
   (SELECT
      TABLESPACE_NAME,
      ROUND(SUM(BYTES) / 1048576) FREESPACE
   FROM DBA_FREE_SPACE
   GROUP BY
      TABLESPACE_NAME
   ) FS
WHERE
   DF.TABLESPACE_NAME = FS.TABLESPACE_NAME(+)
   --AND DF.TABLESPACE_NAME = 'RUN_DATA'
   --AND FS.TABLESPACE_NAME = 'RUN_DATA'
;

Query cedida pelo amigo Cesar Toschi.

Oracle - Query que mostra quais são as maiores tabelas

Query que seleciona a lista das maiores tabelas. Pode-se filtrar por owner.


SELECT * FROM DBA_TABLES
WHERE TABLESPACE_NAME = 'RUN_DATA'
AND BLOCKS IS NOT NULL
ORDER BY BLOCKS DESC;

Oracle - Matar uma sessão

Para matar uma sessão no Oracle:


1) Select que mostra as sessoes do user NOME
select * from V$SESSION
where username = 'NOME';

2) Selecionar os campos SID e SERIAL# da sessão que deseja matar
SID = 208
SERIAL# = 26195

3) Executar o comando abaixo:
Alter system kill session '208,26195';