Oracle資料庫使用空間統計案例

jackson198574發表於2014-05-24
  

在一個災備專案中,需要統計一下資料庫空間佔用情況。

DB2的相關操作詳情解釋請看:DB2資料庫空間使用率統計案例 

自己總結了一些Oracle相關的統計語句如下:


檢視資料庫大小:
select to_char(sysdate,'yyyymmdd') tjsj, dbsize||'GB' dbsize,(dbsize - freesize)||'GB' usedsize, (dbsize - freesize - indexsize)||'GB' tablesize,indexsize||'GB' indexsize from (select round(sum(bytes)/1024/1024/1024) as dbsize from dba_data_files),(select round(sum(bytes)/1024/1024/1024) as freesize from dba_free_space),(select round(sum(bytes)/1024/1024/1024) as indexsize from dba_segments where segment_type like '%INDEX%');

檢視資料表總量:
select 'TABLE',sum(1) from user_objects where object_type='TABLE';


檢視重做日誌大小:
select group#, bytes, status from v$log;   
   
檢視歸檔日誌大小:
select sum(a.BLOCK_SIZE*a.BLOCKS)/1024/1024 MB from v$archived_log a where a.DELETED='NO';


檢視追加日誌:
select supplemental_log_data_min from v$database;


檢視歸檔日誌大小及使用情況:  
select * from v$recovery_file_dest  

示例:  
SQL> select * from v$recovery_file_dest;  
  
NAME  SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES  
----------- ---------- ----------------- ---------------  
/u03/fast_recovery_area  8589934592 6551817216    
  
   
SQL> select * from v$flash_recovery_area_usage;  
  
FILE_TYPE    PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE  NUMBER_OF_FILES  
------------ ------------------ -------------------------  ---------------  




CONTROL FILE           0                         0            0  
            
  
REDO LOG             1.83                        0            3  
            
  
ARCHIVED LOG         74.44                       0            159 
             
如果 ARCHIVED LOG 超過90% oracle隨時有當機的危險,為了避免因為空間滿導致的當即問題,可以考慮增加歸檔日誌存放空間的方案,  
  
增大歸檔日誌空間語句:  
SQL> alter system set db_recovery_file_dest_size=30G;               ------------增加的空間應根據現有的可用空間和歷史增長率去估計。
System altered.  

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20802110/viewspace-1168827/,如需轉載,請註明出處,否則將追究法律責任。

相關文章