在管理軟件應用中,常常會出現數據庫空間滿了的問題,導致管理軟件不效能出現問題或者甚至不能使用。當這種情況出現了該怎么辦呢?下面就介紹下方法
方法/步驟如下所示:
1.查詢用戶對應的表空間,我們可以看到針對不同的數據庫用戶Oracle
select username, default_tablespace, temporary_tablespacefrom dba_users;
2.查詢用戶的對應的數據文件,以及數據文件大小
select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_spacefrom dba_data_filesorder by tablespace_name;
3.根據1.2 用戶對應的表空間,以及表空間的大小,可以在通過下述語句查看目前使用百分比,如果所用空間不再下述查詢范圍內,則證明此空間已經滿了,沒有剩余量的空間在下面的SQL中沒有展示,我們可以看到有一個空間已經到了95%
SELECT a.tablespace_name "表空間名",total "表空間大小",free "表空間剩余大小",(total - free) "表空間使用大小",total / (1024 * 1024 * 1024) "表空間大小(G)",free / (1024 * 1024 * 1024) "表空間剩余大小(G)",(total - free) / (1024 * 1024 * 1024) "表空間使用大小(G)",round((total - free) / total, 4) * 100 "使用率 %"FROM (SELECT tablespace_name, SUM(bytes) freeFROM dba_free_spaceGROUP BY tablespace_name) a,(SELECT tablespace_name, SUM(bytes) totalFROM dba_data_filesGROUP BY tablespace_name) bWHERE a.tablespace_name = b.tablespace_name ;
4.此時我們執行空間擴增語句。把剛才使用率95%空間從1800M擴增到3000M
alter database datafile '/u2/oracle/PLM_SD_data' resize 3000m
擴增成功后如下圖所示
5.此時在執行空間使用率查詢語句得出如下的結果,可以看到空間擴增成功。
6.最后我們在通過SQL語句查詢一下空間是不是變成了3000M
當然為了防止空間不夠,導致異常,還可以設置空間自動延展。但是本人不太建議使用此功能,因為有可能導致空間的無限蔓延。
總結
以上所述是小編給大家介紹的Oracle數據庫空間滿了進行空間擴展的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!
新聞熱點
疑難解答