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