Conde Bond Post

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

Oracle – Eines d’Administració: Guanyar espai en la base de dades


De vegades, ens trobem amb la necessitat d’haver de guanyar espai en la base de dades i no disposar d’emmagatzematge addicional. Aquesta escrit executat com SYSDBA ens serà útil en aquest escenari:

declare
   srchString     VARCHAR2(20):='&1';
   stmts          VARCHAR2(300);
begin
   if srchString is not null then 
      for df in (
                  select a.tablespace_name ts,a.file_name fn,ceil((nvl(hwm,1)*8192)/1024/1024 )sz
                    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 (a.tablespace_name like '%'||upper(srchString)||'%' 
                     and  a.tablespace_name NOT IN (select distinct tablespace_name from dba_temp_files ))
                     and  ceil( blocks*8192/1024/1024) -ceil( (nvl(hwm,1)*8192)/1024/1024 ) > 0

                 ) loop
                   if df.sz > 5 then
                      begin
                        dbms_output.put_line('Altering Tablespace '||df.ts||' resizing datafile'||df.fn);
                        execute immediate 'alter database datafile '''||df.fn ||''' resize '||df.sz||'m';
                      exception
                        when others then
                             dbms_output.put_line('Error modifying tablespace '||df.ts);
                             dbms_output.put_line(substr(SQLErrm,1,200));
                             null;
                      end;
                   end if;
       end loop;
    end if;   
exception
  when others then
      dbms_output.put_line(substr(SQLErrm,1,200));                   
end;
/

NOTA: En aquest cas s’usa una cadena de caràcters per cercar els tablespaces i s’ha establert un mínim de 5 MB d’espai.

Responder

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

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. 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: