問題3:怎樣計算Oracle數據庫總的空間大小

目的:計算oracle數據庫總的空間大小

1.  計算數據文件的大小

SQL> select sum(bytes)/(1024*1024) "Size In MB" from dba_data_files;

Size In MB

----------

       960

2.  計算臨時文件的大小

SQL> select sum(bytes)/(1024*1024) "Size In MB" from dba_temp_files;

Size In MB

----------

    20

3.  計算日誌文件的大小即 redo 的大小

SQL> select sum(bytes)/(1024*1024) "Size In MB" from v$log;

Size In MB

----------

       200

4.  計算數據文件中已經被使用的空間的大小即數據庫中已經使用的空間

SQL> select sum(bytes)/(1024*1024) "Size In MB" from dba_segments;

Size In MB

----------

   796.875

5. 計算數據庫的總的空間大小即數據文件、臨時文件、日誌文件、控制文件大小的總和

/***********************************************************************/

selecta.data_size+b.temp_size+c.redo_size+d.cont_size "total_size"

from ( select sum(bytes)data_size

from dba_data_files ) a,

( select nvl(sum(bytes),0)temp_size

from dba_temp_files ) b,

( select sum(bytes) redo_size

from sys.v_$logfile lf,sys.v_$log l

where lf.group# = l.group#)c,

( selectsum(block_size*file_size_blks) cont_size

from v$controlfile ) d;

/***********************************************************************/

SQL DEVELOPER 中返回的結果如下:

SQL*PLUS 中返回的結果如下:

SQL> selecta.data_size+b.temp_size+c.redo_size+d.cont_size "Total_Size" from(select sum(bytes) data_size from dba_data_files) a,(select nvl(sum(bytes),0) temp_sizefrom dba_temp_files) b,(select sum(bytes) redo_size from sys.v$logfilelf,sys.v$log l where lf.group#=l.group#) c,(selectsum(block_size*file_size_blks) cont_size from v$controlfile) d;

Total_Size

----------

1468170240

 --END--

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章