Administrando Tablespace e Data File no Oracle

Script para identificar o espaço total, utilizado e livre de cada data file.

 

por Darci Leandro

 

Olá pessoal,

 

Uma das principais tarefas de um DBA é saber administrar bem os tablespace e seus data files.

Se o DBA não souber administrar com eficiência os tablespace, poderão ocorrer sérios problemas, pois, os data files poderão chegar ao seu limite máximo definido e com isso o banco de dados pode “parar”.

Existem várias formas de você administrar os tablespace, desde as ferramentas que a Oracle disponibiliza como ferramentas gráficas de terceiros e principalmente através de linha de comando.

Muitas vezes estamos fazendo tarefas nos servidores e pode não existir ferramenta gráfica instalada e nesse caso precisamos utilizar linha de comando.

Segue agora um script e logo na seqüência um relatório que será gerado por esse script.

Com ele você poderá analisar cada tablespace e seus data files.

 

Script

spool c:\temp\resultado.log

set pagesize 80

set linesize 95

set feedback off

set heading on

set numformat 999,999.99

column tablespacename format a15

column datafile format a40

 

ttitle center "Espaco total, utilizado e livre de cada Data File por Tablespace" skip 2

break on tablespacename skip 2 on report skip 3

 

compute sum of Total(MB) on tablespacename

compute sum of Used(MB)  on tablespacename

compute sum of Free(MB)  on tablespacename

compute sum of Total(MB) on report

compute sum of Used(MB)  on report

compute sum of Free(MB)  on report

 

select   ddf.tablespace_name "TablespaceName"

         , ddf.file_name "DataFile"

         , ddf.bytes/(1024*1024) "Total(MB)"

         , round((ddf.bytes - sum(nvl(dfs.bytes,0)))/(1024*1024),1) "Used(MB)"

         , round(sum(nvl(dfs.bytes,0))/(1024*1024),1) "Free(MB)"

from   sys.dba_free_space dfs left join sys.dba_data_files ddf

on      dfs.file_id = ddf.file_id

group by ddf.tablespace_name, ddf.file_name, ddf.bytes

order by ddf.tablespace_name, ddf.file_name;

 

ttitle off

spool off

 

 

Relatório de saída

 

                Espaco total, utilizado e livre de cada Data File por Tablespace              

                                                                                              

TablespaceName  DataFile                                             Total(MB)    Used(MB)    Free(MB)  

--------------- ---------------------------------------- ----------- ----------- -----------  

DLTECNOLOGIA    C:\TEMP\DLTECNOLOGIA_01.DBF              28.00         .10      127.90  

                C:\TEMP\DLTECNOLOGIA_02.DBF                      64.00         .10       63.90   

                C:\TEMP\DLTECNOLOGIA_03.DBF                      32.00         .10       31.90  

***************                                             ----------- ----------- -----------  

sum                                                                            224.00         .30      223.70  

                                                                                              

                                                                                              

SYSAUX          C:\ORACLEXE\ORADATA\XE\SYSAUX.DBF             450.00      430.80       19.30  

***************                                          ----------- ----------- -----------  

sum                                                                    450.00      430.80       19.30   

                                                                                              

                                                                                              

SYSTEM          C:\ORACLEXE\ORADATA\XE\SYSTEM.DBF             340.00      335.30        4.70  

***************                                          ----------- ----------- -----------  

sum                                                                      340.00      335.30        4.70  

                                                                                               

                                                                                              

UNDO            C:\ORACLEXE\ORADATA\XE\UNDO.DBF                90.00       12.70       77.30   

***************                                          ----------- ----------- -----------  

sum                                                            90.00       12.70       77.30  

                                                                                               

                                                                                              

USERS           C:\ORACLEXE\ORADATA\XE\USERS.DBF    100.00        1.60       98.40  

***************                                          ----------- ----------- -----------  

sum                                                                      100.00        1.60       98.40  

                                                                                               

                                                                     ----------- ----------- -----------  

sum                                                                  1,204.00      780.70      423.40

 

 

Conclusão

Analisando o relatório de saída conseguimos identificar quais são os arquivos que estão chegando ao seu limite, os arquivos que estão sobrando espaço e até mesmo a possibilidade fazer uma melhor distribuição dos arquivos em discos diferentes visando o aumento de performance de I/O.

 

Boa sorte a todos e até a próxima...