1、檢視各資料檔案的使用情況,sql語句如下:
select
d.file_name,d.file_id,
round(d.total_size_gb) total_size_gb,
round(f.free_size_gb) free_size_gb,
round(((d.total_size_gb - f.free_size_gb)/d.total_size_gb) * 100) used_space_pct
from
(select
file_name,file_id,
sum(bytes)/1024/1024/1024 total_size_gb
from
dba_data_files
group by file_name,file_id
) dleft join
(select
file_id,tablespace_name,
sum(bytes)/1024/1024/1024 free_size_gb
from
dba_free_space
group by file_id,tablespace_name
) fon d.file_id = f.file_id
/*where f.tablespace_name='dprp_data'*/
order by used_space_pct asc;
查詢結果字段說明:
file_name :資料檔案在伺服器上的路徑及位置
file_id : 資料庫檔案的id號
total_size_gb: 資料檔案的大小
free_size_gb:資料檔案的空餘大小
used_space_pct:資料檔案的使用量
如上圖,file_id字段值未30的資料檔案,實際大小20g,還有13g空餘的,,只使用了20-13=7g,使用量為32%,,為了節約伺服器的磁碟空間,我們可以將資料檔案縮小到10g,10-7=3,多流出3g的空間,防止資料檔案內容增加的時候沒有剩餘空間,給它剩餘3g的空間,使用如下的sql:
alter database datafile 30 resize 10g; //執行縮小的語句
請看:
Oracle 清理歸檔檔案
1 使用sysdba使用者登入檢視archive log 存放位置 2 一般value為空時,可以用archive log list 檢查一下歸檔目錄和log sequence 3 檢查flash recovery area的使用情況,可以看見archivelog已經很大了,達到102.21 4 計...
oracle資料清理日誌
背景 公司生產資料庫伺服器表空間free不足,整個空間32個g,92 的空間被5 的表給佔了 這幾張大表中大部分都是歷史資料,實際可用資料只需6個月內即可,每張表有2000萬左右的資料,檢索效率較低 為了節省空間,提供表的檢索效率,所以考慮對這幾張大表進行歷史資料清理 方案 1 利用凌晨0 00到5...
oracle歸檔日誌清理
rman清除方式會自動清除磁碟上的歸檔日誌檔案,同時會釋放控制檔案中對應的歸檔日誌的歸檔資訊。list expired archivelog all 列出所有失效的歸檔日誌 delete archivelog until sequence 16 刪除log sequence為16及16之前的所有歸檔...