Oracle – Administrando a Tablespace

Administrando a Tablespace

A tablespace é responsável por determinar a localização de armazenamento lógico do banco de dados, onde são armazenadas fisicamente em datafiles (arquivos de dados), que por sua vez alocam um espaço determinado no momento de sua criação. System é a primeira tablespace que o banco de dados Oracle cria.

Consultar quanto de espaço livre e utilizado do ASM

select name, round(total_mb/1024) total_gb, round(free_mb/1024) free_gb from v$ASM_DISKGROUP;

Verificar o espaço livre na tablespace (supondo que o nome da tablespace seja KLW_REL01)

select tablespace_name, round(sum(bytes/1024/1024/1024)) FREE_GB from SYS.DBA_FREE_SPACE where tablespace_name = 'KLW_REL01' group by tablespace_name;

Verificar tamanho da tablespace

select tablespace_name, round(sum(bytes/1024/1024/1024)) GB from dba_segments where tablespace_name = 'KLW_REL01' group by tablespace_name ;

Verificar o tamanho atual do datafile e maxsize

select file_name, bytes/1024/1024/1024 SIZE_GB, maxbytes/1024/1024/1024 MAXBYTE_GB from dba_data_files where tablespace_name = 'KLW_REL01' order by 2;

Alterar o tamanho do datafile

alter database datafile '+DG_DATA1/kvm/datafile/klw_rela01.1830.912484273' resize 30G;

Criando nova datafile

alter tablespace KLW_REL01 add datafile '+DG_DATA1' size 1G autoextend on next 512M maxsize 30G;

Consultar quanto já fora utilizado da tablespace

select tablespace_name
      ,used_percent
from   dba_tablespace_usage_metrics
where  tablespace_name = 'KLW_REL01';

Para consultar o percentual de utilização do tablespace

select tablespace_name
      ,used_percent
from   dba_tablespace_usage_metrics
where  used_percent > 90;