在管理軟件應(yīng)用中,常常會出現(xiàn)數(shù)據(jù)庫空間滿了的問題,導(dǎo)致管理軟件不效能出現(xiàn)問題或者甚至不能使用。當(dāng)這種情況出現(xiàn)了該怎么辦呢?下面就介紹下方法
方法/步驟如下所示:
1.查詢用戶對應(yīng)的表空間,我們可以看到針對不同的數(shù)據(jù)庫用戶Oracle
select username, default_tablespace, temporary_tablespace
from dba_users;
2.查詢用戶的對應(yīng)的數(shù)據(jù)文件,以及數(shù)據(jù)文件大小
select tablespace_name, file_id, file_name,
round(bytes/(1024*1024),0) total_space
from dba_data_files
order by tablespace_name;
3.根據(jù)1.2 用戶對應(yīng)的表空間,以及表空間的大小,可以在通過下述語句查看目前使用百分比,如果所用空間不再下述查詢范圍內(nèi),則證明此空間已經(jīng)滿了,沒有剩余量的空間在下面的SQL中沒有展示,我們可以看到有一個空間已經(jīng)到了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) free
FROM dba_free_space
GROUP BY tablespace_name) a,
(SELECT tablespace_name, SUM(bytes) total
FROM dba_data_files
GROUP BY tablespace_name) b
WHERE a.tablespace_name = b.tablespace_name ;
4.此時我們執(zhí)行空間擴(kuò)增語句。把剛才使用率95%空間從1800M擴(kuò)增到3000M
alter database datafile '/u2/oracle/PLM_SD_data' resize 3000m
擴(kuò)增成功后如下圖所示
5.此時在執(zhí)行空間使用率查詢語句得出如下的結(jié)果,可以看到空間擴(kuò)增成功。
6.最后我們在通過SQL語句查詢一下空間是不是變成了3000M
當(dāng)然為了防止空間不夠,導(dǎo)致異常,還可以設(shè)置空間自動延展。但是本人不太建議使用此功能,因?yàn)橛锌赡軐?dǎo)致空間的無限蔓延。
總結(jié)
以上所述是小編給大家介紹的Oracle數(shù)據(jù)庫空間滿了進(jìn)行空間擴(kuò)展的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
您可能感興趣的文章:- 在Linux系統(tǒng)上同時監(jiān)控多個Oracle數(shù)據(jù)庫表空間的方法
- Oracle數(shù)據(jù)庫中表空間的基本管理操作小結(jié)
- ORACLE數(shù)據(jù)庫空間整理心得
- Oracle數(shù)據(jù)庫的空間管理技巧