Conde Bond Post

Sólo existe un tipo de conocimiento, aquel que se transmite.

Administration tips ~ Shrinking tablespaces…

I found this command that I have managed to integrate it into a sql script to resolve a question of how to shrink tablespaces in the database in case of trouble, which recently, has been raised on linkedin:

  cmd       varchar2(200);
  cnt       number(5):=0;
  mdf       number(5):=5; -- Put here your minimum tbs size values
  for c in ( 
            select 'alter database datafile '''||file_name||''' resize '||ceil( (nvl(hwm,1)*8192)/1024/1024 )||'m;' cmd
              from dba_data_files a,
                   ( select file_id, max(block_id+blocks-1) hwm from dba_extents group by file_id ) b
             where a.file_id = b.file_id(+)
               and (SUBSTR(a.tablespace_name,1,4)='TBS_' and ceil( (nvl(hwm,1)*8192)/1024/1024 ) > mdf ) -- filters tbs_name, minimum space
               and ceil( blocks*8192/1024/1024) -ceil( (nvl(hwm,1)*8192)/1024/1024 ) > 0                 -- and put your own tbs filter clause
  ) loop
    execute immediate cmd ;
--    dbms_output.put_line(cmd);   --uncomment for tracking purpose
  end loop;
  dbms_output.put_line(cnt||' datafiles shrinked....');
  when others then

I hope to find soon the link to add to this post.
I hope it’s useful.


Una respuesta a “Administration tips ~ Shrinking tablespaces…

  1. Joy Terreros 10 septiembre 2013 en 11:56 pm

    Hola.. excelente blog, solo tengo una pequeña duda.. como puedo determinar cual es valor adecuado para la variable ” mdf “


Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de

Estás comentando usando tu cuenta de Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: